Spatial C++ Library
Generic Multi-Dimensional Containers and Spatial Operations
|
These containers are not mapped containers and store values in space that can be represented as boxes. More...
#include <box_multiset.hpp>
Public Member Functions | |
box_multiset () | |
box_multiset (const Compare &compare) | |
box_multiset (const Compare &compare, const BalancingPolicy &balancing) | |
box_multiset (const Compare &compare, const BalancingPolicy &balancing, const Alloc &alloc) | |
box_multiset (const box_multiset &other) | |
box_multiset & | operator= (const box_multiset &other) |
Public Member Functions inherited from spatial::details::Relaxed_kdtree< details::Static_rank< Rank >, const Key, const Key, Compare, BalancingPolicy, 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 |
balancing_policy | balancing () const |
Returns the balancing policy for the container. More... | |
rank_type | rank () const |
Returns the rank type used internally to get the number of dimensions in the container. More... | |
dimension_type | dimension () const |
Returns the dimension of the container. 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... | |
size_type | max_size () const |
The maximum number of elements that can be allocated. More... | |
Relaxed_kdtree () | |
Relaxed_kdtree (const rank_type &rank_) | |
Relaxed_kdtree (const rank_type &rank_, const key_compare &compare_) | |
Relaxed_kdtree (const rank_type &rank_, const key_compare &compare_, const balancing_policy &balancing_) | |
Relaxed_kdtree (const rank_type &rank_, const key_compare &compare_, const balancing_policy &balancing_, const allocator_type &allocator_) | |
Relaxed_kdtree (const Relaxed_kdtree &other) | |
Deep copy of other into the new tree. More... | |
Relaxed_kdtree & | operator= (const Relaxed_kdtree &other) |
Assignment of other into the tree, with deep copy. More... | |
~Relaxed_kdtree () | |
Deallocate all nodes in the destructor. More... | |
void | swap (Self &other) |
Swap the K-d tree content with others. More... | |
void | clear () |
Erase all elements in the K-d tree. More... | |
iterator | insert (const value_type &value) |
Insert a single key key in the tree. More... | |
void | insert (InputIterator first, InputIterator last) |
Insert a serie of values in the tree at once. More... | |
void | erase (iterator position) |
Deletes the node pointed to by the iterator. More... | |
size_type | erase (const key_type &key) |
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::Relaxed_kdtree< details::Static_rank< Rank >, const Key, const Key, Compare, BalancingPolicy, Alloc > | base_type |
typedef box_multiset< Rank, Key, Compare, BalancingPolicy, Alloc > | Self |
Additional Inherited Members | |
Public Types inherited from spatial::details::Relaxed_kdtree< details::Static_rank< Rank >, const Key, const Key, Compare, BalancingPolicy, Alloc > | |
typedef details::Static_rank< Rank > | rank_type |
typedef mutate< const Key >::type | key_type |
typedef mutate< const Key >::type | value_type |
typedef Relaxed_kdtree_link< const Key, const Key > | mode_type |
typedef Compare | key_compare |
typedef ValueCompare< value_type, key_compare > | value_compare |
typedef Alloc | allocator_type |
typedef BalancingPolicy | balancing_policy |
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 |
These containers are not mapped containers and store values in space that can be represented as boxes.
Hence, this container only accepts dimension that are even (multiples of 2).
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 box_multimap container or to const_cast
the value dereferenced from the iterator.
Definition at line 38 of file box_multiset.hpp.
|
private |
Definition at line 48 of file box_multiset.hpp.
|
private |
Definition at line 44 of file box_multiset.hpp.
|
private |
Definition at line 49 of file box_multiset.hpp.
spatial::box_multiset< Rank, Key, Compare, BalancingPolicy, Alloc >::box_multiset | ( | ) |
Definition at line 52 of file box_multiset.hpp.
|
explicit |
Definition at line 54 of file box_multiset.hpp.
spatial::box_multiset< Rank, Key, Compare, BalancingPolicy, Alloc >::box_multiset | ( | const Compare & | compare, |
const BalancingPolicy & | balancing | ||
) |
Definition at line 58 of file box_multiset.hpp.
spatial::box_multiset< Rank, Key, Compare, BalancingPolicy, Alloc >::box_multiset | ( | const Compare & | compare, |
const BalancingPolicy & | balancing, | ||
const Alloc & | alloc | ||
) |
Definition at line 62 of file box_multiset.hpp.
spatial::box_multiset< Rank, Key, Compare, BalancingPolicy, Alloc >::box_multiset | ( | const box_multiset< Rank, Key, Compare, BalancingPolicy, Alloc > & | other | ) |
Definition at line 67 of file box_multiset.hpp.
box_multiset& spatial::box_multiset< Rank, Key, Compare, BalancingPolicy, Alloc >::operator= | ( | const box_multiset< Rank, Key, Compare, BalancingPolicy, Alloc > & | other | ) |
Definition at line 72 of file box_multiset.hpp.