Commit Graph

137 Commits

Author SHA1 Message Date
cb888a496d Remove unnecessary include of boost/integer.hpp 2023-02-17 03:48:52 +02:00
bf8898c95f Disable C5243 in function_base.hpp (closes #41) 2021-12-16 04:24:49 +02:00
4b25a75c03 Merge branch 'develop' into develop 2019-04-29 15:05:21 -04:00
5682111fad Whitespace 2019-04-29 13:24:59 -04:00
1694b32e1b Fixing another -Wswitch-enum warning. 2019-04-29 12:29:22 -04:00
eaf2151263 Cosmetic cleanup 2019-04-29 02:47:09 +03:00
d9043b76d6 Changed a switch statement to an if to reduce compiler warnings on more sensitive flags. 2019-04-25 13:16:15 -04:00
7b11b52e62 Make function_buffer visible, for UBSan 2018-11-13 19:10:11 +02:00
755d3c2001 Missing visibility mark on exception type 2018-10-25 08:32:29 -04:00
c0d41a880a Drop dependency on MPL 2018-09-22 15:27:54 -04:00
d1ad1141f3 Use enable_if from TypeTraits 2018-09-22 15:27:34 -04:00
b1fa00f3b1 Include workaround.hpp from config instead of detail 2018-09-22 15:04:52 -04:00
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
471f6244e4 Suppress weak vtables warning 2016-08-31 19:05:42 +03:00
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
bde64bf9eb Fix gcc 6 warnings about invoking placement new on a buffer of insufficient size. 2016-04-02 14:59:57 +03:00
3eb8954877 Merge pull request #7 from apolukhin/develop
Use Boost.TypeIndex to work with type_info to avoid bunch of ...
2015-07-22 10:53:33 -07:00
0c467707d9 Remove Borland workaround for obsolete and untested compiler/version. 2015-04-27 14:43:49 -04:00
f0ec326eb0 Use ! operator directly rather than boost::mpl::not with Boost supported compilers. 2015-04-27 04:15:31 -04:00
8998778f51 Use Boost.TypeIndex to work with type_info to avoid bunch of workarounds and non-optimal operators. Added RTTI-off tests 2015-04-25 17:45:13 +03:00
8cc1be159b Removed unnecessary header file include 2015-04-02 07:15:26 -04:00
74c9cc9680 Remove dependency on deprecated type_traits headers. 2015-03-30 01:47:08 -04:00
854f2e8d5d Fix ambiguous 'detail' errors under msvc-8.0. 2015-01-16 21:54:16 +02:00
8d5a27fb85 Function: Remove obsolete GCC version check.
[SVN r86111]
2013-10-01 08:46:26 +00:00
8760088d44 Function: Remove obsolete MSVC version checks.
[SVN r86018]
2013-09-30 00:16:55 +00:00
c0d4005441 Make sure that the cv flags are copied when we copy a reference to a function object. Fixes #4325
[SVN r62665]
2010-06-09 15:40:48 +00:00
820ad024fe Applied patch from #3618; fixes #3618
[SVN r62621]
2010-06-09 00:47:51 +00:00
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
de3b8e7451 Fixed tab and no-newline-at-end-of-file issues from inspection report
[SVN r61435]
2010-04-20 17:54:16 +00:00
22c6592a40 Fix function_base.hpp to not require typeid. Refs #3666. Requires [58127].
[SVN r58128]
2009-12-03 20:59:32 +00:00
8b63c146ea Work around Visual C++ copy constructor bug. Fixes #2929.
Based on the patch by Steven Watanabe.

[SVN r54619]
2009-07-03 22:22:03 +00:00
e10f4eaef9 Add missing #pragma warning(pop). Fixes #2767.
[SVN r53694]
2009-06-06 15:31:47 +00:00
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
07800455a8 Both Sun and Pgi on Linux correctly put typeinfo into the std
namespace, but function_base keys off the
BOOST_NO_EXCEPTION_STD_NAMESPACE macro instead of the
BOOST_NO_STD_TYPEINFO macro.  The attached patch changes
function_base to use the typeinfo macro.  Because eVC 4.2 doesn't
put typeinfo into the std namespace, I need to define
BOOST_NO_STD_TYPEINFO only for this eVC version.



[SVN r49571]
2008-11-03 18:37:49 +00:00
8ca7384121 Fix Boost.Function thread safety issue again
[SVN r49326]
2008-10-14 15:31:57 +00:00
75890fea53 CodeGear C++ fix, from Nicola Musatti. Fixes #2325
[SVN r48922]
2008-09-23 00:26:21 +00:00
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
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
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
e3dfa7268a Add forward-declaration header for Boost.Function. Fixes #1668
[SVN r48613]
2008-09-05 14:55:34 +00:00
bacb5d6752 Attempt to work around problem with allocator casts in Boost.Function
[SVN r46446]
2008-06-17 13:59:04 +00:00
adb7b0a214 Change Boost.Function allocator behavior, from Emil Dotchevski
[SVN r43884]
2008-03-27 19:44:37 +00:00
cead36cd5b Disable more Visual C++ warnings in Function headers. Fixes #1416
[SVN r41798]
2007-12-06 18:39:06 +00:00
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
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
e4f165a4e8 Disable MSVC warning about native code generation. Fixes #1163
[SVN r39060]
2007-08-29 18:59:16 +00:00
80a3f47099 Committed patch to eliminate warnings with GCC's -Wundef. Fixes #1197
[SVN r38827]
2007-08-21 15:35:19 +00:00
5c514ebe35 Try to work around EC++4 bug
[SVN r37471]
2007-04-18 12:13:53 +00:00
64c8d10fa8 Eliminate MSVC 8.0 warning
[SVN r35588]
2006-10-13 14:29:56 +00:00
87ad11583c Use ~Functor instead of ~function_type always, since it makes Borland
and vc6 and who knows what else happy.


[SVN r32832]
2006-02-11 19:08:25 +00:00