Ion Gaztañaga
23c12bef69
Add BOOST_MOVE_TO_LV to help reducing potential UB
2022-01-02 00:03:38 +01:00
Ion Gaztañaga
3ce9452f93
Definitely disable MAY_ALIAS for emulation rv_ref except for GCC 4.4
2018-09-26 01:13:00 +02:00
Ion Gaztañaga
5e2e0f944e
Use BOOST_MAY_ALIAS only for GCC 4.4, as other MSVC, GCC, and Clang don't seem to need it.
2018-09-15 00:54:16 +02:00
Christopher Hunt
210da842d8
Move may_alias attribute for xlC++ compatibility.
...
This also aligns usage of the `may_alias` attribute with other boost libraries. Fixes #19 .
2018-08-31 19:04:05 -04:00
Ion Gaztañaga
2063004f7b
Use reinterpret-cats for rv-cast to avoid sanitizer errors.
2018-06-21 23:57:29 +02:00
Andrey Semashev
7aadf5c6c7
Use BOOST_MAY_ALIAS from Boost.Config.
...
This will add support for more compilers implementing the attribute.
2017-07-29 17:38:10 +03:00
Ion Gaztañaga
1194a39ab3
Undo commit b474e8c28a as it breaks some Boost libraries. Emulation limitations will be documented.
2016-07-05 23:18:21 +02:00
Ion Gaztañaga
daabab5261
Add missing BOOST_MOVE_FORCEINLINE
2016-06-30 16:22:27 +02:00
Ion Gaztañaga
fec7e30d36
Use BOOST_MOVE_TO_RV_CAST in the newly fixed assignment operator.
...
Update changelog
2016-06-30 12:22:41 +02:00
Flamefire
38d556a5bd
Fix assignment of move-and-copy emulated classes
2016-05-12 13:30:08 +02:00
Ion Gaztañaga
541f28037d
Fixed Trac #11758 : "BOOST_MOVABLE_BUT_NOT_COPYABLE doesn't reset private access with rvalue ref version"
2016-02-23 16:17:42 +01:00
Ion Gaztañaga
ab98479759
Introduce BOOST_MOVE_FORCELINE, disabled by default, so that we can start speeding up debug builds that use Boost.Move
2015-12-24 10:39:57 +01:00
Ion Gaztañaga
bd9532a6a4
Documentation fixes:
...
- core.hpp: hide non-public macros
- default_delete.hpp: Hide detail code
- unique_ptr.hpp: Likewise
- utility_core.hpp: Document move_if_not_lvalue_reference
2015-09-13 21:50:34 +02:00
Ion Gaztañaga
0a429e5de9
Use reinterpret_cast instead of static_cast when the address sanitizer is on to avoid errors in C++03 emulation.
2015-07-02 14:55:51 +02:00
Ion Gaztañaga
4a44ed3d26
Modify unique_ptr's constructor from convertible unique_ptr's to take the argument by value. This allows constructing unique_ptr from functions returning convertible unique_ptr's. See https://svn.boost.org/trac/boost/ticket/11259 for some details.
2015-05-06 12:32:11 +02:00
Ion Gaztañaga
4f9c2b62fb
-> Added new meta-utils that were duplicated in Container & Intrusive.
...
-> Use some of them to avoid SFINAE instantiation errors in some old compilers.
-> Added a macro to static_cast or reinterpret_cast to rv<T> so in the future we can avoid some sanitizer errors when using static_cast
2015-04-12 12:26:46 +02:00
Ion Gaztañaga
d61685461c
Include boost/config.hpp before testing BOOST_HAS_PRAGMA_ONCE.
2015-02-02 15:58:29 +01:00
Ion Gaztañaga
6c1b630d4d
Use is_class to allow union types for boost::rv<>
2015-01-28 20:21:10 +01:00
Ion Gaztañaga
35a8b69c94
Replaced _MSC_VER with BOOST_HAS_PRAGMA_ONCE before #pragma once.
2015-01-10 12:49:25 +01:00
Ion Gaztañaga
8503b508e8
Reduced dependencies on other Boost libraries to make the library a bit more lightweight.
2015-01-02 18:34:14 +01:00
Ion Gaztañaga
ad50fba54f
Added BOOST_MOVE_BASE utility
2014-11-01 19:32:36 +01:00
Ion Gaztañaga
8355309c5f
Added #pragma once
2014-11-01 19:28:24 +01:00
Ion Gaztañaga
1f6892c935
Fix GCC-4.9 c++14 regression (see https://gcc.gnu.org/PR63437 ) avoiding parenthesied BOOST_MOVE_RETURN.
2014-10-12 10:23:54 +02:00
Ion Gaztañaga
78e032ccf0
Fixes Trac #10460
2014-10-01 00:21:38 +02:00
Ion Gaztañaga
1338039e7a
- Derive move_detail::is_rv from integral_constant to recover the internal "::type" typedef
...
- Fix typo in header guard
2014-09-30 20:10:01 +02:00
Marcel Raad
9f31553033
Don't delete copy constructor when rvalue references are disabled
...
Before SVN r82706 from February 2013 (git a7091d1009 ), Boost.Move worked perfectly for compilers that supported deleted functions without supporting rvalue references (for example, clang with libstdc++ 4.2.1 on Mac to support OS X 10.6). r82706 broke those setups as temporaries now call the deleted copy constructor instead of the move constructor. This change reverts those setups to the old behavior.
2014-09-23 15:37:28 +02:00
Ion Gaztañaga
291a95c30a
Reduced unused classes from meta_utiles and simplified the implementation of several traits classes to avoid inheritance from integral_constant
...
Moved declval to utility_core.hpp
2014-09-22 00:15:30 +02:00
Ion Gaztañaga
c4bd007098
Move "forward_type" to core.hpp
2014-09-17 23:33:08 +02:00
Ion Gaztañaga
e3959c982c
Corrected typos in documentation
2014-08-24 21:17:43 +02:00
Ion Gaztañaga
3c56780e0e
- Splitted utility.hpp into utility_core.hpp and utility.hpp. The first one implements move() and forward() minimizing external dependencies. utility.hpp includes utility_core.hpp and implemente move_if_noexcept.cpp
...
- Changed move_if_noexcept with a single function
- Changed test case to use boost/core/lightweight_test.hpp
- Added boost::is_nothrow_move_constructible<T>::value to is_nothrow_move_constructible_or_uncopyable so types with only a non-throwing move constructor is forwarded with move_if_noexcept.
-
2014-08-18 02:03:35 +02:00
Ion Gaztañaga
388b71d333
Fixed Trac #9785 : Compiler warning with intel icc in boost/move/core.hpp
2014-08-01 17:29:59 +02:00
Ion Gaztañaga
f1de12bfef
Fixes #9045 ("Wrong macro name on docs")
2014-02-23 22:02:39 +01:00
Ion Gaztañaga
062000ed68
Added BOOST_MOVE_RET
2014-02-15 23:04:15 +01:00
Ion Gaztañaga
fe513fd14c
Fixes #8842 .
...
[SVN r85180]
2013-08-01 14:17:39 +00:00
Ion Gaztañaga
dbc1ef7722
Fix missing const in BOOST_COPY_ASSIGN_REF_3_TEMPL_ARGS
...
[SVN r84339]
2013-05-18 09:43:17 +00:00
Ion Gaztañaga
7c91cca54f
Fixes #8231
...
[SVN r83270]
2013-03-03 12:21:48 +00:00
Ion Gaztañaga
bf475b68a8
Fixes #7969
...
[SVN r82711]
2013-02-04 05:34:22 +00:00
Ion Gaztañaga
a7091d1009
Fixes #7969
...
[SVN r82706]
2013-02-03 20:42:26 +00:00
Ion Gaztañaga
8e3fb9acbb
Fixes #7832
...
[SVN r82230]
2012-12-27 22:33:06 +00:00
Ion Gaztañaga
b4349e3fa7
* Better header segregation (bug
...
[@https://svn.boost.org/trac/boost/ticket/6524 #6524 ]).
* Small documentation fixes
* Replaced deprecated BOOST_NO_XXXX with newer BOOST_NO_CXX11_XXX macros.
[SVN r81513]
2012-11-24 20:48:31 +00:00