Ion Gaztañaga
342bd73aeb
Implement storage_can_be_propagated and is_always_equal.
2015-02-26 00:25:14 +01:00
Ion Gaztañaga
c2ea5da716
Fix move constructors with unequal allocators and move/copy assignment of tree.
2015-02-26 00:22:23 +01:00
Ion Gaztañaga
012781cc94
Try to support GCC's versioned std namespace
2015-02-26 00:16:47 +01:00
Ion Gaztañaga
7b3d70ad83
Fix pair's swap to avoid unqualified swap calls.
2015-02-26 00:16:13 +01:00
Ion Gaztañaga
5ea8e24923
Update "are_elements_contiguous" for move iterators.
2015-02-26 00:15:23 +01:00
Ion Gaztañaga
f47bf08ccc
Try to definitely fix Trac Issue #9931 (flat_map::insert(ordered_unique_range_t...) fails with move_iterators")
2015-02-03 16:09:47 +01:00
Ion Gaztañaga
22f1d32f7b
Addd new constructors to containers, according to C++14's new constructors taking allocator arguments.
2015-02-03 14:08:29 +01:00
Ion Gaztañaga
a7adc46a54
More changes to include boost/config.hpp before testing BOOST_HAS_PRAGMA_ONCE
2015-02-02 16:00:58 +01:00
Ion Gaztañaga
10d027aa9c
Include boost/config.hpp before testinG BOOST_HAS_PRAGMA_ONCE.
2015-02-02 15:26:53 +01:00
Ion Gaztañaga
fc0bfefab4
Merge branch 'smart-quotes' of https://github.com/yuriks/container into yuriks-smart-quotes
2015-02-01 00:10:39 +01:00
Yuri Kunde Schlesner
d6d554d395
Replace "smart quotes" Latin1 characters
...
They cause MSVC to print warnings every time this file is included if on
a Japanese locale.
2015-01-31 21:00:17 -02:00
Ion Gaztañaga
b786c8f716
Replaced BOOST_CONTIANER_NOEXCEPT with BOOST_NOEXCEPT
2015-01-28 22:11:00 +01:00
Ion Gaztañaga
9fede24d7e
Replace BOOST_MOVE_IMPDEF with BOOST_CONTAINER_IMPDEF
2015-01-26 00:33:40 +01:00
Ion Gaztañaga
ef7137a945
Replace BOOST_MOVE_IMPDEF with BOOST_CONTAINER_IMPDEF
2015-01-26 00:30:01 +01:00
Ion Gaztañaga
cb732a22be
Replace BOOST_MOVE_IMPDEF with BOOST_CONTAINER_IMPDEF
2015-01-26 00:14:35 +01:00
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
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
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
6f1f162cb3
- Added nth and index_of.
...
- Used BOOST_MOVE_BASE
2014-11-01 20:03:25 +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
be9837fd54
Fix multiple destructor bug, pointer was not incremented in ~scoped_destructor_n()
2014-09-23 16:58:38 +02:00
Ion Gaztañaga
f5e678fc70
Remove warning of unused variable.
2014-09-22 22:31:34 +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