Commit Graph
100 Commits
Author SHA1 Message Date
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 d59b93384b Report success on Compaq cxx 6.2
[SVN r14697]
2002-08-05 15:07:34 +00:00
Douglas Gregor e837b20127 Report the sad fate of CodeWarrior
[SVN r14696]
2002-08-05 15:05:57 +00:00
Douglas Gregor 39e2be08cb Don't test allocators if they aren't supported
[SVN r14695]
2002-08-05 15:05:34 +00:00
Douglas Gregor 021063eddf Attempted fix for Compaq CXX 6.2
[SVN r14693]
2002-08-05 13:32:25 +00:00
Douglas Gregor 0ff1daa573 Proper HTML, please
[SVN r14690]
2002-08-05 06:29:07 +00:00
Douglas Gregor 8b734dac5a Added Sun CC to the bad side of the syntax table
[SVN r14689]
2002-08-05 06:24:18 +00:00
Douglas Gregor 5010a0beb0 tutorial.html:
- Use tables to show both preferred/compatible syntaxes
  - Include a table describing which syntax is right for each compiler


[SVN r14687]
2002-08-05 06:20:30 +00:00
Douglas Gregor 39687e1a05 Describe BOOST_FUNCTION_NO_DEPRECATED
[SVN r14686]
2002-08-05 06:19:47 +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 232069aa00 allocator_test.cpp:
- Remove partial specialization-specific code

function_test.cpp:
  - Uses BOOST_FUNCTION_NO_DEPRECATED
  - Use only the new syntax
  - Test the allocator parameter

deprecated_syntax_test.cpp:
  - Test the deprecated syntax


[SVN r14684]
2002-08-05 06:13:32 +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
Douglas Gregor 2963cb89a8 function_test.cpp: Don't use void() directly because of broken compilers
[SVN r14571]
2002-07-23 13:47:01 +00:00
Douglas Gregor 461e51a592 Expand on the compatibility note
[SVN r14542]
2002-07-19 21:21:56 +00:00
Douglas Gregor 7ad9e2afee Tutorial now describes the new syntax (and the old syntax)
[SVN r14541]
2002-07-19 21:18:01 +00:00
Douglas Gregor e9ce99dede test/function_n_test.cpp:
test/function_test.cpp:
  - Don't use deprecated functions

index.html:
doc/reference.html:
  - Describe deprecations


[SVN r14540]
2002-07-19 20:45:36 +00:00
Douglas Gregor 3264064074 Removed some cruft
Deprecated the 'set' methods


[SVN r14538]
2002-07-19 20:09:29 +00:00
Douglas Gregor 84bdb40567 Don't test new syntax if partial specialization is unavailable
[SVN r14536]
2002-07-19 19:42:25 +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 97f72b7f8b Don't try to use function types inline for those silly compilers that can't handle it (e.g., Borland C++ 5.5.1)
[SVN r14534]
2002-07-19 19:17:14 +00:00
Douglas Gregor fca8413df6 Support for Borland C++ 5.5.1
[SVN r14533]
2002-07-19 19:16:33 +00:00
Douglas Gregor fff815d58b allocator_test.cpp:
function_test.cpp:
  - Test out the new function syntax


[SVN r14532]
2002-07-19 18:31:41 +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 e975d1e0c2 Lambda is now a Boost library
[SVN r13831]
2002-05-13 12:33:19 +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 02f5d9d0e0 reference.html:
- Document non-voidness of result_type when on a broken compiler


[SVN r12616]
2002-02-01 02:55:22 +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 39f6d34db8 reference.html:
- Document exception behavior of assignments/construction from stateless
    objects
  - Document what the term "stateless" means in this context


[SVN r12567]
2002-01-30 03:54:18 +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 5a07d4b262 regression.cfg:
- Add stateless_test


[SVN r12560]
2002-01-30 03:17:40 +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 aaa7f61b9e stateless_test.cpp:
- Test function's ability to optimize away allocations for stateless function
    objects


[SVN r12557]
2002-01-30 01:58:28 +00:00
Douglas Gregor a250f9c140 Lots of documentation fixes - thanks Dave
[SVN r12505]
2002-01-25 15:00:37 +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 8e123d2a97 sum_avg.cpp:
- Portability fix for GCC


[SVN r12464]
2002-01-23 18:24:58 +00:00
Douglas Gregor 58656b40b1 Try to fix for MSVC 7.0
[SVN r12456]
2002-01-23 14:01:28 +00:00
Douglas Gregor 8635632937 untabified
[SVN r12336]
2002-01-17 15:57:26 +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 d48fa26030 Renamed BOOST_MSVC_ONLY to BOOST_FUNCTION_TARGET_FIX
[SVN r12145]
2001-12-24 17:11:11 +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 fb26630e37 index.html:
- Fix "Copying Efficiency" section to not imply that memory is ALWAYS
    allocated on copy.


