![]()  | 
  
    Spatial C++ Library
    
   Generic Multi-Dimensional Containers and Spatial Operations 
   | 
 
Non-associative containers that and store values in space that can be represented as boxes. More...
#include <idle_box_multiset.hpp>
Inherits spatial::details::Kdtree< details::Static_rank< Rank >, const Key, const Key, Compare, Alloc >.
Public Member Functions | |
| idle_box_multiset () | |
| idle_box_multiset (const Compare &compare) | |
| idle_box_multiset (const Compare &compare, const Alloc &alloc) | |
| idle_box_multiset (const idle_box_multiset &other, bool balancing=false) | |
| idle_box_multiset & | operator= (const idle_box_multiset &other) | 
  Public Member Functions inherited from spatial::details::Kdtree< details::Static_rank< Rank >, const Key, const Key, Compare, Alloc > | |
| iterator | begin () | 
| const_iterator | begin () const | 
| const_iterator | cbegin () const | 
| iterator | end () | 
| const_iterator | end () const | 
| const_iterator | cend () const | 
| reverse_iterator | rbegin () | 
| const_reverse_iterator | rbegin () const | 
| const_reverse_iterator | crbegin () const | 
| reverse_iterator | rend () | 
| const_reverse_iterator | rend () const | 
| const_reverse_iterator | crend () const | 
| rank_type | rank () const | 
| Returns the rank used to create the tree.  More... | |
| dimension_type | dimension () const | 
| Returns the dimension of the tree.  More... | |
| key_compare | key_comp () const | 
| Returns the compare function used for the key.  More... | |
| value_compare | value_comp () const | 
| Returns the compare function used for the value.  More... | |
| allocator_type | get_allocator () const | 
| Returns the allocator used by the tree.  More... | |
| bool | empty () const | 
| True if the tree is empty.  More... | |
| size_type | size () const | 
| Returns the number of elements in the K-d tree.  More... | |
| size_type | count () const | 
| Returns the number of elements in the K-d tree.  More... | |
| void | clear () | 
| Erase all elements in the K-d tree.  More... | |
| size_type | max_size () const | 
| The maximum number of elements that can be allocated.  More... | |
| Kdtree () | |
| Kdtree (const rank_type &rank_) | |
| Kdtree (const key_compare &compare_) | |
| Kdtree (const rank_type &rank_, const key_compare &compare_) | |
| Kdtree (const rank_type &rank_, const key_compare &compare_, const allocator_type &allocator_) | |
| Kdtree (const Self &other, bool balancing=false) | |
Deep copy of other into the new tree.  More... | |
| Self & | operator= (const Self &other) | 
Assignment of other into the tree, with deep copy.  More... | |
| ~Kdtree () | |
| Deallocate all nodes in the destructor.  More... | |
| void | swap (Self &other) | 
| Swap the K-d tree content with others.  More... | |
| void | rebalance () | 
Rebalance the k-d tree near-optimally, resulting in   order of complexity on most search functions.  More... | |
| iterator | insert (const value_type &value) | 
Insert a single value element in the container.  More... | |
| void | insert (InputIterator first, InputIterator last) | 
| Insert a serie of values in the container at once.  More... | |
| void | insert_rebalance (InputIterator first, InputIterator last) | 
| Insert a serie of values in the container at once and rebalance the container after insertion.  More... | |
| void | erase (iterator pointer) | 
| Deletes the node pointed to by the iterator.  More... | |
| size_type | erase (const key_type &value) | 
Deletes all nodes that match key value.  More... | |
| iterator | find (const key_type &key) | 
Find the first node that matches with key and returns an iterator to it found, otherwise it returns an iterator to the element past the end of the container.  More... | |
| const_iterator | find (const key_type &key) const | 
Find the first node that matches with key and returns an iterator to it found, otherwise it returns an iterator to the element past the end of the container.  More... | |
Private Types | |
| typedef enable_if_c<(Rank &1u)==0 >::type | check_concept_dimension_is_even | 
| typedef details::Kdtree< details::Static_rank< Rank >, const Key, const Key, Compare, Alloc > | base_type | 
| typedef idle_box_multiset< Rank, Key, Compare, Alloc > | Self | 
Additional Inherited Members | |
  Public Types inherited from spatial::details::Kdtree< details::Static_rank< Rank >, const Key, const Key, Compare, Alloc > | |
| typedef details::Static_rank< Rank > | rank_type | 
| typedef mutate< const Key >::type | key_type | 
| typedef mutate< const Key >::type | value_type | 
| typedef Compare | key_compare | 
| typedef ValueCompare< value_type, key_compare > | value_compare | 
| typedef Alloc | allocator_type | 
| typedef Kdtree_link< const Key, const Key > | mode_type | 
| typedef const Key * | pointer | 
| typedef const const Key * | const_pointer | 
| typedef const Key & | reference | 
| typedef const const Key & | const_reference | 
| typedef std::size_t | size_type | 
| typedef std::ptrdiff_t | difference_type | 
| typedef Node_iterator< mode_type > | iterator | 
| typedef Const_node_iterator< mode_type > | const_iterator | 
| typedef std::reverse_iterator< iterator > | reverse_iterator | 
| typedef std::reverse_iterator< const_iterator > | const_reverse_iterator | 
Non-associative containers that and store values in space that can be represented as boxes.
Iterating these containers always yield a constant value iterator. That is because modifying the value stored in the container may compromise the ordering in the container. One way around this issue is to use a spatial::idle_box_multimap container or to const_cast the value dereferenced from the iterator. 
Definition at line 36 of file idle_box_multiset.hpp.
      
  | 
  private | 
Definition at line 45 of file idle_box_multiset.hpp.
      
  | 
  private | 
Definition at line 42 of file idle_box_multiset.hpp.
      
  | 
  private | 
Definition at line 46 of file idle_box_multiset.hpp.
| spatial::idle_box_multiset< Rank, Key, Compare, Alloc >::idle_box_multiset | ( | ) | 
Definition at line 49 of file idle_box_multiset.hpp.
      
  | 
  explicit | 
Definition at line 51 of file idle_box_multiset.hpp.
| spatial::idle_box_multiset< Rank, Key, Compare, Alloc >::idle_box_multiset | ( | const Compare & | compare, | 
| const Alloc & | alloc | ||
| ) | 
Definition at line 55 of file idle_box_multiset.hpp.
| spatial::idle_box_multiset< Rank, Key, Compare, Alloc >::idle_box_multiset | ( | const idle_box_multiset< Rank, Key, Compare, Alloc > & | other, | 
| bool | balancing = false  | 
        ||
| ) | 
Definition at line 59 of file idle_box_multiset.hpp.
| idle_box_multiset& spatial::idle_box_multiset< Rank, Key, Compare, Alloc >::operator= | ( | const idle_box_multiset< Rank, Key, Compare, Alloc > & | other | ) | 
Definition at line 64 of file idle_box_multiset.hpp.