blocxx
BLOCXX_NAMESPACE::SortedVectorSet< T, Compare > Class Template Reference

#include <SortedVectorSet.hpp>

Public Types

typedef T key_type
 
typedef T data_type
 
typedef T value_type
 
typedef Compare key_compare
 
typedef Compare value_compare
 
typedef container_t::pointer pointer
 
typedef container_t::const_pointer const_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

 SortedVectorSet ()
 
 SortedVectorSet (container_t *toWrap)
 
template<class InputIterator>
 SortedVectorSet (InputIterator first, InputIterator last)
 
const_iterator begin () const
 
const_iterator end () const
 
const_reverse_iterator rbegin () const
 
const_reverse_iterator rend () const
 
bool empty () const
 
size_type size () const
 
size_type max_size () const
 
void swap (SortedVectorSet< 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 ()
 
iterator find (const key_type &x)
 
const_iterator find (const key_type &x) const
 
size_type count (const key_type &x) const
 
iterator lower_bound (const key_type &x)
 
const_iterator lower_bound (const key_type &x) const
 
iterator upper_bound (const key_type &x)
 
const_iterator upper_bound (const key_type &x) const
 
std::pair< iterator, iteratorequal_range (const key_type &x)
 
std::pair< const_iterator, const_iteratorequal_range (const key_type &x) const
 

Private Types

typedef std::vector< T > container_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 SortedVectorSet< T, Compare > &x, const SortedVectorSet< T, Compare > &y)
 
bool operator< (const SortedVectorSet< T, Compare > &x, const SortedVectorSet< T, Compare > &y)
 

Detailed Description

template<class T, class Compare = std::less<T>>
class BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >

Definition at line 62 of file SortedVectorSet.hpp.

Member Typedef Documentation

◆ const_iterator

template<class T, class Compare = std::less<T>>
typedef container_t::const_iterator BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::const_iterator

Definition at line 84 of file SortedVectorSet.hpp.

◆ const_pointer

template<class T, class Compare = std::less<T>>
typedef container_t::const_pointer BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::const_pointer

Definition at line 80 of file SortedVectorSet.hpp.

◆ const_reference

template<class T, class Compare = std::less<T>>
typedef container_t::const_reference BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::const_reference

Definition at line 82 of file SortedVectorSet.hpp.

◆ const_reverse_iterator

template<class T, class Compare = std::less<T>>
typedef container_t::const_reverse_iterator BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::const_reverse_iterator

Definition at line 86 of file SortedVectorSet.hpp.

◆ container_t

template<class T, class Compare = std::less<T>>
typedef std::vector<T> BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::container_t
private

Definition at line 64 of file SortedVectorSet.hpp.

◆ data_type

template<class T, class Compare = std::less<T>>
typedef T BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::data_type

Definition at line 75 of file SortedVectorSet.hpp.

◆ difference_type

template<class T, class Compare = std::less<T>>
typedef container_t::difference_type BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::difference_type

Definition at line 88 of file SortedVectorSet.hpp.

◆ iterator

template<class T, class Compare = std::less<T>>
typedef container_t::iterator BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::iterator

Definition at line 83 of file SortedVectorSet.hpp.

◆ key_compare

template<class T, class Compare = std::less<T>>
typedef Compare BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::key_compare

Definition at line 77 of file SortedVectorSet.hpp.

◆ key_type

template<class T, class Compare = std::less<T>>
typedef T BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::key_type

Definition at line 74 of file SortedVectorSet.hpp.

◆ pointer

template<class T, class Compare = std::less<T>>
typedef container_t::pointer BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::pointer

Definition at line 79 of file SortedVectorSet.hpp.

◆ reference

template<class T, class Compare = std::less<T>>
typedef container_t::reference BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::reference

Definition at line 81 of file SortedVectorSet.hpp.

◆ reverse_iterator

template<class T, class Compare = std::less<T>>
typedef container_t::reverse_iterator BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::reverse_iterator

Definition at line 85 of file SortedVectorSet.hpp.

◆ size_type

template<class T, class Compare = std::less<T>>
typedef container_t::size_type BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::size_type

Definition at line 87 of file SortedVectorSet.hpp.

◆ value_compare

template<class T, class Compare = std::less<T>>
typedef Compare BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::value_compare

Definition at line 78 of file SortedVectorSet.hpp.

◆ value_type

template<class T, class Compare = std::less<T>>
typedef T BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::value_type

Definition at line 76 of file SortedVectorSet.hpp.

Constructor & Destructor Documentation

◆ SortedVectorSet() [1/3]

template<class T, class Compare = std::less<T>>
BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::SortedVectorSet ( )
inline

Definition at line 89 of file SortedVectorSet.hpp.

References m_impl.

Referenced by operator<, operator==, and swap().

◆ SortedVectorSet() [2/3]

template<class T, class Compare = std::less<T>>
BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::SortedVectorSet ( container_t * toWrap)
inlineexplicit

Definition at line 90 of file SortedVectorSet.hpp.

References equivalent(), and m_impl.

◆ SortedVectorSet() [3/3]

template<class T, class Compare = std::less<T>>
template<class InputIterator>
BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::SortedVectorSet ( InputIterator first,
InputIterator last )
inline

Definition at line 96 of file SortedVectorSet.hpp.

References equivalent(), and m_impl.

Member Function Documentation

◆ begin()

template<class T, class Compare = std::less<T>>
const_iterator BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::begin ( ) const
inline

Definition at line 102 of file SortedVectorSet.hpp.

References m_impl.

◆ clear()

template<class T, class Compare = std::less<T>>
void BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::clear ( )
inline

Definition at line 157 of file SortedVectorSet.hpp.

