Commit Graph
113 Commits
Author SHA1 Message Date
Marcel Raad a1d56c0c8b Add support for BOOST_NO_INTRINSIC_WCHAR_T
This fixes a compile error in lexical_cast's lexical_cast_typedefed_wchar_test_runtime regression test with MSVC.
2015-01-06 22:29:31 +01:00
Ion Gaztañaga 32722591d5 Divide meta_utils in two headers, core (with [dis|en]able_if[_c], is_same, integral_constant, identity) and the rest. 2015-01-04 02:12:51 +01:00
Ion Gaztañaga ab39252039 Use lightweight test. 2015-01-04 02:11:09 +01:00
Ion Gaztañaga 784c34fc16 Used macros to avoid code repetition in make_unique 2015-01-04 02:10:13 +01:00
Ion Gaztañaga d8084c45bc Add missing files. 2015-01-03 11:03:44 +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 36f74c5719 Use stl_algobase.h for ICC and Clang compilers using libstdc++ 2014-11-29 23:41:24 +01:00
Ion Gaztañaga 85b41c26d4 Limit libstdc++ only to GCC as clang/icc gnuc versions don't match well with libstdc++ installations 2014-11-29 18:45:13 +01:00
Ion Gaztañaga 910165c230 Added test for adl_move_swap.cpp
For move-emulation enabled types, if present, member swap is used, instead of the move-based swap.
2014-11-28 15:39:49 +01:00
Ion Gaztañaga cbda10ecdd Added adl_move_swap utility 2014-11-26 19:27:40 +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 e43819d1d2 Added nothrow variants to unique_ptr 2014-10-10 22:03:47 +02:00
Ion Gaztañaga ca7d74970a Removed some extra spaces. 2014-10-05 18:41:57 +02:00
Ion Gaztañaga 9452115ee8 Avoid being dependent on Boost.PP. 2014-10-05 18:41:40 +02:00
Ion Gaztañaga e5ca88a3c0 Removed unused parameter warning from doc_clone_ptr example. 2014-10-04 16:51:18 +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
Ion Gaztañaga 76ab7093ae Removed warnings in GCC 4.8 -Wall -pedantic 2014-09-25 16:45:22 +02:00
Ion Gaztañaga 4e7a046df2 Replaced <boost/move/utility.hpp> with <boost/move/utility_core.hpp> when possible to minimize dependencies. 2014-09-25 16:15:36 +02:00
Ion Gaztañaga 4115ecc45a Updated changelog with Git Pull #3 2014-09-23 16:37:59 +02:00
Ion Gaztañaga a66183b320 Merge branch 'MarcelRaad-patch-1' into develop 2014-09-23 16:25:31 +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 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 7349db265a Fixed typo in assignment test 2014-09-02 23:34:53 +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 cb06d13448 Copyright updates. 2014-08-22 18:34:19 +02:00
Ion Gaztañaga 86f1c4dc87 Enable MSVC extensions. /Za is buggy and unrecommended. It breaks rvalue references in newer MSVC compilers. 2014-08-22 18:29:28 +02:00
Daniel James 68efa1b3ab Add metadata file. 2014-08-18 15:07:21 +01:00
Ion Gaztañaga 4fd5cf3d13 Merge branch 'apolukhin-develop' into develop 2014-08-18 02:09:35 +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