a74e72cce9
Make Boost.Function compile under BOOST_NO_EXCEPTIONS.
...
Fixes #2499
Fixes #2494
Fixes #2469
Fixes #2466
[SVN r51745]
2009-03-13 05:49:02 +00:00
6f8ec5c8c5
Implement an optimization that David Abrahams and myself came up with,
...
where Boost.Function uses a bit in the vtable pointer to indicate when
the target function object has a trivial copy constructor, trivial
destructor, and fits within the small object buffer. In this case, we
just copy the bits of the function object rather than performing an
indirect call to the manager.
This results in a 60% speedup on a micro-benchmark that copies and
calls such function objects repeatedly.
[SVN r51743]
2009-03-13 05:23:53 +00:00
821e6d34dd
Fix -Wundef warning and suspect usage of BOOST_STRICT_CONFIG.
...
[SVN r50064]
2008-12-02 10:10:46 +00:00
07800455a8
Both Sun and Pgi on Linux correctly put typeinfo into the std
...
namespace, but function_base keys off the
BOOST_NO_EXCEPTION_STD_NAMESPACE macro instead of the
BOOST_NO_STD_TYPEINFO macro. The attached patch changes
function_base to use the typeinfo macro. Because eVC 4.2 doesn't
put typeinfo into the std namespace, I need to define
BOOST_NO_STD_TYPEINFO only for this eVC version.
[SVN r49571]
2008-11-03 18:37:49 +00:00
8ca7384121
Fix Boost.Function thread safety issue again
...
[SVN r49326]
2008-10-14 15:31:57 +00:00
75890fea53
CodeGear C++ fix, from Nicola Musatti. Fixes #2325
...
[SVN r48922]
2008-09-23 00:26:21 +00:00
2fe4cc253f
Fix double-destruction problem with small function objects and swap(), and try to work around a GCC 4.2 issue. See #1910 for comments about the former problem from Niels Dekker.
...
[SVN r48627]
2008-09-06 03:16:25 +00:00
f379ef8532
Make Boost.Function's target() operation respect the cv-qualifiers of referenced function objects. Fixes #736
...
[SVN r48618]
2008-09-05 17:52:12 +00:00
ea18f5777b
Add Boost.Typeof support to Boost.Function. Fixes #1621
...
[SVN r48616]
2008-09-05 16:13:49 +00:00
d5a86a2d52
Improve the performance of Boost.Function's swap. Thanks to Niels Dekker for the original patch. Fixes #1910
...
[SVN r48615]
2008-09-05 15:43:22 +00:00
e3dfa7268a
Add forward-declaration header for Boost.Function. Fixes #1668
...
[SVN r48613]
2008-09-05 14:55:34 +00:00
bacb5d6752
Attempt to work around problem with allocator casts in Boost.Function
...
[SVN r46446]
2008-06-17 13:59:04 +00:00
fe2d04e954
Change <functional> include so that it still works when Boost.TR1 is in the include path.
...
[SVN r44506]
2008-04-17 15:49:39 +00:00
0936dbdd03
Add missing include for is_void
...
[SVN r44030]
2008-04-04 12:26:53 +00:00
adb7b0a214
Change Boost.Function allocator behavior, from Emil Dotchevski
...
[SVN r43884]
2008-03-27 19:44:37 +00:00
cead36cd5b
Disable more Visual C++ warnings in Function headers. Fixes #1416
...
[SVN r41798]
2007-12-06 18:39:06 +00:00
2378ba59e7
Fix for Borland compilers.
...
[SVN r39657]
2007-10-02 17:41:35 +00:00
53b95c386d
Finalizes the fix to Bug #1260 , making vtable_base an actual POD type (oops)
...
and playing more nicely with reinterpret_cast (thanks to Brad King for the
fixes).
[SVN r39285]
2007-09-14 21:05:46 +00:00
3312c7ffcd
function_template.hpp:
...
- Pass-by-reference internally, when we can. Fixes #1067
[SVN r39244]
2007-09-13 19:06:53 +00:00
de27ae9697
function/function_base.hpp, function/function_template.hpp:
...
- Switch from dynamic initialization of the vtable pointer to static
initialization (Fixes #1260 )
- Handle member pointers properly, only using mem_fn within the invoker
to deal with all of the messy bits of calling member pointers
[SVN r39240]
2007-09-13 17:38:58 +00:00
a7b9940f15
Handle GCC's -fno-exceptions properly. Fixes #1198
...
[SVN r39061]
2007-08-29 19:06:11 +00:00
e4f165a4e8
Disable MSVC warning about native code generation. Fixes #1163
...
[SVN r39060]
2007-08-29 18:59:16 +00:00
80a3f47099
Committed patch to eliminate warnings with GCC's -Wundef. Fixes #1197
...
[SVN r38827]
2007-08-21 15:35:19 +00:00
5c514ebe35
Try to work around EC++4 bug
...
[SVN r37471]
2007-04-18 12:13:53 +00:00
64c8d10fa8
Eliminate MSVC 8.0 warning
...
[SVN r35588]
2006-10-13 14:29:56 +00:00
a2a810d2c1
Put back #include <functional> in case functionN.hpp is used directly
...
[SVN r34519]
2006-07-12 22:12:01 +00:00
d84481361f
TR1 cyclic dependency fixes.
...
[SVN r34499]
2006-07-10 13:17:41 +00:00
872f12efee
TR1 conformance: derive from unary_function/binary_function
...
[SVN r34481]
2006-07-08 18:07:33 +00:00
69ee6e2375
Fixed an 'unused parameter' warning.
...
[SVN r33204]
2006-03-02 21:24:57 +00:00
87ad11583c
Use ~Functor instead of ~function_type always, since it makes Borland
...
and vc6 and who knows what else happy.
[SVN r32832]
2006-02-11 19:08:25 +00:00
9fe1351ab7
Workaround for Borland compilers, from Alistair
...
[SVN r32394]
2006-01-24 13:57:25 +00:00
58b61efb5f
trivial adjustments to enable warning-free compilation with gcc -Wall -W -Werror
...
[SVN r32364]
2006-01-20 16:53:30 +00:00
f195b6c10a
Fixes for GCC 2.95.3
...
[SVN r32319]
2006-01-13 19:32:58 +00:00
2b4f81ca67
Workaround for GCC 2.95.3
...
[SVN r32302]
2006-01-13 02:45:33 +00:00
1f51812589
EDG 238 compatibility (and potentially other compilers)
...
[SVN r32294]
2006-01-12 15:31:46 +00:00
78f6b385d5
Small buffer optimization for Boost.Function
...
[SVN r32282]
2006-01-10 23:52:35 +00:00
93c691fbdf
function_base.hpp, function_template.hpp:
...
- Use a vtable instead of separate manager/invoker pointers, to shrink the
size of a boost::function object to 8 bytes
- Fix a problem with NULL member pointers
[SVN r32186]
2005-12-30 02:31:51 +00:00
6023ff5608
Workaround for a problem in Wave.
...
[SVN r32094]
2005-12-18 21:06:32 +00:00
35e2ff56a0
Large patch from Ulrich Eckhardt to fix support for EVC++ 4.
...
[SVN r30670]
2005-08-25 16:27:28 +00:00
b5b12295c2
Try to work around Borland parsing bug
...
[SVN r30645]
2005-08-24 14:12:03 +00:00
eea010ef80
Fully-qualify detail namespace accesses to work around compiler bugs
...
[SVN r30627]
2005-08-22 12:55:34 +00:00
795964f63d
bind_function_test added.
...
[SVN r27721]
2005-03-17 12:09:35 +00:00
dc61dc6dc8
Fix for Borland, from Tobias Schwinger
...
[SVN r26886]
2005-01-28 07:04:32 +00:00
e2a7fea741
Workarounds for CW 9.2, from Reece Dunn
...
[SVN r26583]
2004-12-26 22:05:19 +00:00
e14e57a678
Fix BOOST_NO_VOID_RETURNS workaround
...
[SVN r26518]
2004-12-15 21:40:30 +00:00
c9d7858ff0
Remove tabs in file.
...
[SVN r24040]
2004-07-25 15:53:20 +00:00
520ee97c82
Doug Gregor -> Douglas Gregor
...
[SVN r24016]
2004-07-25 02:29:29 +00:00
e4f632e5ca
function_template.hpp: Move definition of operator() out-of-line for
...
any compiler that isn't VC++ 6.0 (Vladimir Prus)
[SVN r23436]
2004-07-11 03:09:35 +00:00
5b4dc38727
boost/function/function_base.hpp:
...
- Work around a GCC <= 3.3 bug where the return type of a function template
that cannot possibly match is instantiated when it should not be, causing
errors in the use of operator==. This results in slightly reduced
functionality.
libs/function/test/contains_test.cpp:
- Don't test that which GCC cannot now handle
[SVN r23170]
2004-06-23 16:00:01 +00:00
22fd23b00f
function_template.hpp, function_base.hpp:
...
- Comparison operators are now written in terms of function_base so that
implicit conversions to function<...> or functionN<...> don't allow
arbitrary comparisons.
[SVN r23126]
2004-06-20 05:32:28 +00:00