References m_impl.

◆ count()

template<class T, class Compare = std::less<T>>
size_type BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::count ( const key_type & x) const
inline

Definition at line 185 of file SortedVectorSet.hpp.

References m_impl.

◆ empty()

template<class T, class Compare = std::less<T>>
bool BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::empty ( ) const
inline

Definition at line 106 of file SortedVectorSet.hpp.

References m_impl.

◆ end()

template<class T, class Compare = std::less<T>>
const_iterator BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::end ( ) const
inline

Definition at line 103 of file SortedVectorSet.hpp.

References m_impl.

◆ equal_range() [1/2]

template<class T, class Compare = std::less<T>>
std::pair< iterator, iterator > BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::equal_range ( const key_type & x)
inline

Definition at line 214 of file SortedVectorSet.hpp.

References m_impl.

◆ equal_range() [2/2]

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

Definition at line 220 of file SortedVectorSet.hpp.

References m_impl.

◆ equivalent()

template<class T, class Compare = std::less<T>>
static bool BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::equivalent ( const key_type & x,
const key_type & y )
inlinestaticprivate

Definition at line 231 of file SortedVectorSet.hpp.

Referenced by erase(), find(), find(), insert(), insert(), SortedVectorSet(), and SortedVectorSet().

◆ erase() [1/3]

template<class T, class Compare = std::less<T>>
size_type BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::erase ( const key_type & x)
inline

Definition at line 140 of file SortedVectorSet.hpp.

References equivalent(), and m_impl.

◆ erase() [2/3]

template<class T, class Compare = std::less<T>>
iterator BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::erase ( iterator first,
iterator last )
inline

Definition at line 153 of file SortedVectorSet.hpp.

References m_impl.

◆ erase() [3/3]

template<class T, class Compare = std::less<T>>
iterator BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::erase ( iterator position)
inline

Definition at line 136 of file SortedVectorSet.hpp.

References m_impl.

◆ find() [1/2]

template<class T, class Compare = std::less<T>>
iterator BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::find ( const key_type & x)
inline

Definition at line 161 of file SortedVectorSet.hpp.

References equivalent(), and m_impl.

◆ find() [2/2]

template<class T, class Compare = std::less<T>>
const_iterator BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::find ( const key_type & x) const
inline

Definition at line 173 of file SortedVectorSet.hpp.

References equivalent(), and m_impl.

◆ insert() [1/3]

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

Definition at line 113 of file SortedVectorSet.hpp.

References equivalent(), and m_impl.

Referenced by insert().

◆ insert() [2/3]

template<class T, class Compare = std::less<T>>
template<class InputIterator>
void BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::insert ( InputIterator first,
InputIterator last )
inline

Definition at line 130 of file SortedVectorSet.hpp.

References equivalent(), and m_impl.

◆ insert() [3/3]

template<class T, class Compare = std::less<T>>
iterator BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::insert ( iterator ,
const value_type & x )
inline

Definition at line 125 of file SortedVectorSet.hpp.

References insert().

◆ lower_bound() [1/2]

template<class T, class Compare = std::less<T>>
iterator BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::lower_bound ( const key_type & x)
inline

Definition at line 196 of file SortedVectorSet.hpp.

References m_impl.

◆ lower_bound() [2/2]

template<class T, class Compare = std::less<T>>
const_iterator BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::lower_bound ( const key_type & x) const
inline

Definition at line 200 of file SortedVectorSet.hpp.

References m_impl.

◆ max_size()

template<class T, class Compare = std::less<T>>
size_type BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::max_size ( ) const
inline

Definition at line 108 of file SortedVectorSet.hpp.

References m_impl.

◆ rbegin()

template<class T, class Compare = std::less<T>>
const_reverse_iterator BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::rbegin ( ) const
inline

Definition at line 104 of file SortedVectorSet.hpp.

References m_impl.

◆ rend()

template<class T, class Compare = std::less<T>>
const_reverse_iterator BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::rend ( ) const
inline

Definition at line 105 of file SortedVectorSet.hpp.

References m_impl.

◆ size()

template<class T, class Compare = std::less<T>>
size_type BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::size ( ) const
inline

Definition at line 107 of file SortedVectorSet.hpp.

References m_impl.

◆ swap()

template<class T, class Compare = std::less<T>>
void BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::swap ( SortedVectorSet< T, Compare > & x)
inline

Definition at line 109 of file SortedVectorSet.hpp.

References m_impl, and SortedVectorSet().

Referenced by BLOCXX_NAMESPACE::swap().

◆ upper_bound() [1/2]

template<class T, class Compare = std::less<T>>
iterator BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::upper_bound ( const key_type & x)
inline

Definition at line 204 of file SortedVectorSet.hpp.

References m_impl.

◆ upper_bound() [2/2]

template<class T, class Compare = std::less<T>>
const_iterator BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::upper_bound ( const key_type & x) const
inline

Definition at line 208 of file SortedVectorSet.hpp.

References m_impl.

Friends And Related Symbol Documentation

◆ operator<

template<class T, class Compare = std::less<T>>
bool operator< ( const SortedVectorSet< T, Compare > & x,
const SortedVectorSet< T, Compare > & y )
friend

Definition at line 244 of file SortedVectorSet.hpp.

References m_impl, and SortedVectorSet().

◆ operator==

template<class T, class Compare = std::less<T>>
bool operator== ( const SortedVectorSet< T, Compare > & x,
const SortedVectorSet< T, Compare > & y )
friend

Definition at line 238 of file SortedVectorSet.hpp.

References m_impl, and SortedVectorSet().

Member Data Documentation

◆ m_impl


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