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
63d45d2fdd
Updated type traits workaround deleted copy constructors
2015-01-17 19:59:33 +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
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
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
8355309c5f
Added #pragma once
2014-11-01 19:28:24 +01: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
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
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
7797b52f61
Added missing cstddef includes and corrected the use of plain "size_t"
2014-08-24 21:17:26 +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
d45f2cd734
Reduced dependencies with type_traits. Updated "forward" to be standard conforming.
2014-08-03 21:26:46 +02:00
Ion Gaztañaga
51c9e874a8
Fixes #8420 and some clang errors.
2014-02-24 08:29:31 +01: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