blocxx
BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare > Class Template Reference

#include <SortedVectorMap.hpp>

Public Types

typedef Key key_type
 
typedef T data_type
 
typedef std::pair< const key_type, data_typevalue_type
 
typedef Compare key_compare
 
typedef Compare value_compare
 
typedef container_t::pointer pointer
 
typedef container_t::reference reference
 
typedef container_t::const_reference const_reference
 
typedef container_t::iterator iterator
 
typedef container_t::const_iterator const_iterator
 
typedef container_t::reverse_iterator reverse_iterator
 
typedef container_t::const_reverse_iterator const_reverse_iterator
 
typedef container_t::size_type size_type
 
typedef container_t::difference_type difference_type
 

Public Member Functions

 SortedVectorMap ()
 
 SortedVectorMap (container_t *toWrap)
 
template<class InputIterator>
 SortedVectorMap (InputIterator first, InputIterator last)
 
const_iterator begin () const
 
const_iterator end () const
 
iterator begin ()
 
iterator end ()
 
const_reverse_iterator rbegin () const
 
const_reverse_iterator rend () const
 
bool empty () const
 
size_type size () const
 
size_type max_size () const
 
data_typeoperator[] (const key_type &k)
 
void swap (SortedVectorMap< Key, T, Compare > &x)
 
std::pair< iterator, bool > insert (const value_type &x)
 
iterator insert (iterator, const value_type &x)
 
template<class InputIterator>
void insert (InputIterator first, InputIterator last)
 
iterator erase (iterator position)
 
size_type erase (const key_type &x)
 
iterator erase (iterator first, iterator last)
 
void clear ()
 
const_iterator find (const key_type &x) const
 
iterator find (const key_type &x)
 
size_type count (const key_type &x) const
 
const_iterator lower_bound (const key_type &x) const
 
const_iterator upper_bound (const key_type &x) const
 
std::pair< const_iterator, const_iteratorequal_range (const key_type &x) const
 

Private Types

typedef std::pair< Key, T > Data
 
typedef std::vector< Datacontainer_t
 

Static Private Member Functions

static bool equivalent (const key_type &x, const key_type &y)
 

Private Attributes

COWReference< container_tm_impl
 

Friends

bool operator== (const SortedVectorMap< Key, T, Compare > &x, const SortedVectorMap< Key, T, Compare > &y)
 
bool operator< (const SortedVectorMap< Key, T, Compare > &x, const SortedVectorMap< Key, T, Compare > &y)
 

Detailed Description

template<class Key, class T, class Compare>
class BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >

Definition at line 97 of file SortedVectorMap.hpp.

Member Typedef Documentation

◆ const_iterator

template<class Key, class T, class Compare>
typedef container_t::const_iterator BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::const_iterator

Definition at line 112 of file SortedVectorMap.hpp.

◆ const_reference

template<class Key, class T, class Compare>
typedef container_t::const_reference BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::const_reference

Definition at line 110 of file SortedVectorMap.hpp.

◆ const_reverse_iterator

template<class Key, class T, class Compare>
typedef container_t::const_reverse_iterator BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::const_reverse_iterator

Definition at line 114 of file SortedVectorMap.hpp.

◆ container_t

template<class Key, class T, class Compare>
typedef std::vector<Data> BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::container_t
private

Definition at line 100 of file SortedVectorMap.hpp.

◆ Data

template<class Key, class T, class Compare>
typedef std::pair<Key, T> BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::Data
private

Definition at line 99 of file SortedVectorMap.hpp.

◆ data_type

template<class Key, class T, class Compare>
typedef T BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::data_type

Definition at line 104 of file SortedVectorMap.hpp.

◆ difference_type

template<class Key, class T, class Compare>
typedef container_t::difference_type BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::difference_type

Definition at line 116 of file SortedVectorMap.hpp.

◆ iterator

template<class Key, class T, class Compare>
typedef container_t::iterator BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::iterator

Definition at line 111 of file SortedVectorMap.hpp.

◆ key_compare

template<class Key, class T, class Compare>
typedef Compare BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::key_compare

Definition at line 106 of file SortedVectorMap.hpp.

◆ key_type

template<class Key, class T, class Compare>
typedef Key BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::key_type

Definition at line 103 of file SortedVectorMap.hpp.

◆ pointer

template<class Key, class T, class Compare>
typedef container_t::pointer BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::pointer

Definition at line 108 of file SortedVectorMap.hpp.

◆ reference

template<class Key, class T, class Compare>
typedef container_t::reference BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::reference

Definition at line 109 of file SortedVectorMap.hpp.

◆ reverse_iterator

template<class Key, class T, class Compare>
typedef container_t::reverse_iterator BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::reverse_iterator

Definition at line 113 of file SortedVectorMap.hpp.

◆ size_type

template<class Key, class T, class Compare>
typedef container_t::size_type BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::size_type

Definition at line 115 of file SortedVectorMap.hpp.

◆ value_compare

template<class Key, class T, class Compare>
typedef Compare BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::value_compare

Definition at line 107 of file SortedVectorMap.hpp.

◆ value_type

template<class Key, class T, class Compare>
typedef std::pair<const key_type, data_type> BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::value_type

Definition at line 105 of file SortedVectorMap.hpp.

Constructor & Destructor Documentation

◆ SortedVectorMap() [1/3]

template<class Key, class T, class Compare>
BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::SortedVectorMap ( )
inline

Definition at line 117 of file SortedVectorMap.hpp.

Referenced by operator<, and operator==.

◆ SortedVectorMap() [2/3]

template<class Key, class T, class Compare>
BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::SortedVectorMap ( container_t * toWrap)
inlineexplicit

