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>>
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>>
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>>
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>>
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>>
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>>
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>>
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>>
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>>
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>>
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>>
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>>
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>>
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>>
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>>
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>>
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.

◆ SortedVectorSet() [2/3]

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

◆ 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

Member Function Documentation

◆ begin()

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

◆ clear()

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

◆ count()

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

◆ empty()

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

◆ end()

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

◆ 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

◆ 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

◆ equivalent()

◆ erase() [1/3]

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

◆ erase() [2/3]

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

◆ erase() [3/3]

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

◆ find() [1/2]

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

◆ 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

◆ 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

◆ 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

◆ insert() [3/3]

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

◆ 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

◆ 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

◆ max_size()

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

◆ rbegin()

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

◆ rend()

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

◆ size()

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

◆ swap()

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

◆ 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

◆ 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

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.

◆ 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.

Member Data Documentation

◆ m_impl

template<class T , class Compare = std::less<T>>
COWReference<container_t> BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::m_impl
private

Definition at line 69 of file SortedVectorSet.hpp.

Referenced by BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::begin(), BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::clear(), BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::count(), BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::empty(), BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::end(), BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::equal_range(), BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::equal_range(), BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::erase(), BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::erase(), BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::erase(), BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::find(), BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::find(), BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::insert(), BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::insert(), BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::lower_bound(), BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::lower_bound(), BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::max_size(), BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::rbegin(), BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::rend(), BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::size(), BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::SortedVectorSet(), BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::SortedVectorSet(), BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::swap(), BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::upper_bound(), and BLOCXX_NAMESPACE::SortedVectorSet< T, Compare >::upper_bound().


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