Commit Graph
326 Commits
Author SHA1 Message Date
Ion Gaztañaga dbafd61d4d updated move assignments and swap operations to "N4258: Cleaning-up noexcept in the Library, Rev 3" with some customizations. 2015-01-19 00:18:44 +01:00
Ion Gaztañaga 18ad354dcf New allocator defines is_always_equal as true 2015-01-18 13:10:11 +01:00
Ion Gaztañaga f0f35a830d Added C++17's is_always_equal to allocator_traits and scoped_allocator_adaptor 2015-01-18 11:22:52 +01:00
Ion Gaztañaga 1012987897 Fix max_size to return the size_type(-1)/sizeof(value_type), as otherwise it would overflow on allocation. 2015-01-17 22:52:17 +01:00
Ion Gaztañaga 7635eba375 Typedef'ed allocator_arg_t as "const std::allocator_arg_t &" to improve interoperability between C++11 allocator-aware types. 2015-01-17 19:11:52 +01:00
Ion Gaztañaga 37db43b697 Try to fix MSVC12 warnings of uninitialized variables when using no exception macros. 2015-01-17 17:35:05 +01:00
Ion Gaztañaga 69324174c7 Support types with std::allocator_arg_at with boost::container::scoped_allocator_adaptor 2015-01-11 23:50:58 +01:00
Ion Gaztañaga a322203a89 Replaced _MSC_VER with BOOST_HAS_PRAGMA_ONCE before #pragma once. 2015-01-10 12:50:17 +01:00
Ion Gaztañaga 36c8f81e42 Add placement new operator to avoid <new> unnecessarily. 2015-01-10 10:58:08 +01:00
Ion Gaztañaga 09b653c40b Define insert_iterator specialization in inline namespace std in libc++. 2015-01-09 21:49:52 +01:00
Ion Gaztañaga 64026d26c2 Correctly initialize vector_value_traits_base<T>::trivial_dctr_after_move 2015-01-09 21:20:24 +01:00
Ion Gaztañaga 984be81160 Add insert_iterator forward declaration. 2015-01-09 21:19:35 +01:00
Ion Gaztañaga f7cc3c4f74 Removed unused slist.hpp include. 2015-01-08 15:35:43 +01:00
Ion Gaztañaga 2856b89789 Add max_align_t to the namespace. 2015-01-06 22:46:51 +01:00
Ion Gaztañaga 28855001ab Merge branch 'awulkiew-patch-1' into develop 2015-01-05 09:29:06 +01:00
Adam Wulkiewicz 099966e1cf Fix varray_detail::construct() (version emulating perfect forwarding). 2015-01-04 04:00:46 +01:00
Ion Gaztañaga 37578ccaa2 New header, minimal_char_traits_header.hpp, to avoid including <string> to use char_traits when possible. 2015-01-04 02:30:57 +01:00
Ion Gaztañaga ddc89f32d9 Disabled warning #4345 (behavior change: an object of POD type constructed with an initializer of the form () will be default-initialized) 2015-01-04 02:30:19 +01:00
Ion Gaztañaga a369e3c8c5 Avoid instantiating iterator tags to allow iterators that define iterator_categories with forward declared tags. 2015-01-04 02:29:15 +01:00
Ion Gaztañaga 493f19f2a9 New tests, to measure if container headers include all what's needed to use them. 2015-01-04 02:27:23 +01:00
Ion Gaztañaga 360957a797 Massive dependency reduction. Removed dependency on several boost libraries and standard C++ headers. 2015-01-02 19:34:21 +01:00
Ion Gaztañaga 955248b739 Replace "Allocator" template parameter with "A", according to the standard. 2014-12-11 22:01:58 +01:00
Ion Gaztañaga 456e9fedcb Some adaptations due to internal Intrusive changes. 2014-12-08 15:49:21 +01:00
Ion Gaztañaga 32418cab5f Use boost::adl_move_swap instead of custom swap or std::swap for performance and compatibility reasons. 2014-11-28 15:41:44 +01:00
Ion Gaztañaga afd1c2d266 Use boost::adl_move_swap instead of own swap utility
Imported basic algorithms from Boost.Intrusive
2014-11-26 19:33:27 +01:00
Ion Gaztañaga 7971dc6602 Refactored uses of <iterator> and <algorithm> to avoid dependencies where possible. 2014-11-26 07:08:06 +01:00
Ion Gaztañaga d514c1ab66 Refactored comparison functors to reuse compare_functors.hpp classes 2014-11-23 10:07:12 +01:00
Ion Gaztañaga 1d38ecfd10 Fixed #10790 (Trac): long long errors from container 2014-11-22 12:26:35 +01:00
Ion Gaztañaga e6d19fb408 Fixed in bug in vector::operator== 2014-11-09 21:06:36 +01:00
Ion Gaztañaga 652b870088 Merge branch 'develop' of github.com:boostorg/container into develop 2014-11-01 20:04:18 +01:00
Ion Gaztañaga 6f1f162cb3 - Added nth and index_of.
- Used BOOST_MOVE_BASE
2014-11-01 20:03:25 +01:00
Daniel James 379389867a Remove invalid character that was breaking the documentation build.
UTF-8 should be used in quickbook.
boost-1.57.0
2014-10-17 19:38:03 +01:00
Ion Gaztañaga 6d034733bd Added missing #pragma once 2014-10-13 23:26:01 +02:00
Ion Gaztañaga cc699e956f Updated due to Intrusive detail changes. 2014-10-10 18:23:19 +02:00
Ion Gaztañaga 5d6123152c Removed unneeded includes. Refactores std forward declarations 2014-10-04 09:05:04 +02:00
Ion Gaztañaga d19b012d53 Reduced include dependencies:
- Replaced boost/move/move.hpp with boost/move/utility_core.hpp
- Replaces <new> with placement_new.hpp
- Removed some unneeded std includes.
2014-09-26 08:12:40 +02:00
Ion Gaztañaga 3af96e0801 Implements N3644.
- Avoid deriving from std::iterator_traits as iterators become too fat.
- Use intrusive's reverse_iterator some std::reverse_iterator-s don't value initialize base.
2014-09-24 16:09:56 +02:00
Ion Gaztañaga 92e81fcf77 Fix compile error in GCC due to missing include and fixed some signed/unsigned comparison warnings 2014-09-23 18:50:46 +02:00
Ion Gaztañaga e697122a2c Updated tests to avoid manual memory management. Replaced with unique_ptr and a reference. Normalized CheckEqualContainers to use references instead of pointers. 2014-09-23 17:30:31 +02:00
Ion Gaztañaga 4d5b9a80cf Added life cout and double destruction assertions to test integer-like classes.
Changelog updated with double destruction bugs fix.
2014-09-23 17:29:26 +02:00
Ion Gaztañaga 5477125eeb Added /FIXED:NO flag to projects to make them compatible with some memory error detection tools 2014-09-23 17:28:13 +02:00
Ion Gaztañaga be9837fd54 Fix multiple destructor bug, pointer was not incremented in ~scoped_destructor_n() 2014-09-23 16:58:38 +02:00
Ion Gaztañaga 44d326e159 Added explicit guarantee for iterators to containers of incomplete types. Added iterators to the recursive container example. 2014-09-22 22:45:55 +02:00
Ion Gaztañaga f5e678fc70 Remove warning of unused variable. 2014-09-22 22:31:34 +02:00
Ion Gaztañaga 01c3f5d57e Merge branch 'mikael-s-persson-fix-incomp-type-iterators' into develop 2014-09-22 22:03:33 +02:00
mikael 59b46cd338 Fixes a small issue that prevented the use of iterators of containers of incomplete types. Added iterators of incomp-types to unit-tests. 2014-09-21 19:46:58 -04:00
Ion Gaztañaga 3bbb0bbe0e Fixed wrong BOOST_CONTAINER_VECTOR_ALLOC_STATS comments in vector_alloc_base, they should go to the derived vector class.
Fixed error in void assign(FwdIt first, FwdIt last) when fwd expansion occurs, capacity was not being updated.
Optimized erasure when the type has_trivial_destructor_after_move.
Simplified a bit backwards expansion code.
Optimized priv_uninitialized_construct_at_end calling memmove-aware functions instead of using a hand-written loop
2014-09-21 23:57:23 +02:00
Ion Gaztañaga 33c920d435 Removed unneeded includes. 2014-09-21 23:50:40 +02:00
Ion Gaztañaga 76fcab1a09 Use emplace instead or push_back in priv_insert_ordered_range 2014-09-20 17:30:09 +02:00
Ion Gaztañaga 1e40192e96 Added more tests for backwards expansion 2014-09-20 17:29:41 +02:00