Steven Watanabe
c0d4005441
Make sure that the cv flags are copied when we copy a reference to a function object. Fixes #4325
...
[SVN r62665]
2010-06-09 15:40:48 +00:00
Jeremiah Willcock
820ad024fe
Applied patch from #3618 ; fixes #3618
...
[SVN r62621]
2010-06-09 00:47:51 +00:00
Jeremiah Willcock
2e19728cdb
Removed all but one old-style cast, breaking GCC 2.95.3; fixes #3410
...
[SVN r62614]
2010-06-08 23:55:25 +00:00
Jeremiah Willcock
de3b8e7451
Fixed tab and no-newline-at-end-of-file issues from inspection report
...
[SVN r61435]
2010-04-20 17:54:16 +00:00
Peter Dimov
22c6592a40
Fix function_base.hpp to not require typeid. Refs #3666 . Requires [58127].
...
[SVN r58128]
2009-12-03 20:59:32 +00:00
Daniel James
8b63c146ea
Work around Visual C++ copy constructor bug. Fixes #2929 .
...
Based on the patch by Steven Watanabe.
[SVN r54619]
2009-07-03 22:22:03 +00:00
Daniel James
e10f4eaef9
Add missing #pragma warning(pop). Fixes #2767 .
...
[SVN r53694]
2009-06-06 15:31:47 +00:00
Douglas Gregor
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
K. Noel Belcourt
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
Douglas Gregor
8ca7384121
Fix Boost.Function thread safety issue again
...
[SVN r49326]
2008-10-14 15:31:57 +00:00
Douglas Gregor
75890fea53
CodeGear C++ fix, from Nicola Musatti. Fixes #2325
...
[SVN r48922]
2008-09-23 00:26:21 +00:00
Douglas Gregor
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
Douglas Gregor
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
Douglas Gregor
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
Douglas Gregor
e3dfa7268a
Add forward-declaration header for Boost.Function. Fixes #1668
...
[SVN r48613]
2008-09-05 14:55:34 +00:00
Douglas Gregor
bacb5d6752
Attempt to work around problem with allocator casts in Boost.Function
...
[SVN r46446]
2008-06-17 13:59:04 +00:00
Douglas Gregor
adb7b0a214
Change Boost.Function allocator behavior, from Emil Dotchevski
...
[SVN r43884]
2008-03-27 19:44:37 +00:00
Douglas Gregor
cead36cd5b
Disable more Visual C++ warnings in Function headers. Fixes #1416
...
[SVN r41798]
2007-12-06 18:39:06 +00:00
Douglas Gregor
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
Douglas Gregor
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
Douglas Gregor
e4f165a4e8
Disable MSVC warning about native code generation. Fixes #1163
...
[SVN r39060]
2007-08-29 18:59:16 +00:00
Douglas Gregor
80a3f47099
Committed patch to eliminate warnings with GCC's -Wundef. Fixes #1197
...
[SVN r38827]
2007-08-21 15:35:19 +00:00
Douglas Gregor
5c514ebe35
Try to work around EC++4 bug
...
[SVN r37471]
2007-04-18 12:13:53 +00:00
Douglas Gregor
64c8d10fa8
Eliminate MSVC 8.0 warning
...
[SVN r35588]
2006-10-13 14:29:56 +00:00
Dave Abrahams
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
Douglas Gregor
9fe1351ab7
Workaround for Borland compilers, from Alistair
...
[SVN r32394]
2006-01-24 13:57:25 +00:00
Douglas Gregor
f195b6c10a
Fixes for GCC 2.95.3
...
[SVN r32319]
2006-01-13 19:32:58 +00:00
Douglas Gregor
2b4f81ca67
Workaround for GCC 2.95.3
...
[SVN r32302]
2006-01-13 02:45:33 +00:00
Ralf W. Grosse-Kunstleve
1f51812589
EDG 238 compatibility (and potentially other compilers)
...
[SVN r32294]
2006-01-12 15:31:46 +00:00
Douglas Gregor
78f6b385d5
Small buffer optimization for Boost.Function
...
[SVN r32282]
2006-01-10 23:52:35 +00:00
Douglas Gregor
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
Peter Dimov
795964f63d
bind_function_test added.
...
[SVN r27721]
2005-03-17 12:09:35 +00:00
Douglas Gregor
dc61dc6dc8
Fix for Borland, from Tobias Schwinger
...
[SVN r26886]
2005-01-28 07:04:32 +00:00
Rene Rivera
c9d7858ff0
Remove tabs in file.
...
[SVN r24040]
2004-07-25 15:53:20 +00:00
Douglas Gregor
520ee97c82
Doug Gregor -> Douglas Gregor
...
[SVN r24016]
2004-07-25 02:29:29 +00:00
Douglas Gregor
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
Douglas Gregor
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
Douglas Gregor
dc14c35c38
function_base.hpp:
...
- Fix silly typo where it returned "false" instead of the NULL
pointer.
[SVN r22760]
2004-05-07 11:43:41 +00:00
Douglas Gregor
2c0e633307
Added contains() and function_equal()
...
[SVN r22483]
2004-03-12 03:38:20 +00:00
Douglas Gregor
1a142a2f94
Fix on GCC 2.9x from Ralf
...
[SVN r22249]
2004-02-12 22:48:22 +00:00
Douglas Gregor
f0c5e5e95b
Work around a GCC 2.95.3 bug triggered by the workaround to a VC++ 7.1 bug...
...
[SVN r22242]
2004-02-11 18:16:55 +00:00
Douglas Gregor
2fb242eae1
Work around CLR bug in .NET 2003
...
[SVN r22234]
2004-02-11 04:26:53 +00:00
Douglas Gregor
b7608dff24
type_info::operator== fixes (Peter Dimov)
...
[SVN r22083]
2004-01-30 17:15:03 +00:00
Douglas Gregor
746676d274
Fix semantics for comparison against reference_wrappers
...
[SVN r21901]
2004-01-24 23:31:40 +00:00
Douglas Gregor
c31ad8700e
Cast pointers, not lvalues
...
[SVN r21897]
2004-01-24 18:29:18 +00:00
Douglas Gregor
cb1bcd5410
"contains" -> "target"
...
[SVN r21845]
2004-01-20 18:07:13 +00:00
Douglas Gregor
7d30d98efd
boost/function/function_template.hpp, boost/function/function_base.hpp:
...
- Added "contains" member function to extract a pointer to the target
function object if you know its type
- Added operator== that can compare a Boost.Function object against a
function object
libs/function/test/Jamfile, libs/function/test/contains_test.cpp:
- Test contains() and equality comparison operators
[SVN r21844]
2004-01-20 18:02:02 +00:00
Douglas Gregor
44e986afe3
Switch over to the new enable_if library
...
[SVN r21143]
2003-12-04 22:31:09 +00:00
Douglas Gregor
4bb90aae7a
Metrowerks CodeWarrior 8.3 doesn't seem to support SFINAE
...
[SVN r21141]
2003-12-04 22:06:56 +00:00
Douglas Gregor
04eb767238
Possible fix for Metrowerks
...
[SVN r21126]
2003-12-03 19:55:57 +00:00