Definition at line 118 of file SortedVectorMap.hpp.

◆ SortedVectorMap() [3/3]

template<class Key, class T, class Compare>
template<class InputIterator>
BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::SortedVectorMap ( InputIterator first,
InputIterator last )
inline

Definition at line 124 of file SortedVectorMap.hpp.

Member Function Documentation

◆ begin() [1/2]

template<class Key, class T, class Compare>
iterator BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::begin ( )
inline

Definition at line 139 of file SortedVectorMap.hpp.

◆ begin() [2/2]

template<class Key, class T, class Compare>
const_iterator BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::begin ( ) const
inline

Definition at line 130 of file SortedVectorMap.hpp.

◆ clear()

template<class Key, class T, class Compare>
void BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::clear ( )
inline

Definition at line 226 of file SortedVectorMap.hpp.

◆ count()

template<class Key, class T, class Compare>
size_type BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::count ( const key_type & x) const
inline

Definition at line 254 of file SortedVectorMap.hpp.

◆ empty()

template<class Key, class T, class Compare>
bool BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::empty ( ) const
inline

Definition at line 155 of file SortedVectorMap.hpp.

◆ end() [1/2]

template<class Key, class T, class Compare>
iterator BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::end ( )
inline

Definition at line 143 of file SortedVectorMap.hpp.

◆ end() [2/2]

template<class Key, class T, class Compare>
const_iterator BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::end ( ) const
inline

Definition at line 134 of file SortedVectorMap.hpp.

◆ equal_range()

template<class Key, class T, class Compare>
std::pair< const_iterator, const_iterator > BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::equal_range ( const key_type & x) const
inline

Definition at line 274 of file SortedVectorMap.hpp.

◆ equivalent()

template<class Key, class T, class Compare>
static bool BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::equivalent ( const key_type & x,
const key_type & y )
inlinestaticprivate

Definition at line 283 of file SortedVectorMap.hpp.

◆ erase() [1/3]

template<class Key, class T, class Compare>
size_type BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::erase ( const key_type & x)
inline

Definition at line 209 of file SortedVectorMap.hpp.

◆ erase() [2/3]

template<class Key, class T, class Compare>
iterator BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::erase ( iterator first,
iterator last )
inline

Definition at line 222 of file SortedVectorMap.hpp.

◆ erase() [3/3]

template<class Key, class T, class Compare>
iterator BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::erase ( iterator position)
inline

Definition at line 205 of file SortedVectorMap.hpp.

◆ find() [1/2]

template<class Key, class T, class Compare>
iterator BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::find ( const key_type & x)
inline

Definition at line 242 of file SortedVectorMap.hpp.

◆ find() [2/2]

template<class Key, class T, class Compare>
const_iterator BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::find ( const key_type & x) const
inline

Definition at line 230 of file SortedVectorMap.hpp.

◆ insert() [1/3]

template<class Key, class T, class Compare>
std::pair< iterator, bool > BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::insert ( const value_type & x)
inline

Definition at line 180 of file SortedVectorMap.hpp.

◆ insert() [2/3]

template<class Key, class T, class Compare>
template<class InputIterator>
void BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::insert ( InputIterator first,
InputIterator last )
inline

Definition at line 199 of file SortedVectorMap.hpp.

◆ insert() [3/3]

template<class Key, class T, class Compare>
iterator BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::insert ( iterator ,
const value_type & x )
inline

Definition at line 192 of file SortedVectorMap.hpp.

◆ lower_bound()

template<class Key, class T, class Compare>
const_iterator BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::lower_bound ( const key_type & x) const
inline

Definition at line 265 of file SortedVectorMap.hpp.

◆ max_size()

template<class Key, class T, class Compare>
size_type BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::max_size ( ) const
inline

Definition at line 163 of file SortedVectorMap.hpp.

◆ operator[]()

template<class Key, class T, class Compare>
data_type & BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::operator[] ( const key_type & k)
inline

Definition at line 167 of file SortedVectorMap.hpp.

◆ rbegin()

template<class Key, class T, class Compare>
const_reverse_iterator BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::rbegin ( ) const
inline

Definition at line 147 of file SortedVectorMap.hpp.

◆ rend()

template<class Key, class T, class Compare>
const_reverse_iterator BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::rend ( ) const
inline

Definition at line 151 of file SortedVectorMap.hpp.

◆ size()

template<class Key, class T, class Compare>
size_type BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::size ( ) const
inline

Definition at line 159 of file SortedVectorMap.hpp.

◆ swap()

template<class Key, class T, class Compare>
void BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::swap ( SortedVectorMap< Key, T, Compare > & x)
inline

Definition at line 176 of file SortedVectorMap.hpp.

Referenced by BLOCXX_NAMESPACE::swap().

◆ upper_bound()

template<class Key, class T, class Compare>
const_iterator BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::upper_bound ( const key_type & x) const
inline

Definition at line 269 of file SortedVectorMap.hpp.

Friends And Related Symbol Documentation

◆ operator<

template<class Key, class T, class Compare>
bool operator< ( const SortedVectorMap< Key, T, Compare > & x,
const SortedVectorMap< Key, T, Compare > & y )
friend

Definition at line 296 of file SortedVectorMap.hpp.

References m_impl, and SortedVectorMap().

◆ operator==

template<class Key, class T, class Compare>
bool operator== ( const SortedVectorMap< Key, T, Compare > & x,
const SortedVectorMap< Key, T, Compare > & y )
friend

Definition at line 290 of file SortedVectorMap.hpp.

References m_impl, and SortedVectorMap().

Member Data Documentation

◆ m_impl

template<class Key, class T, class Compare>
COWReference<container_t> BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::m_impl
private

The documentation for this class was generated from the following files: