Commit Graph

136 Commits

Author SHA1 Message Date
Peter Dimov
277757befc Disable -Wmaybe-uninitialized in function_template.hpp for GCC 11 2021-12-16 06:18:06 +02:00
Romain Geissler
7c90434317 Avoid -Wmaybe-uninitialized warnings in gcc (issue #27). 2020-03-27 20:57:36 +00:00
Peter Dimov
79045752e0 Revert "Added variadic support"
This reverts commit f22fa49e07.
2018-11-13 18:02:22 +02:00
Nikita Kniazev
f22fa49e07 Added variadic support
Improves `boost/function.hpp` inclusion by 20%.
2018-10-27 21:04:00 -04:00
Nikita Kniazev
5f93559650 Prepare for variadic support 2018-10-27 21:04:00 -04:00
Nikita Kniazev
b07621f2ee Default defaulted functions 2018-10-22 18:34:40 -04:00
Nikita Kniazev
86f05aa602 Replace boost::forward with static_cast
One dependency less
2018-10-22 18:34:40 -04:00
Nikita Kniazev
4230fb2388 Reuse BOOST_FUNCTION_TEMPLATE_ARGS in BOOST_FUNCTION_PARTIAL_SPEC 2018-10-22 18:34:40 -04:00
Glen Fernandes
c0d41a880a Drop dependency on MPL 2018-09-22 15:27:54 -04:00
Glen Fernandes
87c978d36e Use LightweightTest and NoExceptionsSupport from Core 2018-09-22 15:27:44 -04:00
Glen Fernandes
d1ad1141f3 Use enable_if from TypeTraits 2018-09-22 15:27:34 -04:00
Joakim Tosteberg
9d0acd5195 Use char type directly to avoid invalid aliasing in one more place 2018-04-04 09:37:44 +02:00
Piotr Podusowski
0ee8e59d0a use char type directly to avoid invalid aliasing 2018-03-16 11:47:23 +01:00
Daniela Engert
f4f8fb0a16 replace members of std::allocate which are deprecated in c++17 by theirs cousins from std::allocator_traits. 2017-12-17 07:42:28 +01:00
Peter Dimov
c326d30f28 Remove std::unary/binary_function use, they have been removed in C++17 2016-11-06 14:43:42 +02:00
Andrey Semashev
54988e8e91 Changed implementation to avoid calculating the size of the raw data buffer manually. Trim trailing spaces. 2016-04-02 17:31:22 +03:00
Andrey Semashev
bde64bf9eb Fix gcc 6 warnings about invoking placement new on a buffer of insufficient size. 2016-04-02 14:59:57 +03:00
Edward Diener
f0ec326eb0 Use ! operator directly rather than boost::mpl::not with Boost supported compilers. 2015-04-27 04:15:31 -04:00
Marcel Raad
73e4d02b00 Qualify enable_if with namespace boost
Unfortunately the change from enable_if_c to enable_if in 74c9cc9680 broke a lot of other libraries' regression tests on MSVC, which complains about ambiguous symbols.
2015-04-03 08:55:01 +02:00
Edward Diener
74c9cc9680 Remove dependency on deprecated type_traits headers. 2015-03-30 01:47:08 -04:00
Peter Dimov
854f2e8d5d Fix ambiguous 'detail' errors under msvc-8.0. 2015-01-16 21:54:16 +02:00
Antony Polukhin
df1db75294 Less includes from Boost.Move and more tests 2014-10-02 15:40:33 +04:00
Antony Polukhin
27e9e1e372 Add support for function signatures with rvalue params 2014-09-29 20:14:06 +04:00
Marshall Clow
9f06e35e8d Add coverity comments to silence Coverity warnings 2014-01-31 19:50:02 -08:00
Marshall Clow
250655ad6d Add 'std:' qualification to size_t. Fixes Bug #6184 2014-01-31 19:42:29 -08:00
Marshall Clow
95a1956397 Added missing 'std::'; Refs #7819
[SVN r82273]
2012-12-29 16:36:12 +00:00
Marshall Clow
9e30736439 Updated to use new macro names
[SVN r81450]
2012-11-21 01:49:52 +00:00
Antony Polukhin
419f424959 Add move assignment and move constructors to Boost.Function (refs #7330)
[SVN r80552]
2012-09-17 04:08:18 +00:00
Marshall Clow
775213a9e6 Remove extraneous semicolon
[SVN r74916]
2011-10-11 15:23:29 +00:00
Marshall Clow
cbb9e7c4da Applied patch from #4717
[SVN r72316]
2011-05-31 21:12:35 +00:00
Steven Watanabe
8cde82a568 Remove extra definition of operator(), since it's inline anyway. Fixes #4765.
[SVN r67560]
2011-01-02 05:13:03 +00:00
Jeremiah Willcock
6902f6f943 Applied patch from #4073; fixes #4073
[SVN r62623]
2010-06-09 00:51:41 +00:00
Jeremiah Willcock
2e19728cdb Removed all but one old-style cast, breaking GCC 2.95.3; fixes #3410
[SVN r62614]
2010-06-08 23:55:25 +00:00
Daniel James
ff3244d562 When copying boost::ref, copy even when the referenced function is empty. Fixes #2642
Patch by Steven Watanabe

[SVN r54616]
2009-07-03 22:20:26 +00:00
Vladimir Prus
68128bfffa Make Boost.Function compile with disabled exceptions.
Closes #2900. Patch from Gabi Davar.


[SVN r53722]
2009-06-07 15:44:50 +00:00
Douglas Gregor
a74e72cce9 Make Boost.Function compile under BOOST_NO_EXCEPTIONS.
Fixes #2499
Fixes #2494
Fixes #2469
Fixes #2466


[SVN r51745]
2009-03-13 05:49:02 +00:00
Douglas Gregor
6f8ec5c8c5 Implement an optimization that David Abrahams and myself came up with,
where Boost.Function uses a bit in the vtable pointer to indicate when
the target function object has a trivial copy constructor, trivial
destructor, and fits within the small object buffer. In this case, we
just copy the bits of the function object rather than performing an
indirect call to the manager.

This results in a 60% speedup on a micro-benchmark that copies and
calls such function objects repeatedly.



[SVN r51743]
2009-03-13 05:23:53 +00:00
Douglas Gregor
8ca7384121 Fix Boost.Function thread safety issue again
[SVN r49326]
2008-10-14 15:31:57 +00:00
Douglas Gregor
2fe4cc253f Fix double-destruction problem with small function objects and swap(), and try to work around a GCC 4.2 issue. See #1910 for comments about the former problem from Niels Dekker.
[SVN r48627]
2008-09-06 03:16:25 +00:00
Douglas Gregor
f379ef8532 Make Boost.Function's target() operation respect the cv-qualifiers of referenced function objects. Fixes #736
[SVN r48618]
2008-09-05 17:52:12 +00:00
Douglas Gregor
d5a86a2d52 Improve the performance of Boost.Function's swap. Thanks to Niels Dekker for the original patch. Fixes #1910
[SVN r48615]
2008-09-05 15:43:22 +00:00
Douglas Gregor
adb7b0a214 Change Boost.Function allocator behavior, from Emil Dotchevski
[SVN r43884]
2008-03-27 19:44:37 +00:00
Douglas Gregor
cead36cd5b Disable more Visual C++ warnings in Function headers. Fixes #1416
[SVN r41798]
2007-12-06 18:39:06 +00:00
John Maddock
2378ba59e7 Fix for Borland compilers.
[SVN r39657]
2007-10-02 17:41:35 +00:00
Douglas Gregor
53b95c386d Finalizes the fix to Bug #1260, making vtable_base an actual POD type (oops)
and playing more nicely with reinterpret_cast (thanks to Brad King for the
fixes).



[SVN r39285]
2007-09-14 21:05:46 +00:00
Douglas Gregor
3312c7ffcd function_template.hpp:
- Pass-by-reference internally, when we can. Fixes #1067



[SVN r39244]
2007-09-13 19:06:53 +00:00
Douglas Gregor
de27ae9697 function/function_base.hpp, function/function_template.hpp:
- Switch from dynamic initialization of the vtable pointer to static
    initialization (Fixes #1260)
  - Handle member pointers properly, only using mem_fn within the invoker
    to deal with all of the messy bits of calling member pointers



[SVN r39240]
2007-09-13 17:38:58 +00:00
Douglas Gregor
a7b9940f15 Handle GCC's -fno-exceptions properly. Fixes #1198
[SVN r39061]
2007-08-29 19:06:11 +00:00
Peter Dimov
872f12efee TR1 conformance: derive from unary_function/binary_function
[SVN r34481]
2006-07-08 18:07:33 +00:00
Peter Dimov
69ee6e2375 Fixed an 'unused parameter' warning.
[SVN r33204]
2006-03-02 21:24:57 +00:00