- 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]
- function partial specialization now allows assignment to zero
(for clearing) and comparison against zero (for the empty check)
(Brad King)
function_test.cpp:
- Check comparison against zero
- Check assignment to zero
function_test_fail1.cpp:
function_test_fail2.cpp:
- Make them fail for the right reasons
[SVN r15803]
- Deprecate user use of function_base
- Use the Boost Preprocessor library to make Function scalable to any
(reasonable) number of arguments
- Make any_pointer a POD (oops)
- Test Boost.Function for 30 arguments
- Remove tests of deprecated features
[SVN r15498]
- has_empty_target modified to deal only with function objects, and to not
require pointers to the function objects.
function_template.hpp:
- Don't use '&' operation on incoming function objects
[SVN r13318]
function_template.hpp:
- Add support for storing member function pointers directly within the
Boost.Function object, without allocating any extra memory
[SVN r12568]
- Switch over to using is_reference_wrapper instead of homegrown is_ref
- Identify stateless function objects
function_template.hpp:
- Optimize away construction/allocator for stateless function objects.
[SVN r12559]
- Make manager and functor members of function_base public instead of
protected, because attempt to make HP aCC compile Boost.Function
function_template.hpp:
- HP aCC seems to believe that the functor and manager members inherited from
function_base are inaccessible. So qualify them with the function_base
base class.
[SVN r12298]
- Borland C++ no longer requires hacks to make function pointers work
- On any compiler other than MSVC, free functions can be assigned to Boost.Function objects without the explicit '&'
[SVN r11943]
- Add trivial_manager that does nothing but copy object pointers
- Add is_ref to determine if a type is a reference_wrapper
- Add function_obj_ref_tag for reference_wrappers
- Teach get_function_tag about reference_wrappers
function_template.hpp:
- Add assign_to overload for reference_wrappers (these don't throw)
[SVN r11875]
- Updated any_pointer and manager classes to deal with member function
pointers directly, so no allocation is required when using them.
- Removed include of boost/mem_fn.hpp
function_template.hpp:
- Many macros that were in the functionN.hpp headers have been moved here and
are now generated on-the-fly using BOOST_JOIN
- Added invokers for pointers to member functions
- Revised pointer to member function handling code to not perform any
allocations/deallocations
- Added guards so that multiple inclusion of function_template.hpp will only
include its dependencies once.
functionN.hpp:
- Headers regenerated
[SVN r11729]
function_template.hpp:
- Removed implementation based on virtual functions. Such an implementation
can't meet exception safety requirements made by the manager/invoker
version.
[SVN r11726]
- const function calling semantics changed. Now 'function' has
pointer/reference semantics (constness of 'function' object does not
affect constness of targetted function object)
[SVN r10685]