Commit Graph

234 Commits

Author SHA1 Message Date
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
Dave Abrahams
9cf5e8efbe Workaround Sun and HP bugs
[SVN r16511]
2002-12-04 15:54:33 +00:00
Douglas Gregor
17427dfa3b Borland C++ 5.6.0 doesn't handle enable_if
[SVN r16262]
2002-11-15 19:26:39 +00:00
Douglas Gregor
7dcd9cd224 Metrowerks 7.2 can't handle enable_if
[SVN r16226]
2002-11-13 21:00:23 +00:00
Douglas Gregor
f54bd9f08d function_template.hpp:
- Wrap ICEs in parentheses when used as template arguments


[SVN r16225]
2002-11-13 18:03:55 +00:00
Douglas Gregor
7baa23912d Fix on BCC 5.6.1 (Hugo Duncan)
[SVN r16216]
2002-11-12 22:36:29 +00:00
Douglas Gregor
79fca4d1b2 MSVC 7.0 broken. Go figure
[SVN r16179]
2002-11-09 21:05:46 +00:00
Douglas Gregor
18d09833f7 Neither MSVC nor Borland can handle enable_if. Big surprise.
[SVN r16177]
2002-11-09 17:16:24 +00:00
Douglas Gregor
5574a6e97d MIPSpro 7.3.1.3m can't support enable_if
[SVN r16175]
2002-11-09 16:26:47 +00:00
Douglas Gregor
17b311cbbd Support assignment from 0, construction from 0, and comparison to zero.
[SVN r16174]
2002-11-09 16:02:47 +00:00
Douglas Gregor
17ded4b8bf - Added sig member template support for Boost.Lambda, with testcase (Michael Hohmuth)
- Removed the assignment-to-zero attempt

- Added bad_function_call exception (using boost::throw_exception)


[SVN r16102]
2002-11-04 18:19:01 +00:00
Douglas Gregor
374711d2c6 function_template.hpp:
- 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]
2002-10-08 02:32:38 +00:00
Ralf W. Grosse-Kunstleve
300fde19a1 namespace name in the MIPSpro workaround corrected
[SVN r15516]
2002-09-25 20:02:31 +00:00
Douglas Gregor
8f578dbc78 function_template.hpp:
- Don't let Borland C++ use class template function

function_base.hpp:
  - Work around freaky MIPSpro bug that affects the Python lib


[SVN r15514]
2002-09-25 18:10:32 +00:00
Douglas Gregor
e3386d8e7e Fixes for MSVC 6.0sp5
[SVN r15502]
2002-09-25 03:30:18 +00:00
Douglas Gregor
68d6a1354e function_template.hpp:
- Remove tabs

prologue.hpp:
  - get BOOST_PP_INC


[SVN r15501]
2002-09-24 19:52:56 +00:00
Douglas Gregor
6c8e07793d function_base.hpp:
- make make_any_pointer inline


[SVN r15500]
2002-09-24 19:27:51 +00:00
Douglas Gregor
8b6f154891 function_base.hpp:
- Don't try to implicitly convert a function pointer to a data pointer

stateless_test.cpp:
  - Don't use the deprecated syntax


[SVN r15499]
2002-09-24 17:28:58 +00:00
Douglas Gregor
f9ae459b2d - Removed everything deprecated in 1.29.0
- 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]
2002-09-24 17:16:17 +00:00
Douglas Gregor
f36e83fb27 function_base.hpp:
- Remove safe_bool conversion and operator! from class function_base

function_template.hpp:
  - Add safe_bool conversion and operator!
  - operator! returns bool, not safe_bool (Peter Dimov)

reference.html:
  - Document above change


[SVN r15356]
2002-09-16 03:44:18 +00:00
Douglas Gregor
e16a46fbe8 Added argI_type typedefs
Added arity ICE


[SVN r15184]
2002-09-06 18:47:59 +00:00
Douglas Gregor
893069311a function_base.hpp:
- Use the BOOST_FUNCTION_SILENT_DEPRECATED macro as a signal to turn off all
    "deprecated" warnings


[SVN r14756]
2002-08-09 14:34:23 +00:00
Douglas Gregor
0db4ad9f55 Attempted Borland fix
[SVN r14709]
2002-08-06 14:20:08 +00:00
Douglas Gregor
021063eddf Attempted fix for Compaq CXX 6.2
[SVN r14693]
2002-08-05 13:32:25 +00:00
Douglas Gregor
688df3d137 function_base.hpp:
- Use <boost/pending/ct_if.hpp>

all:
  - Add BOOST_FUNCTION_NO_DEPRECATED macro hackery to get rid of ALL deprecated
    features


[SVN r14685]
2002-08-05 06:19:17 +00:00
Douglas Gregor
694ebbb301 Use built-in deprecation facilities, when available
[SVN r14677]
2002-08-05 03:08:08 +00:00
Douglas Gregor
837591456f Remove the unused is_not_same
[SVN r14676]
2002-08-05 02:34:02 +00:00
Douglas Gregor
2d8a4b136a Use function_traits in type_traits library
[SVN r14675]
2002-08-05 02:33:26 +00:00
Douglas Gregor
4f5147f96e function.hpp:
- When determining if a type is a function type, don't blindly add a pointer
    but instead use add_pointer


[SVN r14586]
2002-07-24 13:27:49 +00:00
Douglas Gregor
9db8577d16 Removed all of the deprecated parameters and made them variables
[SVN r14578]
2002-07-23 21:57:57 +00:00
Dave Abrahams
d62193624e VC6/7 workaround
[SVN r14552]
2002-07-21 11:09:23 +00:00
Douglas Gregor
3264064074 Removed some cruft
Deprecated the 'set' methods


[SVN r14538]
2002-07-19 20:09:29 +00:00
Douglas Gregor
a0bd17560f Don't fail on compilers without partial specialization (but don't allow the new syntax either)
[SVN r14535]
2002-07-19 19:41:53 +00:00
Douglas Gregor
fca8413df6 Support for Borland C++ 5.5.1
[SVN r14533]
2002-07-19 19:16:33 +00:00
Douglas Gregor
9e49833a8c function.hpp:
- Support Peter Dimov's rockin' new syntax:
      function<string (int x, double y, float z)> f;


[SVN r14531]
2002-07-19 18:30:48 +00:00
Douglas Gregor
df34714340 Removed 'truth' template, which isn't needed
[SVN r14060]
2002-05-29 17:27:59 +00:00
Douglas Gregor
d50e9729ea Fixed conflicts in 1.28.0 merge
[SVN r13946]
2002-05-16 02:18:29 +00:00
Douglas Gregor
a3e9eb5db2 Removed tabs
[SVN r13812]
2002-05-10 17:54:40 +00:00
Douglas Gregor
57ee7e962a function.hpp:
- Remove default parameters in real_get_function_impl (Fixed Borland C++
    Builder 6)


[SVN r13595]
2002-04-30 20:05:32 +00:00
Douglas Gregor
48943fec83 Removed some unused macros
[SVN r13594]
2002-04-30 19:41:37 +00:00
Douglas Gregor
a0b89d0a30 function_base.hpp:
- Workaround for Sun CC


[SVN r13566]
2002-04-26 17:45:53 +00:00
Douglas Gregor
82226cb9d6 Changed IF to ct_if because IF is sometimes used as a macro (ewww)
[SVN r13420]
2002-04-10 04:10:06 +00:00
Douglas Gregor
28984e4f23 function_base.hpp:
- 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]
2002-03-30 18:45:28 +00:00
Douglas Gregor
1774c0646d function_template.hpp:
- Handle compilers without void returns in a sensible manner


[SVN r12615]
2002-02-01 02:51:48 +00:00
Douglas Gregor
4b430a5414 function_template.hpp:
- Make functionN<void, ...> really have a void return value


[SVN r12613]
2002-01-31 22:56:16 +00:00
Douglas Gregor
7b0f465f33 Reverting member function pointer optimization
[SVN r12580]
2002-01-30 15:04:08 +00:00
Douglas Gregor
6882358627 function_base.hpp:
function_template.hpp:
  - Add support for storing member function pointers directly within the
    Boost.Function object, without allocating any extra memory


[SVN r12568]
2002-01-30 04:33:45 +00:00
Douglas Gregor
812ef599bd function_template.hpp:
- Fix unused parameter warning


[SVN r12565]
2002-01-30 03:39:44 +00:00
Douglas Gregor
8c198b1c90 function_template.hpp:
- Ensure initialization of stateless function objects


[SVN r12561]
2002-01-30 03:18:15 +00:00
Douglas Gregor
11187bcf3a function_base.hpp:
- 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]
2002-01-30 01:59:49 +00:00
Douglas Gregor
4f33ea7665 function_base.hpp:
- Fixed for Intel on Windows _and_ MSVC 7.0


[SVN r12472]
2002-01-24 04:06:05 +00:00
Douglas Gregor
51c376c4ee function_base.hpp:
- Fixed for Intel C++, I hope?


[SVN r12469]
2002-01-23 21:17:40 +00:00
Douglas Gregor
58656b40b1 Try to fix for MSVC 7.0
[SVN r12456]
2002-01-23 14:01:28 +00:00
Dave Abrahams
2fa9ee040b Fixes for Intel, added version cutoff for obsolete MWERKS workaround
[SVN r12434]
2002-01-22 13:11:05 +00:00
Douglas Gregor
96f7184528 Untabified
[SVN r12335]
2002-01-17 15:57:13 +00:00
Douglas Gregor
647693dfc9 function_base.hpp:
- 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]
2002-01-13 16:12:26 +00:00
Douglas Gregor
d3daf6db42 Renamed BOOST_MSVC_ONLY to BOOST_FUNCTION_TARGET_FIX
Metrowerks needs the BOOST_FUNCTION_TARGET_FIX workaround


