without this, some compilers (VC6) generate linker errors,
in any case it is an ODR violation to define this function
in every translation unit.
[SVN r11984]
- assignments/constructors that took const F& now take F
- no need to use &free_function for assignment from free functions, unless
using MSVC6.5
[SVN r11946]
- 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_test.cpp:
- Removed use of (previously existing) ability to use references for the
first parameter to an unbound pointer-to-member function. Only pointer-like
entities are allowed.
[SVN r11728]
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]
Updated reference documentation:
- Adaptation of pointers to member functions
- No longer lie about safe_bool
- Added documentation for operator!
- Defined "compatible"
[SVN r11458]
- Remove declaration/documentation of non-const operator().
- Update documentation of operator() const to state that the called
object is not cv-qualified.
[SVN r10687]
function_test.cpp:
- Updated testcases to reflect semantic change in const calling
policy_test.cpp:
- precall/postcall in policy should take pointers to const function_base
[SVN r10686]
- 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]
- Removed reference and tutorial: now just link to them
faq.html:
- Moved to doc/faq.html
doc/faq.html:
- Relative directory fixups
doc/reference.html:
- Reference manual for Boost.Function
doc/tutorial.html:
- Tutorial for Boost.Function (the old "Usage" sections)
- Additional example showing the use of references and arrays
example/bind1st.cpp:
example/int_div.cpp:
example/sum_avg.cpp:
- Examples from tutorial
[SVN r10620]
- Use "self_type" instead of "function" for constructing swapping temporary (Borland C++ needs it)
function_base.hpp:
- Give empty copy constructor, default constructor, and assignment operator to empty_function_mixin (MSVC generates incorrect ones)
function_template.hpp:
- Make Borland C++ and MSVC agree on the code (involves an extra constructor definition and careful use of self_type vs. BOOST_FUNCTION_FUNCTION)
[SVN r10619]