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.