• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1->Change "insert" and "push_back"/"push_front" to catch non-const rvalues
2->Add an example with stateful allocators
3->Add test to check convertible types in push_back/insert
4->Align with C++11 [multi]map::insert(P &&p) overload.
5->Fix code marked with "//to-do: if possible, an efficient way to deallocate allocated blocks"
6->Add BOOST_CONTAINER_TRY, etc. macros to allow disabling exceptions only in this library (just like Boost.Intrusive)
7->Add macro to change the default allocator std::allocator to another one
8->Add front()/back() to string
9
10
11Review allocator traits
12-> Avoid any rebind<>::other
13-> Review select_on_container_copy_xxx
14-> Review propagate_on_xxx
15-> Put default constructed containers with their own constructor (different nothrow guarantees). Optimization, not needed
16-> Default + swap move constructors correct?
17-> Review container documentation in swap/copy/move regarding allocators
18
19Check all move constructors: swap might not be a valid idiom, allocators must be move constructed,
20intrusive containers are now movable
21
22Add and test:
23
24Test different propagation values and with inequal allocators
25
26propagate_on_container_move_assignment
27select_on_container_copy_construction
28propagate_on_container_swap
29propagate_on_container_copy_assignment
30
31Test move constructors with data values and unequal allocators
32
33An allocator should use a smart allocator not constructible from raw pointers to catch missing pointer_traits calls
34
35Add initializer lists
36
37Write forward_list
38
39check move if noexcept conditions in vector, deque and stable_vector
40
41Add noexcept testing using static_assert (Howard Hinnants's suggestion):
42
43   #include <type_traits>
44
45   struct A
46   {
47      void foo() noexcept;
48   };
49
50   static_assert(noexcept(std::declval<A&>().foo()), "A::foo() should be noexcept");
51
52Detect always equal or unequal allocators at compiler time. operator== returns true_type or false_type
53
54change virtual functions with pointers to avoid template instantiation for every type
55
56Add hash for containers
57
58Add std:: hashing support
59
60Fix trivial destructor after move and other optimizing traits
61
62Implement n3586, "Splicing Maps and Sets" (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3586.pdf)
63