flat_multiset is a Sorted Associative Container that stores objects of type Key. More...
#include <flat_set.hpp>
Public Types | |
| typedef Key | key_type | 
| typedef Key | value_type | 
| typedef Compare | key_compare | 
| typedef Compare | value_compare | 
| typedef  ::boost::container::allocator_traits < Allocator >  | allocator_traits_type | 
| typedef  ::boost::container::allocator_traits < Allocator >::pointer  | pointer | 
| typedef  ::boost::container::allocator_traits < Allocator >::const_pointer  | const_pointer | 
| typedef  ::boost::container::allocator_traits < Allocator >::reference  | reference | 
| typedef  ::boost::container::allocator_traits < Allocator >::const_reference  | const_reference | 
| typedef  ::boost::container::allocator_traits < Allocator >::size_type  | size_type | 
| typedef  ::boost::container::allocator_traits < Allocator >::difference_type  | difference_type | 
| typedef Allocator | allocator_type | 
Public Member Functions | |
| typedef | BOOST_CONTAINER_IMPDEF (base_t::stored_allocator_type) stored_allocator_type | 
| typedef | BOOST_CONTAINER_IMPDEF (base_t::iterator) iterator | 
| typedef | BOOST_CONTAINER_IMPDEF (base_t::const_iterator) const _iterator | 
| typedef | BOOST_CONTAINER_IMPDEF (base_t::reverse_iterator) reverse_iterator | 
| typedef | BOOST_CONTAINER_IMPDEF (base_t::const_reverse_iterator) const _reverse_iterator | 
| flat_multiset () | |
| Effects: Default constructs an empty container.  More... | |
| flat_multiset (const Compare &comp, const allocator_type &a=allocator_type()) | |
| Effects: Constructs an empty container using the specified comparison object and allocator.  More... | |
| flat_multiset (const allocator_type &a) | |
| Effects: Constructs an empty container using the specified allocator.  More... | |
| template<class InputIterator > | |
| flat_multiset (InputIterator first, InputIterator last, const Compare &comp=Compare(), const allocator_type &a=allocator_type()) | |
| Effects: Constructs an empty container using the specified comparison object and allocator, and inserts elements from the range [first ,last ).  More... | |
| template<class InputIterator > | |
| flat_multiset (ordered_range_t, InputIterator first, InputIterator last, const Compare &comp=Compare(), const allocator_type &a=allocator_type()) | |
| Effects: Constructs an empty flat_multiset using the specified comparison object and allocator, and inserts elements from the ordered range [first ,last ).  More... | |
| flat_multiset (std::initializer_list< value_type > il, const Compare &comp=Compare(), const allocator_type &a=allocator_type()) | |
| Effects: Constructs an empty container using the specified comparison object and allocator, and inserts elements from the range [il.begin(), il.end()).  More... | |
| flat_multiset (ordered_unique_range_t, std::initializer_list< value_type > il, const Compare &comp=Compare(), const allocator_type &a=allocator_type()) | |
| Effects: Constructs an empty container using the specified comparison object and allocator, and inserts elements from the ordered unique range [il.begin(), il.end()).  More... | |
| flat_multiset (const flat_multiset &x) | |
| Effects: Copy constructs the container.  More... | |
| flat_multiset (BOOST_RV_REF(flat_multiset) mx) | |
| flat_multiset (const flat_multiset &x, const allocator_type &a) | |
| flat_multiset (BOOST_RV_REF(flat_multiset) mx, const allocator_type &a) | |
| flat_multiset & | operator= (BOOST_COPY_ASSIGN_REF(flat_multiset) x) | 
| flat_multiset & | operator= (BOOST_RV_REF(flat_multiset) mx) BOOST_CONTAINER_NOEXCEPT_IF(allocator_traits_type | 
| flat_multiset & | operator= (std::initializer_list< value_type > il) | 
| Effects: Copy all elements from il to *this.  More... | |
| template<class InputIterator > | |
| void | insert (InputIterator first, InputIterator last) | 
| Requires: first, last are not iterators into *this.  More... | |
| template<class InputIterator > | |
| void | insert (ordered_range_t, InputIterator first, InputIterator last) | 
| Requires: first, last are not iterators into *this and must be ordered according to the predicate.  More... | |
| void | insert (std::initializer_list< value_type > il) | 
| Effects: inserts each element from the range [il.begin(), il.end()).  More... | |
| void | insert (ordered_range_t, std::initializer_list< value_type > il) | 
| Requires: Range [il.begin(), il.end()) must be ordered according to the predicate.  More... | |
flat_multiset is a Sorted Associative Container that stores objects of type Key.
flat_multiset can store multiple copies of the same key value.
flat_multiset is similar to std::multiset but it's implemented like an ordered vector. This means that inserting a new element into a flat_multiset invalidates previous iterators and references
Erasing an element invalidates iterators and references pointing to elements that come after (their keys are bigger) the erased element.
This container provides random-access iterators.
| Key | is the type to be inserted in the multiset, which is also the key_type | 
| Compare | is the comparison functor used to order keys | 
| Allocator | is the allocator to be used to allocate memory for this container | 
| typedef ::boost::container::allocator_traits<Allocator> boost::container::flat_multiset< Key, Compare, Allocator >::allocator_traits_type | 
| typedef Allocator boost::container::flat_multiset< Key, Compare, Allocator >::allocator_type | 
| typedef ::boost::container::allocator_traits<Allocator>::const_pointer boost::container::flat_multiset< Key, Compare, Allocator >::const_pointer | 
| typedef ::boost::container::allocator_traits<Allocator>::const_reference boost::container::flat_multiset< Key, Compare, Allocator >::const_reference | 
| typedef ::boost::container::allocator_traits<Allocator>::difference_type boost::container::flat_multiset< Key, Compare, Allocator >::difference_type | 
| typedef Compare boost::container::flat_multiset< Key, Compare, Allocator >::key_compare | 
| typedef Key boost::container::flat_multiset< Key, Compare, Allocator >::key_type | 
| typedef ::boost::container::allocator_traits<Allocator>::pointer boost::container::flat_multiset< Key, Compare, Allocator >::pointer | 
| typedef ::boost::container::allocator_traits<Allocator>::reference boost::container::flat_multiset< Key, Compare, Allocator >::reference | 
| typedef ::boost::container::allocator_traits<Allocator>::size_type boost::container::flat_multiset< Key, Compare, Allocator >::size_type | 
| typedef Compare boost::container::flat_multiset< Key, Compare, Allocator >::value_compare | 
| typedef Key boost::container::flat_multiset< Key, Compare, Allocator >::value_type | 
      
  | 
  inlineexplicit | 
Effects: Default constructs an empty container.
Complexity: Constant.
      
  | 
  inlineexplicit | 
Effects: Constructs an empty container using the specified comparison object and allocator.
Complexity: Constant.
      
  | 
  inlineexplicit | 
Effects: Constructs an empty container using the specified allocator.
Complexity: Constant.
      
  | 
  inline | 
Effects: Constructs an empty container using the specified comparison object and allocator, and inserts elements from the range [first ,last ).
Complexity: Linear in N if the range [first ,last ) is already sorted using comp and otherwise N logN, where N is last - first.
      
  | 
  inline | 
Effects: Constructs an empty flat_multiset using the specified comparison object and allocator, and inserts elements from the ordered range [first ,last ).
This function is more efficient than the normal range creation for ordered ranges.
Requires: [first ,last) must be ordered according to the predicate.
Complexity: Linear in N.
Note: Non-standard extension.
      
  | 
  inline | 
Effects: Constructs an empty container using the specified comparison object and allocator, and inserts elements from the range [il.begin(), il.end()).
Complexity: Linear in N if the range [il.begin(), il.end()) is already sorted using comp and otherwise N logN, where N is il.begin() - il.end().
      
  | 
  inline | 
Effects: Constructs an empty container using the specified comparison object and allocator, and inserts elements from the ordered unique range [il.begin(), il.end()).
This function is more efficient than the normal range creation for ordered ranges.
Requires: [il.begin(), il.end()) must be ordered according to the predicate and must be unique values.
Complexity: Linear in N.
Note: Non-standard extension.
      
  | 
  inline | 
Effects: Copy constructs the container.
Complexity: Linear in x.size().
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
| typedef boost::container::flat_multiset< Key, Compare, Allocator >::BOOST_CONTAINER_IMPDEF | ( | base_t::stored_allocator_type | ) | 
| typedef boost::container::flat_multiset< Key, Compare, Allocator >::BOOST_CONTAINER_IMPDEF | ( | base_t::iterator | ) | 
| typedef boost::container::flat_multiset< Key, Compare, Allocator >::BOOST_CONTAINER_IMPDEF | ( | base_t::const_iterator | ) | const | 
| typedef boost::container::flat_multiset< Key, Compare, Allocator >::BOOST_CONTAINER_IMPDEF | ( | base_t::reverse_iterator | ) | 
| typedef boost::container::flat_multiset< Key, Compare, Allocator >::BOOST_CONTAINER_IMPDEF | ( | base_t::const_reverse_iterator | ) | const | 
      
  | 
  inline | 
Requires: first, last are not iterators into *this.
Effects: inserts each element from the range [first,last) .
Complexity: At most N log(size()+N) (N is the distance from first to last) search time plus N*size() insertion time.
Note: If an element is inserted it might invalidate elements.
      
  | 
  inline | 
Requires: first, last are not iterators into *this and must be ordered according to the predicate.
Effects: inserts each element from the range [first,last) .This function is more efficient than the normal range creation for ordered ranges.
Complexity: At most N log(size()+N) (N is the distance from first to last) search time plus N*size() insertion time.
Note: Non-standard extension. If an element is inserted it might invalidate elements.
      
  | 
  inline | 
Effects: inserts each element from the range [il.begin(), il.end()).
Complexity: At most N log(size()+N) (N is the distance from first to last) search time plus N*size() insertion time.
Note: If an element is inserted it might invalidate elements.
      
  | 
  inline | 
Requires: Range [il.begin(), il.end()) must be ordered according to the predicate.
Effects: inserts each element from the range [il.begin(), il.end()). This function is more efficient than the normal range creation for ordered ranges.
Complexity: At most N log(size()+N) (N is the distance from il.begin() to il.end()) search time plus N*size() insertion time.
Note: Non-standard extension. If an element is inserted it might invalidate elements.
      
  | 
  inline | 
References boost::multiprecision::backends::operator=().
      
  | 
  inline | 
References boost::move(), and boost::multiprecision::backends::operator=().
      
  | 
  inline | 
Effects: Copy all elements from il to *this.
Complexity: Linear in il.size().