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
d4d08ec10e
Remove non-move dependencies from headers to speed up compilations and avoid too many dependencies
2014-09-17 18:37:41 +02:00
Ion Gaztañaga
8539131b2a
Workaround for compilers with no std::nullptr_t in <cstddef>
2014-09-16 22:18:49 +02:00
Ion Gaztañaga
201976f0ec
Remove intrusive dependencies introduced with copy-paste.
2014-09-16 21:57:28 +02:00
Ion Gaztañaga
65c8c63ddb
Fixed is_convertible bug in missing_virtual_destructor
2014-09-04 00:24:44 +02:00
Ion Gaztañaga
3075014f2d
Added check for types with no virtual destructor when using default_delete and non-array types
2014-09-04 00:15:56 +02:00
Ion Gaztañaga
90be9ebe22
Extracted default_delete into its own header.
...
Extracted meta utilities used only by unique_ptr and friends to its own "unique_ptr_meta_utils.hpp" header.
2014-09-02 16:28:17 +02:00
Ion Gaztañaga
19d35253cf
Added support for bounded arrays in unique_ptr. Splitted test in several subtests.
2014-09-01 23:59:10 +02:00
Ion Gaztañaga
583378a946
Update boost::move documentation with a more accurate description.
2014-08-30 02:43:42 +02:00
Ion Gaztañaga
085a814cf2
Added missing typenames
2014-08-29 11:29:26 +02:00
Ion Gaztañaga
738e360f40
Improved move-only deleters in C++03, now they can be caught as rvalues.
2014-08-29 10:28:09 +02:00
Ion Gaztañaga
364ee17476
Simplified and improved unique_ptr implementation:
...
- No array specialization to avoid code duplication
- Constructible and assignable from literal zero
2014-08-27 23:21:36 +02:00
Ion Gaztañaga
6b2982a385
Removed unneded macros that pollute user code.
2014-08-27 23:20:30 +02:00
Ion Gaztañaga
e3959c982c
Corrected typos in documentation
2014-08-24 21:17:43 +02:00
Ion Gaztañaga
7797b52f61
Added missing cstddef includes and corrected the use of plain "size_t"
2014-08-24 21:17:26 +02:00
Ion Gaztañaga
a9bc0876cd
Added missing cstddef for std::nullptr_t
2014-08-23 00:32:30 +02:00
Ion Gaztañaga
e1da7c5ca1
Added class unique_ptr under boost::movelib namespace. This could be lifted to ::boost namespace if the community agrees.
...
This unique_ptr implementation is based on C++14, including make_unique functions. Large parte of the testsuite is based on Howard Hinnant's unique_ptr emulation testsuite.
2014-08-22 18:34:34 +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
bb00439e4f
Resolved conflicts when merging move_if_noexcept implementation
2014-08-17 16:42:31 +02:00
Ion Gaztañaga
d45f2cd734
Reduced dependencies with type_traits. Updated "forward" to be standard conforming.
2014-08-03 21:26:46 +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
Antony Polukhin
c60351de0f
Fix move_if_noexcept: add const to reference
2014-06-23 12:35:41 +04:00
Antony Polukhin
f02990aebc
Added initial implementation of move_if_noexcept
2014-06-04 19:57:30 +04:00
Ion Gaztañaga
51c9e874a8
Fixes #8420 and some clang errors.
2014-02-24 08:29:31 +01:00
Ion Gaztañaga
f1de12bfef
Fixes #9045 ("Wrong macro name on docs")
2014-02-23 22:02:39 +01:00
Ion Gaztañaga
688955ab9b
Fixes #9482
2014-02-23 21:31:52 +01:00
Ion Gaztañaga
062000ed68
Added BOOST_MOVE_RET
2014-02-15 23:04:15 +01:00
Ion Gaztañaga
51dc02e043
Added a convertible guard to conversion-aware macro to avoid ambiguities in overloads.
...
[SVN r85659]
2013-09-12 21:56:02 +00:00
Ion Gaztañaga
55d5015a2b
Fix has_nothrow_move and avoid boost::has_nothrow_move<copyable>::value test as each compiler can deduce a different thing depending on its type analysis.
...
[SVN r85410]
2013-08-20 18:10:09 +00:00
Ion Gaztañaga
fa3137bc25
Fixes #8979
...
[SVN r85296]
2013-08-10 22:41:48 +00:00
Ion Gaztañaga
0cd5b2022c
FixesFixes #8764 .
...
[SVN r85182]
2013-08-01 15:18:00 +00:00
Ion Gaztañaga
b0ba0bb9c0
Fixes #8765 .
...
[SVN r85181]
2013-08-01 14:43:25 +00: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
5bbb9bbf0f
Fixes #7830
...
[SVN r82206]
2012-12-25 23:07:01 +00:00
Hartmut Kaiser
e38f7faaf6
Move: applying patch fixing a problem when compiling Boost.Container with newer compilers
...
[SVN r81873]
2012-12-12 14:39:17 +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
Marshall Clow
b16287f72a
Remove usage of deprecated macros
...
[SVN r81492]
2012-11-23 14:57:04 +00:00
Ion Gaztañaga
34009be499
Ticket #7031 : (back_|front_)move_insert_iterator::op= cannot take rvalue
...
[SVN r79431]
2012-07-11 22:32:47 +00:00
Ion Gaztañaga
29b97a7513
Ticket #7095 : warning: unrecognized __attribute__((__may_alias__))
...
[SVN r79424]
2012-07-11 17:59:25 +00:00
Ion Gaztañaga
8a4cef0b82
Trailing whitespaces
...
[SVN r78520]
2012-05-20 10:08:33 +00:00
Ion Gaztañaga
026c48d377
Added BOOST_COPY_ASSIGN_REF_BEG/END macro to ease portable template class usage
...
[SVN r77890]
2012-04-10 18:48:02 +00:00
Ion Gaztañaga
099eb41858
Added BOOST_RV_REF_BEG and BOOST_RV_REF_END macros to ease declaring rvalues of template classes
...
[SVN r77483]
2012-03-22 18:51:38 +00:00
Ion Gaztañaga
0c91eec7d4
Fixed double inline
...
[SVN r76546]
2012-01-16 21:24:21 +00:00