[SVN r12062]
2001-12-15 01:11:32 +00:00
Douglas Gregor 794b728603 tutorial.html:
- State that ref(...) function objects won't throw during construction,
    either.


[SVN r12061]
2001-12-15 00:58: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
Douglas Gregor 1a7478bbd1 Updated docs to reflect changes in code:
- 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]
2001-12-05 23:16:39 +00:00
Douglas Gregor db5399d447 Remove spurious semicolon
[SVN r11944]
2001-12-05 22:39:33 +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 2e67e2126b reference.html:
- Document semantics of reference_wrapper usage

tutorial.html:
  - Add short discussion and example of ref() and cref()


[SVN r11874]
2001-12-03 16:26:19 +00:00
Douglas Gregor 1512df77b1 function_n_test:
function_test:
  - Add testcases using ref() wrapper


[SVN r11873]
2001-12-03 16:25:00 +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 a657e5c812 Reversed prior commit - tests passing references for the implicit
object parameter to an unbound member function pointer have been
  added again.


[SVN r11732]
2001-11-19 20:57:57 +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 d37d210685 function_n_test.cpp:
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]
2001-11-19 20:19:23 +00:00
Douglas Gregor 11c56da46f index.html:
- Removed reference to BOOST_FUNCTION_USE_VIRTUAL_FUNCTIONS


[SVN r11727]
2001-11-19 14:57:08 +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 dd76ed757b Removed question about member function pointers since they are now supported
[SVN r11628]
2001-11-07 20:16:09 +00:00
Douglas Gregor e5ff80fb52 Documented new feature in tutorial: automatic adaptation of pointers to member functions
Updated reference documentation:
  - Adaptation of pointers to member functions
  - No longer lie about safe_bool
  - Added documentation for operator!
  - Defined "compatible"


[SVN r11458]
2001-10-28 04:52:37 +00:00
Douglas Gregor 6bdc663932 String literals should be const
[SVN r11457]
2001-10-28 04:04:26 +00:00
Douglas Gregor 3c5579ccbc Removed function_cast() and .target_type()
[SVN r11443]
2001-10-25 20:56:14 +00:00
Douglas Gregor d7ac137669 Remove checks for function_cast and .target_type()
[SVN r11442]
2001-10-25 20:55:56 +00:00
Douglas Gregor e6011abb87 Added tests for member functions
[SVN r11394]
2001-10-16 19:24:04 +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 07390a35e3 Check the const function_cast function
[SVN r11364]
2001-10-08 13:55:55 +00:00
Douglas Gregor e00d8f0afb Fixes for MSVC
[SVN r11363]
2001-10-08 13:49:02 +00:00
Douglas Gregor a81c30d130 regression.cfg: Removed defarg_test.cpp entry
[SVN r11362]
2001-10-08 13:34:00 +00:00
Douglas Gregor 4147c42599 defarg_test.cpp: removed (it is incorrect)
function_n_test.cpp:
function_test.cpp:
  Updated with tests of target_type() and casting


[SVN r11361]
2001-10-08 13:33:14 +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 f79765cce1 reference.html:
- Remove declaration/documentation of non-const operator().
	- Update documentation of operator() const to state that the called
	  object is not cv-qualified.


[SVN r10687]
2001-07-22 05:30:15 +00:00
Douglas Gregor e34716babd function_n_test.cpp:
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]
2001-07-22 05:27:20 +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 a9aa465826 function_n_test.cpp:
function_test.cpp:
	- Removed 'static' storage specifier from 'global_int' declaration.
	  Perhaps Sun Workshop 6 will compile Boost.Function now?


[SVN r10684]
2001-07-22 05:03:43 +00:00
Douglas Gregor aa026cd1d8 defarg_test.cpp:
- Test zero and one arguments


[SVN r10640]
2001-07-17 01:27:42 +00:00
Douglas Gregor 931737f72b reference.html:
- Boldified C++ keywords to make summary more readable.


[SVN r10634]
2001-07-16 18:17:00 +00:00
Douglas Gregor ce08e55a63 referemce.html:
- Document swapping of mixins in swap()


[SVN r10622]
2001-07-14 20:02:39 +00:00
Douglas Gregor 8121f4ebb6 reference.html:
- Assignment operator and set() function both meet the strong exception
	  guarantee.


[SVN r10621]
2001-07-14 19:58:43 +00:00
Douglas Gregor d37903b2e7 index.html:
- 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]
2001-07-14 19:57:09 +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