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
Douglas Gregor
587658b047
Merge Boost.Function fixes from trunk
...
[SVN r49361]
2008-10-16 13:21:50 +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
da259e8dce
Make MyLargeFunctor large.
...
[SVN r48633]
2008-09-06 16:30:58 +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
83309a36c7
Merge Boost.Function from the trunk
...
[SVN r47422]
2008-07-14 18:32:29 +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
04040ae566
Improve documentation on the size/efficiency of boost::function objects
...
[SVN r44852]
2008-04-28 14:11:46 +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
bfdb5b161d
Merged fixes for Function, Signals, and MPI from trunk. See #1499 , see #1416 , see #1486
...
[SVN r42031]
2007-12-14 14:48:14 +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
81e558491b
Merge lots of copyrights
...
[SVN r40811]
2007-11-05 21:22:29 +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
47033bd162
Fix inspection problems
...
[SVN r35827]
2006-11-03 19:41:10 +00:00
Douglas Gregor
64c8d10fa8
Eliminate MSVC 8.0 warning
...
[SVN r35588]
2006-10-13 14:29:56 +00:00
Douglas Gregor
c7d5016022
Eliminate MSVC 8.0 warning
...
[SVN r35588]
2006-10-13 14:29:56 +00:00
Douglas Gregor
d92355cca2
Suppress annoying MSVC warnings
...
[SVN r35424]
2006-09-29 17:23:28 +00:00
Douglas Gregor
0123f84bff
Suppress annoying MSVC warnings
...
[SVN r35423]
2006-09-29 17:23:17 +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
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
Douglas Gregor
c5e64fab99
BOOST_CRITICAL_ERROR is no longer usable
...
[SVN r32185]
2005-12-30 02:27:13 +00:00
Douglas Gregor
944c2ea72a
Merged from Version_1_33_1
...
[SVN r31949]
2005-12-08 03:23:02 +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
Douglas Gregor
8b816138bc
Fix tests for compilers that actually have a real is_stateless
...
[SVN r28784]
2005-05-10 13:30:35 +00:00
Douglas Gregor
24ce3091d0
Peter Dimov's ADL workarounds
...
[SVN r27808]
2005-03-24 19:13:33 +00:00
Douglas Gregor
354b8b802e
Test use of function_equal
...
[SVN r27733]
2005-03-18 05:01:49 +00:00
Douglas Gregor
db089615a2
Be more precise about EqualityComparable and function_equal
...
[SVN r27732]
2005-03-18 04:54:32 +00:00
Douglas Gregor
dc61dc6dc8
Fix for Borland, from Tobias Schwinger
...
[SVN r26886]
2005-01-28 07:04:32 +00:00
Douglas Gregor
d0fe22e9bf
Use bold element now
...
[SVN r26820]
2005-01-23 16:23:09 +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
Douglas Gregor
fdbbc2b3ff
Doug Gregor->Douglas Gregor
...
[SVN r24018]
2004-07-25 02:59:30 +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
e80a00545c
Added FAQ entry from Matt Hurd about boost::function overhead.
...
[SVN r22309]
2004-02-18 06:37:13 +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
03c7fdcf37
Fix the documentation of empty() (Angus Leeming)
...
[SVN r22193]
2004-02-08 00:11:22 +00:00
Douglas Gregor
b7608dff24
type_info::operator== fixes (Peter Dimov)
...
[SVN r22083]
2004-01-30 17:15:03 +00:00
Douglas Gregor
5f0426a80d
Stupid deprecated XInclude namespace
...
[SVN r22013]
2004-01-28 01:31:00 +00:00
Douglas Gregor
fdb37c35ff
Some aesthetic tweaks
...
[SVN r21905]
2004-01-25 01:17:35 +00:00
Douglas Gregor
b7650282df
tutorial.xml: Add short discussion of the comparison of Boost.Function
...
objects to function objects.
[SVN r21904]
2004-01-25 01:15:57 +00:00
Douglas Gregor
c5d8d03b76
libs/function/doc/reference.xml:
...
- Document target() member function
- Documented new comparison operators
libs/function/doc/tests.xml: Include contains_test.cpp
libs/function/doc/function.xml: Use the new XInclude name
[SVN r21903]
2004-01-25 00:38:26 +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
50ff886c81
MSVC 7.1 can handle Function, preferred syntax
...
[SVN r21333]
2003-12-19 03:33:25 +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
8abd32bd81
Clean up warnings on Borland C++ 5.5
...
[SVN r21095]
2003-12-03 01:21:32 +00:00
Douglas Gregor
3f753feb4d
Use the "minimal" test tools, to simplify my life a bit
...
[SVN r20924]
2003-11-23 16:17:24 +00:00
Douglas Gregor
b09e7f3d3d
Fix & regenerate sum_avg_portable.cpp
...
[SVN r20402]
2003-10-17 16:25:51 +00:00
Douglas Gregor
2c708069e8
Answer the eternal operator== question.
...
[SVN r20356]
2003-10-12 16:02:26 +00:00
Douglas Gregor
b8d943ec27
Move to the "new" function<> syntax. He he.
...
[SVN r20320]
2003-10-09 05:00:38 +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
4b830024f3
Die, foo, die
...
[SVN r19205]
2003-07-19 06:53:21 +00:00
Douglas Gregor
40c9bb204e
Me commit bad code
...
[SVN r19195]
2003-07-18 16:18:16 +00:00
Douglas Gregor
5347683c8e
Remove return statement from operator new to see who screams about it
...
[SVN r19178]
2003-07-18 04:17:30 +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
cb3c1b0d1e
doc/tutorial.xml: fix a typo in the example code (thanks Jens!)
...
test/sum_avg_portable.cpp: regenerated.
[SVN r19136]
2003-07-16 04:40:25 +00:00
Douglas Gregor
1a6d95733a
Get rid of a warning in GCC 3.3.
...
[SVN r19069]
2003-07-11 17:42:12 +00:00
Douglas Gregor
2c8fc1b31f
add macro BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX
...
[SVN r19056]
2003-07-11 16:00:29 +00:00
Douglas Gregor
a753dbc048
Jamfile.v2: Jamfile for Boost.Function documentation
...
[SVN r18244]
2003-04-13 14:51:26 +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
eeb15caff2
Document nested class template "sig"
...
[SVN r17946]
2003-03-16 02:00:20 +00:00
Douglas Gregor
ade6c96d5c
Updated to reflect BoostBook changes
...
[SVN r17941]
2003-03-15 23:12:35 +00:00
Douglas Gregor
b54e9df555
Lots of cleanups as BoostBook becomes more strict
...
[SVN r17871]
2003-03-13 00:29:57 +00:00
Douglas Gregor
eb14b70c9c
Move away from attributes, toward elements
...
[SVN r17869]
2003-03-13 00:08:34 +00:00
Douglas Gregor
48e2bc0bdb
Import of BoostBook documentation for any, array, bind, function, ref, and
...
signals libraries.
[SVN r17866]
2003-03-12 23:27:25 +00:00
Douglas Gregor
652955dee5
The old HTML Function documentation has been removed. The file index.html
...
redirects to $BOOST_ROOT/doc/html/function.html, the new home for the Function
library documentation
[SVN r17467]
2003-02-17 04:43:49 +00:00
Douglas Gregor
a44c07104c
Regenerated, with function_test renamed to lib_function_test
...
[SVN r17420]
2003-02-14 18:15:01 +00:00