Jeremiah Willcock
6902f6f943
Applied patch from #4073 ; fixes #4073
...
[SVN r62623]
2010-06-09 00:51:41 +00:00
Jeremiah Willcock
c4f1ce7cb1
Applied patch from #3912 ; fixes #3912
...
[SVN r62622]
2010-06-09 00:49:45 +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
ff3244d562
When copying boost::ref, copy even when the referenced function is empty. Fixes #2642
...
Patch by Steven Watanabe
[SVN r54616]
2009-07-03 22:20:26 +00:00
Vladimir Prus
68128bfffa
Make Boost.Function compile with disabled exceptions.
...
Closes #2900 . Patch from Gabi Davar.
[SVN r53722]
2009-06-07 15:44:50 +00:00
Daniel James
e10f4eaef9
Add missing #pragma warning(pop). Fixes #2767 .
...
[SVN r53694]
2009-06-06 15:31:47 +00:00
Douglas Gregor
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
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
John Maddock
821e6d34dd
Fix -Wundef warning and suspect usage of BOOST_STRICT_CONFIG.
...
[SVN r50064]
2008-12-02 10:10:46 +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
ea18f5777b
Add Boost.Typeof support to Boost.Function. Fixes #1621
...
[SVN r48616]
2008-09-05 16:13:49 +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
John Maddock
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
Douglas Gregor
0936dbdd03
Add missing include for is_void
...
[SVN r44030]
2008-04-04 12:26:53 +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
John Maddock
2378ba59e7
Fix for Borland compilers.
...
[SVN r39657]
2007-10-02 17:41:35 +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
3312c7ffcd
function_template.hpp:
...
- Pass-by-reference internally, when we can. Fixes #1067
[SVN r39244]
2007-09-13 19:06:53 +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
a7b9940f15
Handle GCC's -fno-exceptions properly. Fixes #1198
...
[SVN r39061]
2007-08-29 19:06:11 +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
Peter Dimov
a2a810d2c1
Put back #include <functional> in case functionN.hpp is used directly
...
[SVN r34519]
2006-07-12 22:12:01 +00:00
Peter Dimov
d84481361f
TR1 cyclic dependency fixes.
...
[SVN r34499]
2006-07-10 13:17:41 +00:00
Peter Dimov
872f12efee
TR1 conformance: derive from unary_function/binary_function
...
[SVN r34481]
2006-07-08 18:07:33 +00:00
Peter Dimov
69ee6e2375
Fixed an 'unused parameter' warning.
...
[SVN r33204]
2006-03-02 21:24:57 +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
Ralf W. Grosse-Kunstleve
58b61efb5f
trivial adjustments to enable warning-free compilation with gcc -Wall -W -Werror
...
[SVN r32364]
2006-01-20 16:53:30 +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
Hartmut Kaiser
6023ff5608
Workaround for a problem in Wave.
...
[SVN r32094]
2005-12-18 21:06:32 +00:00
John Maddock
35e2ff56a0
Large patch from Ulrich Eckhardt to fix support for EVC++ 4.
...
[SVN r30670]
2005-08-25 16:27:28 +00:00
Douglas Gregor
b5b12295c2
Try to work around Borland parsing bug
...
[SVN r30645]
2005-08-24 14:12:03 +00:00
Douglas Gregor
eea010ef80
Fully-qualify detail namespace accesses to work around compiler bugs
...
[SVN r30627]
2005-08-22 12:55:34 +00:00
Douglas Gregor
b8ef34c043
Merged from 1.33.0 release
...
[SVN r30540]
2005-08-12 13:02:37 +00:00
Peter Dimov
795964f63d
bind_function_test added.
...
[SVN r27721]
2005-03-17 12:09:35 +00:00
Peter Dimov
0f15ba9450
bind_t now implements function_equal instead of operator==
...
[SVN r27630]
2005-03-13 17:25:42 +00:00
Douglas Gregor
dc61dc6dc8
Fix for Borland, from Tobias Schwinger
...
[SVN r26886]
2005-01-28 07:04:32 +00:00
Douglas Gregor
e2a7fea741
Workarounds for CW 9.2, from Reece Dunn
...
[SVN r26583]
2004-12-26 22:05:19 +00:00
Douglas Gregor
e14e57a678
Fix BOOST_NO_VOID_RETURNS workaround
...
[SVN r26518]
2004-12-15 21:40:30 +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
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
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
ae11f21513
Try to make IBM VisualAge C++ 6 happy
...
[SVN r22795]
2004-05-12 00:39:00 +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
1b27dc8f86
Fix some shadow warnings
...
[SVN r22670]
2004-04-20 00:32:48 +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
Douglas Gregor
8c8f072d09
Update license to the new Boost license (yay!)
...
[SVN r20235]
2003-10-01 04:10:37 +00:00
Douglas Gregor
fad40732a9
function_template.hpp: Works around an annoying bug in one of Apple's
...
3.3 compilers.
[SVN r20233]
2003-10-01 03:40:35 +00:00
Douglas Gregor
66cd32b565
NULL pointers can be of any integral type, not just int (Howard Hinnant)
...
[SVN r19989]
2003-09-10 04:16:17 +00:00
Douglas Gregor
40c9bb204e
Me commit bad code
...
[SVN r19195]
2003-07-18 16:18:16 +00:00
Douglas Gregor
1ef5f459e2
sig needs to be a friend of functionN
...
[SVN r19174]
2003-07-18 03:48:17 +00:00
Douglas Gregor
2c8fc1b31f
add macro BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX
...
[SVN r19056]
2003-07-11 16:00:29 +00:00
Beman Dawes
fa73a61fcc
VC++ 7.1 has same bug as 7.0. Reported to Microsoft
...
[SVN r18697]
2003-06-06 11:48:50 +00:00
Douglas Gregor
ce00e49978
Newer Borland compiler still does not handle enable_if
...
[SVN r18064]
2003-03-23 16:58:05 +00:00
Douglas Gregor
07f4c425e3
Workaround for a Visual Age C++ preprocessor issue
...
[SVN r17407]
2003-02-14 15:34:39 +00:00
Douglas Gregor
25d109144d
Don't omit template parameter names (Markus Schöpflin)
...
[SVN r17333]
2003-02-12 18:46:12 +00:00
Douglas Gregor
6ac619c12b
Lots o' copyright statements
...
[SVN r17265]
2003-02-07 14:03:37 +00:00
Dave Abrahams
3cb116cf11
aCC workaround
...
[SVN r16975]
2003-01-21 13:54:27 +00:00
Beman Dawes
3b644dbfff
add or update See www.boost.org comments
...
[SVN r16708]
2002-12-27 16:51:53 +00:00
Douglas Gregor
d6659e26d7
function_base.hpp: Borland's new update has the same enable_if bug
...
[SVN r16678]
2002-12-22 14:28:29 +00:00
Douglas Gregor
535612ec85
function_base.hpp:
...
- Use BOOST_WORKAROUND more
- Borland C++ 5.5 update 2 doesn't support enable_if
- MSVC 7.0 needs the comparison-with-zero workarounds
[SVN r16636]
2002-12-17 13:50:07 +00:00
Douglas Gregor
a75e20c3ed
Support comparisons against 0 on MSVC
...
[SVN r16618]
2002-12-15 16:05:01 +00:00
Douglas Gregor
b62c8066a3
Forward-declare function_base for use in the allocator
...
[SVN r16617]
2002-12-15 15:20:28 +00:00
Douglas Gregor
30917e9f6a
MIPSpro's library needs to use allocator<function_base>, not allocator<void>
...
[SVN r16616]
2002-12-15 15:13:51 +00:00
Douglas Gregor
450959d0d7
Use boost/assert.hpp to check (at runtime) if the int passed to Boost.Function's
...
clearing constructor is zero
[SVN r16614]
2002-12-15 14:54:32 +00:00
Douglas Gregor
da9d12d1b9
function_template.hpp:
...
- When enable_if is not supported, supply an int version of the constructor
and assignment operator so that the '= 0' or construct-with-0 syntax is
usable
[SVN r16613]
2002-12-15 14:51:16 +00:00
Douglas Gregor
4466a7c9c0
function_base.hpp:
...
- GCC 3.0 and later do support enable_if. Not sure what happened there...
- Use BOOST_WORKAROUND in some places (more to come...)
[SVN r16612]
2002-12-15 14:45:13 +00:00
Douglas Gregor
b58acb02e3
BOOST_NO_CONFIG -> BOOST_STRICT_CONFIG (Dave Abrahams)
...
[SVN r16524]
2002-12-05 12:28:19 +00:00
Dave Abrahams
4cc84aff24
Disable function-type partial specializations for SunPro
...
[SVN r16512]
2002-12-04 15:55:34 +00:00