Spatial C++ Library
Generic Multi-Dimensional Containers and Spatial Operations
spatial::point_multimap< 0, Key, Mapped, Compare, BalancingPolicy, Alloc > Struct Template Reference

When specified with a null dimension, the rank of the point_multimap can be determined at run time and does not need to be fixed at compile time. More...

#include <point_multimap.hpp>

Inherits spatial::details::Relaxed_kdtree< details::Dynamic_rank, const Key, std::pair< const Key, Mapped >, Compare, BalancingPolicy, Alloc >.

Public Types

typedef Mapped mapped_type
 
- Public Types inherited from spatial::details::Relaxed_kdtree< details::Dynamic_rank, const Key, std::pair< const Key, Mapped >, Compare, BalancingPolicy, Alloc >
typedef details::Dynamic_rank rank_type
 
typedef mutate< const Key >::type key_type
 
typedef mutate< std::pair< const Key, Mapped > >::type value_type
 
typedef Relaxed_kdtree_link< const Key, std::pair< const Key, Mapped > > mode_type
 
typedef Compare key_compare
 
typedef ValueCompare< value_type, key_comparevalue_compare
 
typedef Alloc allocator_type
 
typedef BalancingPolicy balancing_policy
 
typedef std::pair< const Key, Mapped > * pointer
 
typedef const std::pair< const Key, Mapped > * const_pointer
 
typedef std::pair< const Key, Mapped > & reference
 
typedef const std::pair< const Key, Mapped > & const_reference
 
typedef std::size_t size_type
 
typedef std::ptrdiff_t difference_type
 
typedef Node_iterator< mode_typeiterator
 
typedef Const_node_iterator< mode_typeconst_iterator
 
typedef std::reverse_iterator< iteratorreverse_iterator
 
typedef std::reverse_iterator< const_iteratorconst_reverse_iterator
 

Public Member Functions

 point_multimap ()
 
 point_multimap (dimension_type dim)
 
 point_multimap (dimension_type dim, const Compare &compare)
 
 point_multimap (dimension_type dim, const Compare &compare, const BalancingPolicy &policy)
 
 point_multimap (dimension_type dim, const Compare &compare, const BalancingPolicy &policy, const Alloc &alloc)
 
 point_multimap (const Compare &compare)
 
 point_multimap (const Compare &compare, const BalancingPolicy &policy)
 
 point_multimap (const Compare &compare, const BalancingPolicy &policy, const Alloc &alloc)
 
 point_multimap (const point_multimap &other)
 
point_multimapoperator= (const point_multimap &other)
 
- Public Member Functions inherited from spatial::details::Relaxed_kdtree< details::Dynamic_rank, const Key, std::pair< const Key, Mapped >, 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_kdtreeoperator= (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 details::Relaxed_kdtree< details::Dynamic_rank, const Key, std::pair< const Key, Mapped >, Compare, BalancingPolicy, Alloc > base_type
 
typedef point_multimap< 0, Key, Mapped, Compare, BalancingPolicy, Alloc > Self
 

Detailed Description

template<typename Key, typename Mapped, typename Compare, typename BalancingPolicy, typename Alloc>
struct spatial::point_multimap< 0, Key, Mapped, Compare, BalancingPolicy, Alloc >

When specified with a null dimension, the rank of the point_multimap can be determined at run time and does not need to be fixed at compile time.

Definition at line 76 of file point_multimap.hpp.

Member Typedef Documentation

template<typename Key , typename Mapped , typename Compare , typename BalancingPolicy , typename Alloc >
typedef details::Relaxed_kdtree<details::Dynamic_rank, const Key, std::pair<const Key, Mapped>, Compare, BalancingPolicy, Alloc> spatial::point_multimap< 0, Key, Mapped, Compare, BalancingPolicy, Alloc >::base_type
private

Definition at line 84 of file point_multimap.hpp.

template<typename Key , typename Mapped , typename Compare , typename BalancingPolicy , typename Alloc >
typedef Mapped spatial::point_multimap< 0, Key, Mapped, Compare, BalancingPolicy, Alloc >::mapped_type

Definition at line 89 of file point_multimap.hpp.

template<typename Key , typename Mapped , typename Compare , typename BalancingPolicy , typename Alloc >
typedef point_multimap<0, Key, Mapped, Compare, BalancingPolicy, Alloc> spatial::point_multimap< 0, Key, Mapped, Compare, BalancingPolicy, Alloc >::Self
private

Definition at line 86 of file point_multimap.hpp.

Constructor & Destructor Documentation

template<typename Key , typename Mapped , typename Compare , typename BalancingPolicy , typename Alloc >
spatial::point_multimap< 0, Key, Mapped, Compare, BalancingPolicy, Alloc >::point_multimap ( )

Definition at line 91 of file point_multimap.hpp.

template<typename Key , typename Mapped , typename Compare , typename BalancingPolicy , typename Alloc >
spatial::point_multimap< 0, Key, Mapped, Compare, BalancingPolicy, Alloc >::point_multimap ( dimension_type  dim)
explicit

Definition at line 93 of file point_multimap.hpp.

template<typename Key , typename Mapped , typename Compare , typename BalancingPolicy , typename Alloc >
spatial::point_multimap< 0, Key, Mapped, Compare, BalancingPolicy, Alloc >::point_multimap ( dimension_type  dim,
const Compare &  compare 
)

Definition at line 97 of file point_multimap.hpp.

template<typename Key , typename Mapped , typename Compare , typename BalancingPolicy , typename Alloc >
spatial::point_multimap< 0, Key, Mapped, Compare, BalancingPolicy, Alloc >::point_multimap ( dimension_type  dim,
const Compare &  compare,
const BalancingPolicy &  policy 
)

Definition at line 101 of file point_multimap.hpp.

template<typename Key , typename Mapped , typename Compare , typename BalancingPolicy , typename Alloc >
spatial::point_multimap< 0, Key, Mapped, Compare, BalancingPolicy, Alloc >::point_multimap ( dimension_type  dim,
const Compare &  compare,
const BalancingPolicy &  policy,
const Alloc &  alloc 
)

Definition at line 106 of file point_multimap.hpp.

template<typename Key , typename Mapped , typename Compare , typename BalancingPolicy , typename Alloc >
spatial::point_multimap< 0, Key, Mapped, Compare, BalancingPolicy, Alloc >::point_multimap ( const Compare &  compare)
explicit

Definition at line 111 of file point_multimap.hpp.

template<typename Key , typename Mapped , typename Compare , typename BalancingPolicy , typename Alloc >
spatial::point_multimap< 0, Key, Mapped, Compare, BalancingPolicy, Alloc >::point_multimap ( const Compare &  compare,
const BalancingPolicy &  policy 
)

Definition at line 115 of file point_multimap.hpp.

template<typename Key , typename Mapped , typename Compare , typename BalancingPolicy , typename Alloc >
spatial::point_multimap< 0, Key, Mapped, Compare, BalancingPolicy, Alloc >::point_multimap ( const Compare &  compare,
const BalancingPolicy &  policy,
const Alloc &  alloc 
)

Definition at line 119 of file point_multimap.hpp.

template<typename Key , typename Mapped , typename Compare , typename BalancingPolicy , typename Alloc >
spatial::point_multimap< 0, Key, Mapped, Compare, BalancingPolicy, Alloc >::point_multimap ( const point_multimap< 0, Key, Mapped, Compare, BalancingPolicy, Alloc > &  other)

Definition at line 124 of file point_multimap.hpp.

Member Function Documentation

template<typename Key , typename Mapped , typename Compare , typename BalancingPolicy , typename Alloc >
point_multimap& spatial::point_multimap< 0, Key, Mapped, Compare, BalancingPolicy, Alloc >::operator= ( const point_multimap< 0, Key, Mapped, Compare, BalancingPolicy, Alloc > &  other)

Definition at line 129 of file point_multimap.hpp.


The documentation for this struct was generated from the following file: