576 Commits

Author SHA1 Message Date
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