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
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
27f99047a8
Documentaion macros in adaptive_pool
2014-09-20 17:29:26 +02:00
Ion Gaztañaga
d2bd31e4d0
Add new documentation macros and tested in vector.
2014-09-20 17:28:41 +02:00
Ion Gaztañaga
3025cc41b6
Replace "boost/move/utility.hpp" with "boost/move/utility_core.hpp" to minimize dependencies.
2014-09-17 23:36:23 +02:00
Ion Gaztañaga
5313086d54
Updated position insertion code.
...
Fixed backwards expansion calling too many destructors nd added more tests to detect similar errors.
2014-09-17 21:52:34 +02:00
Ion Gaztañaga
0ccf576872
Updated range insertion code for enhanced performance.
2014-09-17 21:51:38 +02:00
Ion Gaztañaga
f213f55f20
Includes: Updated detail/xxx.hpp includes to core/xxx.hpp, added some missing move/traits.hpp and removed some unused ones.
2014-09-17 21:49:47 +02:00
Ion Gaztañaga
abc8f80ea6
Remove BOOST_MOVABLE_BUT_NOT_COPYABLE from basic_string_base as it comflicts with is_copy_constructible and other utilities that inspect the internal tag looking for noncopyable types.
2014-08-29 14:19:54 +02:00
Ion Gaztañaga
ff6e90a720
Removed incorrect deprecated function warning macros in MSVC compilers.
2014-08-29 12:54:45 +02:00
Robert Matusewicz
cbe191b5e3
add std::initializer_list support to flat_set and flat_multiset
2014-08-28 13:15:14 +02:00
Robert Matusewicz
e2b815c196
add std::initializer_list support for flat_map and flat_multimap
2014-08-28 13:15:10 +02:00
Robert Matusewicz
f8ebfa472a
Add std::initializer_list to the following containers:
...
* deque
* map
* multimap
* set
* multiset
* list
* slist
Tested on clant and g++
2014-08-27 17:34:25 +02:00
Robert Matusewicz
089edf9d35
add support for std::initializer_list to boost::container::static_vector
2014-08-19 20:23:14 +02:00
Robert Matusewicz
ac4dde2c6e
add std::initializer_list support for boost::container::vector
2014-08-15 20:25:16 +02:00
Ion Gaztañaga
dd01853881
Erased tab & removed unneeded clear() in assignment
2014-08-15 18:13:05 +02:00
Ion Gaztañaga
c03b2357ce
Erased tab & removed unneeded clear() in assignment
2014-08-15 18:12:18 +02:00
Ion Gaztañaga
a166923e83
Fixed documentation errors with "position", "pos", "hint" and "p" iterators indicating insertion/emplace position.
2014-08-15 17:20:57 +02:00
Robert Matusewicz
d0f8fe793c
add support for std::initialize_list in stable_vector constructor, operator=, assign and insert methods
2014-08-15 15:32:07 +02:00
Ion Gaztañaga
24cf58a0f0
Fixed wrong comment on required allocator type
2014-08-14 13:39:28 +02:00
Ion Gaztañaga
03582c4498
Workaround for MSVC compilers, that fail to properly handle template specializations with constness subtleties.
2014-08-03 22:08:59 +02:00
Ion Gaztañaga
fab3df0a04
Added emplace optimization specializations for compilers with rvalue references but without variadic templates (e.g. MSVC10&11)
2014-08-03 11:09:54 +02:00
Ion Gaztañaga
90be67e81f
Improved placement proxy to avoid temporary objects when constructing from values from the target type.
...
Added testcase based on Howard Hinnant's "Insert vs. Emplace" article.
2014-08-02 21:30:39 +02:00
Ion Gaztañaga
d849f80ea5
Removed tabs.
2014-07-30 16:32:55 +02:00
Ion Gaztañaga
52af899129
Merge branch 'aix_fix' of https://github.com/ibmsoe/container into ibmsoe-aix_fix
2014-07-30 16:20:15 +02:00
Ion Gaztañaga
941eb27e1d
Updated and documented non-standard optimizations based on memset
2014-07-20 14:43:12 +02:00
Axel Ismirlian
960d649e99
Added missing AIX definition for sched.h (previously out of scope).
2014-07-16 15:48:12 -05:00