Commit Graph

257 Commits

Author SHA1 Message Date
Ion Gaztañaga
75f7c8fa73 Introduced BOOST_CONTAINER_FORCEINLINE so that mandatory inlining can be disabled selectively 2015-12-24 10:22:38 +01:00
Ion Gaztañaga
a3262c0ae7 Fix for Trac #11820 ("compiler error when using operator[] of map") 2015-12-24 01:14:10 +01:00
Ion Gaztañaga
283d8ff717 Merge branch 'include-string' of https://github.com/muggenhor/boost-container into muggenhor-include-string 2015-12-23 10:28:49 +01:00
Ion Gaztañaga
08e768f1d8 Fix comment about self-assignment 2015-11-06 21:49:55 +01:00
Ion Gaztañaga
629a2aa85c Use boost.container placement version in priv_construct 2015-10-31 00:53:59 +01:00
Giel van Schijndel
f60f0bde95 Make sure std::string constructor is available
.. because <stdexcept> only needs to have a forward declaration of
std::string. But that's not enough to invoke constructors of
std::exception (and derivatives) if we don't have a reference to an
std::string handy.
2015-10-30 14:23:37 +01:00
Ion Gaztañaga
e50a8f7cdf Merge branch 'patch-1' of https://github.com/praetorian20/container into praetorian20-patch-1 2015-10-24 21:39:06 +02:00
Ion Gaztañaga
c4505003c7 Minimize ifdef-ed code for BOOST_MOVE_HELPERS_RETURN_SFINAE_BROKEN 2015-10-17 10:17:30 +02:00
Ion Gaztañaga
1d5c367d62 Use BOOST_MOVE_HELPERS_RETURN_SFINAE_BROKEN as some compilers prefer return type SFINAE while others don't support it. 2015-10-17 09:39:56 +02:00
Ion Gaztañaga
d517bf46a8 - Simplified code using new priv_raw_begin(), renamed back_raw to priv_back_raw to match it.
- Avoid dynamic allocation in priv_merge when there is enough capacity for new elements.
2015-10-12 18:57:44 +02:00
Ion Gaztañaga
7764e05444 Changes to support GCC 3.4 2015-10-12 18:51:08 +02:00
Ion Gaztañaga
f8a4f01a86 Fixed Trac #11698 ("Missing return statement in static_storage_allocator") 2015-09-30 22:39:44 +02:00
Ion Gaztañaga
79274e4aae Fixed Trac #11697 ("Wrong initialization order in tuple copy-constructor") 2015-09-30 22:35:17 +02:00
Ion Gaztañaga
85b2ed509b Added debug assertions via BOOST_ASSERT to check preconditions in several members. All checks are O(1) 2015-09-18 14:39:17 +02:00
Ion Gaztañaga
3f4a5dec6e Add some C++1 missing functions to string and a couple of debug assertions 2015-09-18 14:38:38 +02:00
Ion Gaztañaga
f637fada71 Use newly refactored move/detail/std_fwd_xxx.hpp headers 2015-09-14 22:38:26 +02:00
Ion Gaztañaga
7071fbc7d8 Fixed unused argument warning in swap_resources().
Fixed changelog copy-paste error.
2015-09-10 12:09:08 +02:00
Ion Gaztañaga
f1f97518d3 Fixed Track #11627 and #11628 2015-09-09 09:48:09 +02:00
Ion Gaztañaga
33d2f0f7af Add Polymorphic Memory Resource utilities and rework the separately compiled library:
- Dlmalloc's based C function are boost_cont_xxx no longer exported, but wrapped into C++ linkage dlmalloc_xxx functions to effectively reuse Boost's dynamic library and autolink machinery instead of rewriting machinery to compile the C source file.
- Refactored scoped_allocator_adaptor's construct logic as it was shared with polymorphic allocator's one. Moved common logic to detail/dispatch_uses_allocator.hpp. Refactored also scoped_allocator_adaptor test utilities to be reused with polymorphic_allocator tests.
2015-09-07 19:16:46 +02:00
Ion Gaztañaga
77100c0bfc Removed commented code. 2015-09-07 19:08:48 +02:00
Ion Gaztañaga
f9918cf967 Removed piecewise_construct_t as it's not used yet 2015-09-07 19:08:08 +02:00
Ion Gaztañaga
b2c4f3c4cb Fixed shadowing warning 2015-09-07 19:07:32 +02:00
Ion Gaztañaga
c6a5f248c8 Separated constructors of default constructed allocators 2015-09-07 19:07:05 +02:00
Ion Gaztañaga
8851580370 Documentation fixes 2015-09-07 19:06:45 +02:00
Ashish Sadanandan
25f34506fd Doc fixes for flap_map complexity requirements
Removed typo from one complexity spec and added periods after few others for consistency
2015-08-14 16:27:19 -06:00
Ion Gaztañaga
a91f6d317b Fixed wrong call to vector::merge_unique in insert_unique and used placement construction in priv_merge_in_new_buffer 2015-07-21 23:40:52 +02:00
Ion Gaztañaga
a7f60c1e8c Fix for Trac #11412 ("reserve() : null pointer passed to memmove") 2015-07-02 13:50:08 +02:00
Ion Gaztañaga
61a2f49ef2 Fixes Trac #11388 (boost::container::list::emplace_back broken on Visual Studio 2010) 2015-06-12 23:51:58 +02:00
Ion Gaztañaga
acf4484fc7 Merge branch 'fix-doc' of https://github.com/kariya-mitsuru/container into kariya-mitsuru-fix-doc 2015-06-09 22:35:29 +02:00
Ion Gaztañaga
884c6e2bd2 Change spacing 2015-06-09 14:52:44 +02:00
Ion Gaztañaga
c6e1760be0 Merge branch 'bug-11380' of https://github.com/ilor/container into ilor-bug-11380 2015-06-09 10:47:30 +02:00
Tomasz Śniatowski
76f3c1ddcc Fix std:: forward declaration compile error on GCC with libc++
The code should not assume that libc++ is only ever used with Clang.

Fixes issue #11380, https://svn.boost.org/trac/boost/ticket/11380
2015-06-08 08:51:46 +02:00
Ion Gaztañaga
e198da5946 Use Intrusive's tree_value_compare class instead of duplicating code 2015-06-04 11:42:47 +02:00
Ion Gaztañaga
4f9d397507 Simplified swapping 2015-06-04 11:42:27 +02:00
Ion Gaztañaga
f02f5ec21f fix bug when erasing last elements 2015-06-04 11:40:46 +02:00
Ion Gaztañaga
ef54ab8784 Avoid branches in capacity() 2015-06-04 11:39:10 +02:00
Mitsuru Kariya
d94f52ef7d fix stable_vector#index_of's doxygen comment 2015-06-02 11:22:22 +09:00
Ion Gaztañaga
4cdb8caca4 Merge branch 'patch-1' of https://github.com/timsong-cpp/container into timsong-cpp-patch-1 2015-04-19 11:05:51 +02:00
timsong-cpp
6bf6c553fd Fix bug in capacity()
See http://stackoverflow.com/q/29727368/2756719; the bit-twiddling version is not equivalent to the original `return (index_size ? (index_size - ExtraPointers + extra_capacity) : index_size);`; it ends up subtracting, rather than adding, `extra_capacity`.
2015-04-19 04:30:08 -04:00
Ion Gaztañaga
3246e11ca2 Added new experimental merge functions to speed up flat_xxx range insertion 2015-04-14 15:22:06 +02:00
Ion Gaztañaga
6477543f3b Updated to new meta-functions reused from Intrusive/Move 2015-04-14 15:21:46 +02:00
Ion Gaztañaga
ad54608d78 Fix Trac #11139 2015-03-31 11:23:14 +02:00
Ion Gaztañaga
02e8762afe Update small_vector documentation + update links to Howard Hinnant's papers. 2015-03-08 08:53:23 +01:00
akumta
c194a6794d Update copy_move_algo.hpp
For ticket# 11075: https://svn.boost.org/trac/boost/ticket/11075
2015-03-05 11:45:34 -08:00
Ion Gaztañaga
e5f069da2b Reenginered partially propagable allocator support in vector. storage_is_unpropagable is now the basic building block, which is simpler and less error-prone. 2015-03-01 22:25:27 +01:00
Ion Gaztañaga
d39b1c143c Add missing initializer list overload taking an additional allocator. 2015-02-28 23:46:08 +01:00
Ion Gaztañaga
8db0f4ad64 small_vector's initializer list constructor was not implemented and tested. 2015-02-28 00:17:46 +01:00
Ion Gaztañaga
90b3af4229 Document small_vector_base 2015-02-27 19:21:58 +01:00
Ion Gaztañaga
3949963645 Fix "void multiset::insert(std::initializer_list<value_type> il)" calling base_t::insert_unique instead of base_t::insert_equal 2015-02-27 19:19:23 +01:00
Ion Gaztañaga
8cdfec7890 Add experimental small_vector class 2015-02-26 00:35:59 +01:00