Initial comit

svn path=/trunk/boost/boost/function/; revision=10368
Initial Boost.Function commit

svn path=/trunk/boost/libs/function/; revision=10372
* Added initial comments and copyright notices to any files missing them.
* "Acknowledgements" section added to documentation

svn path=/trunk/boost/boost/function/; revision=10396
regression.cfg:
	- Run all regression tests for Boost.Function

svn path=/trunk/boost/libs/function/; revision=10397
function.hpp:
	- Added self-assignment check in operator= and set()

function_template.hpp:
	- Added self-assignment check in operator= and set()

svn path=/trunk/boost/boost/function/; revision=10431
function_n_test.cpp:
function_test.cpp:
	- Add tests for self-assignment

svn path=/trunk/boost/libs/function/; revision=10433
Boost.Function:
	- Redesigned decision procedure for "is it a function pointer" vs.
	  "is it an object".
	- No longer requires copy constructions of function objects during
	  assignment or construction.
	- Added operator! to boost::function_base instead of relying on
	  safe_bool conversion.
	- BOOST_NO_DEPENDENT_BASE_LOOKUP is now unnecessary
	- BOOST_WEAK_CONVERSION_OPERATORS is now unnecessary
	- BOOST_WEAK_FUNCTION_TEMPLATE_ORDERING is now unnecessary

svn path=/trunk/boost/boost/function/; revision=10481
function_n_test.cpp:
function_test.cpp:
	- Removed silly ';;' constructs: MSVC seems to handle the updated
	  code much better.

regression.cfg:
	- Fixed typos

svn path=/trunk/boost/libs/function/; revision=10482
Removed consts and associated const_casts from Borland workaround code.

svn path=/trunk/boost/boost/function/; revision=10486
The void partial specialization of the function classes has been removed in
favor of a common interface. Regardless of the compiler's capabilities, the
result type of a Boost.Function function object that was declared void will
be "unused". This allows the result of a Boost.Function function object to
be passed as a parameter regardless of whether the function is declared as
returning void. It greatly simplifies the use of Boost.Function objects with
wrapper objects (i.e., when the side effects are important, but the result
isn't: consider binding and composition when calling a std::for_each loop)

svn path=/trunk/boost/boost/function/; revision=10491
function_template.hpp:
	- One argument functions model AdaptableUnaryFunction
	- Two argument functions model AdaptableBinaryFunction

svn path=/trunk/boost/boost/function/; revision=10502
function_base.hpp:
	- Changed "RET" to "type" in the IF template metafunction because
	  the GCC source headers define RET as a macro.

svn path=/trunk/boost/boost/function/; revision=10509
Ron Garcia suggested removal of the duplicate explanation of (bool)f/f.empty()

svn path=/trunk/boost/libs/function/; revision=10586
faq.html:
	- Fixed HTML typo near the end

index.html:
	- Added declarations of all members for all classes.
	- Added detailed description of interface according to Boost
	  guidelines.

svn path=/trunk/boost/libs/function/; revision=10591
index.html:
	- Use relative pathnames for links to generic programming techniques
	  page (Gustavo Guerra).
	- Terminology in Basic Usage intro (Jeremy Siek).

svn path=/trunk/boost/libs/function/; revision=10592
function.hpp:
	- Use swap() for exception safe assignment operators

function_template.hpp:
	- Use swap() for exception safe assignment operators
	- Remove BOOST_FUNCTION_BASE class.
	- Support copying of mixins. (Richard Crossley)

svn path=/trunk/boost/boost/function/; revision=10614
mixin_test.cpp:
	- Test copying of mixins

svn path=/trunk/boost/libs/function/; revision=10615
mixin_test.cpp:
	- Test persistence of mixins when assigning to a function object

svn path=/trunk/boost/libs/function/; revision=10616
function_template.cpp:
	- Correctly copy mixin when assigning from any function/function object

svn path=/trunk/boost/boost/function/; revision=10617
mixin_test.cpp:
	- Check assignment from function pointer

svn path=/trunk/boost/libs/function/; revision=10618