[SVN r12144]
2001-12-24 17:10:47 +00:00
Douglas Gregor
ce68cb8999 function_template.hpp:
- Use a C-style cast to deal with constness easily


[SVN r12060]
2001-12-15 00:43:56 +00:00
John Maddock
47599fb625 Added inline modifier to trivial_manager -
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]
2001-12-09 12:49:09 +00:00
Douglas Gregor
083767f67a Taking function objects by value instead of as references-to-const. This does not work on MSVC6.5, so the BOOST_MSVC_ONLY macro was added to make them references-to-const for only that compiler.
- 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]
2001-12-05 22:35:32 +00:00
Douglas Gregor
8cbd121969 function_base.hpp:
- 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]
2001-12-03 16:28:33 +00:00
Douglas Gregor
2265421357 General cleanups
[SVN r11791]
2001-11-27 23:11:44 +00:00
Douglas Gregor
c64a2f3492 function_template.hpp:
- Changed reinterpret_casts between pointers to member functions
    to C-style casts for MIPSpro.


[SVN r11767]
2001-11-22 00:34:29 +00:00
Douglas Gregor
cc3a33a19c function_template.hpp:
- Use boost::mem_fn internally to deal with calls to unbound
    member functions.


[SVN r11731]
2001-11-19 20:56:52 +00:00
Douglas Gregor
a4c09a92d1 Generates the functionN.hpp headers
[SVN r11730]
2001-11-19 20:32:07 +00:00
Douglas Gregor
b8e4cdab2f function_base.hpp:
- 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]
2001-11-19 20:30:18 +00:00
Douglas Gregor
3f13d39604 function_base.hpp:
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]
2001-11-19 14:52:04 +00:00
Douglas Gregor
3c5579ccbc Removed function_cast() and .target_type()
[SVN r11443]
2001-10-25 20:56:14 +00:00
Douglas Gregor
08d727df21 Added ability to handle member function pointers natively, e.g.,
boost::function<int, X*, int> f(&X::foo);


[SVN r11393]
2001-10-16 19:23:37 +00:00
Douglas Gregor
e00d8f0afb Fixes for MSVC
[SVN r11363]
2001-10-08 13:49:02 +00:00
Douglas Gregor
1d4282c706 Added support for target_type() member function (returns an std::type_info of
the underlying function object) and casting to retrieve the underyling target.


[SVN r11360]
2001-10-08 13:32:24 +00:00
Douglas Gregor
62d3c6d426 Fix for BOOST_NO_STD_ALLOCATOR when std::allocator doesn't even exist
[SVN r11349]
2001-10-06 20:28:27 +00:00
Douglas Gregor
b240e7efca Split default and mixin constructor into separate constructors (instead of using default value) because of MSVC 7.0b2 (Peter Dimov)
[SVN r11139]
2001-09-18 14:48:51 +00:00
Douglas Gregor
657a63fce4 function_template.hpp:
- 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]
2001-07-22 05:26:17 +00:00
Douglas Gregor
3ba640809b function.hpp:
- 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]
2001-07-14 19:34:14 +00:00
Douglas Gregor
aad9b5f5e0 function_template.cpp:
- Correctly copy mixin when assigning from any function/function object


[SVN r10617]
2001-07-14 18:51:00 +00:00
Douglas Gregor
5754d88110 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 r10614]
2001-07-14 18:41:19 +00:00
Douglas Gregor
93ad5963c9 function_base.hpp:
- Changed "RET" to "type" in the IF template metafunction because
	  the GCC source headers define RET as a macro.


[SVN r10509]
2001-07-02 15:25:04 +00:00
Douglas Gregor
48948088fd function_template.hpp:
- One argument functions model AdaptableUnaryFunction
	- Two argument functions model AdaptableBinaryFunction


[SVN r10502]
2001-07-01 19:17:38 +00:00
Douglas Gregor
1f24873577 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 r10491]
2001-07-01 02:17:36 +00:00
Douglas Gregor
53f9f4484f Removed consts and associated const_casts from Borland workaround code.
[SVN r10486]
2001-06-29 20:34:32 +00:00
Douglas Gregor
73f380d5ac 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 r10481]
2001-06-29 19:33:29 +00:00
Douglas Gregor
07c66d01fa function.hpp:
- Added self-assignment check in operator= and set()

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


[SVN r10431]
2001-06-26 13:38:58 +00:00
Douglas Gregor
42aedefe2f * Added initial comments and copyright notices to any files missing them.
* "Acknowledgements" section added to documentation


[SVN r10396]
2001-06-22 14:13:03 +00:00
Beman Dawes
62db26b94d Initial comit
[SVN r10368]
2001-06-21 16:19:33 +00:00