Project
Loading...
Searching...
No Matches
o2::rans::internal::OrderedSet< source_T, value_T > Class Template Reference

#include <OrderedSet.h>

Classes

struct  Comparator
 

Public Types

using source_type = source_T
 
using value_type = value_T
 
using tuple_type = std::pair< source_T, value_T >
 
using container_type = std::vector< tuple_type >
 
using size_type = size_t
 
using difference_type = std::ptrdiff_t
 
using reference = value_type &
 
using const_reference = const value_type &
 
using pointer = value_type *
 
using const_pointer = const value_type *
 
using iterator = OrderedSetIterator< tuple_type * >
 
using const_iterator = OrderedSetIterator< const tuple_type * >
 

Public Member Functions

 OrderedSet ()=default
 
 OrderedSet (value_type nullElement)
 
 OrderedSet (container_type container, value_type nullElement, OrderedSetState state=OrderedSetState::unordered)
 
const_reference getNullElement () const
 
const_reference operator[] (source_type sourceSymbol) const
 
reference operator[] (source_type sourceSymbol)
 
const_iterator find (source_type sourceSymbol) const
 
iterator find (source_type sourceSymbol)
 
size_type size () const noexcept
 
bool empty () const noexcept
 
const_iterator cbegin () const noexcept
 
const_iterator cend () const noexcept
 
const_iterator begin () const noexcept
 
const_iterator end () const noexcept
 
iterator begin () noexcept
 
iterator end () noexcept
 
container_type release () &&noexcept
 

Protected Member Functions

decltype(auto) findImpl (source_type sourceSymbol)
 
decltype(auto) findImpl (source_type sourceSymbol) const
 

Protected Attributes

container_type mContainer {}
 
value_type mNullElement {}
 

Friends

void swap (OrderedSet &a, OrderedSet &b) noexcept
 

Detailed Description

template<class source_T, class value_T>
class o2::rans::internal::OrderedSet< source_T, value_T >

Definition at line 40 of file OrderedSet.h.

Member Typedef Documentation

◆ const_iterator

template<class source_T , class value_T >
using o2::rans::internal::OrderedSet< source_T, value_T >::const_iterator = OrderedSetIterator<const tuple_type*>

Definition at line 54 of file OrderedSet.h.

◆ const_pointer

template<class source_T , class value_T >
using o2::rans::internal::OrderedSet< source_T, value_T >::const_pointer = const value_type*

Definition at line 52 of file OrderedSet.h.

◆ const_reference

template<class source_T , class value_T >
using o2::rans::internal::OrderedSet< source_T, value_T >::const_reference = const value_type&

Definition at line 50 of file OrderedSet.h.

◆ container_type

template<class source_T , class value_T >
using o2::rans::internal::OrderedSet< source_T, value_T >::container_type = std::vector<tuple_type>

Definition at line 46 of file OrderedSet.h.

◆ difference_type

template<class source_T , class value_T >
using o2::rans::internal::OrderedSet< source_T, value_T >::difference_type = std::ptrdiff_t

Definition at line 48 of file OrderedSet.h.

◆ iterator

template<class source_T , class value_T >
using o2::rans::internal::OrderedSet< source_T, value_T >::iterator = OrderedSetIterator<tuple_type*>

Definition at line 53 of file OrderedSet.h.

◆ pointer

template<class source_T , class value_T >
using o2::rans::internal::OrderedSet< source_T, value_T >::pointer = value_type*

Definition at line 51 of file OrderedSet.h.

◆ reference

template<class source_T , class value_T >
using o2::rans::internal::OrderedSet< source_T, value_T >::reference = value_type&

Definition at line 49 of file OrderedSet.h.

◆ size_type

template<class source_T , class value_T >
using o2::rans::internal::OrderedSet< source_T, value_T >::size_type = size_t

Definition at line 47 of file OrderedSet.h.

◆ source_type

template<class source_T , class value_T >
using o2::rans::internal::OrderedSet< source_T, value_T >::source_type = source_T

Definition at line 43 of file OrderedSet.h.

◆ tuple_type

template<class source_T , class value_T >
using o2::rans::internal::OrderedSet< source_T, value_T >::tuple_type = std::pair<source_T, value_T>

Definition at line 45 of file OrderedSet.h.

◆ value_type

template<class source_T , class value_T >
using o2::rans::internal::OrderedSet< source_T, value_T >::value_type = value_T

Definition at line 44 of file OrderedSet.h.

Constructor & Destructor Documentation

◆ OrderedSet() [1/3]

template<class source_T , class value_T >
o2::rans::internal::OrderedSet< source_T, value_T >::OrderedSet ( )
default

◆ OrderedSet() [2/3]

template<class source_T , class value_T >
o2::rans::internal::OrderedSet< source_T, value_T >::OrderedSet ( value_type  nullElement)
inline

Definition at line 57 of file OrderedSet.h.

◆ OrderedSet() [3/3]

template<class source_T , class value_T >
o2::rans::internal::OrderedSet< source_T, value_T >::OrderedSet ( container_type  container,
value_type  nullElement,
OrderedSetState  state = OrderedSetState::unordered 
)
inline

Definition at line 58 of file OrderedSet.h.

Member Function Documentation

◆ begin() [1/2]

template<class source_T , class value_T >
const_iterator o2::rans::internal::OrderedSet< source_T, value_T >::begin ( ) const
inlinenoexcept

Definition at line 112 of file OrderedSet.h.

◆ begin() [2/2]

template<class source_T , class value_T >
iterator o2::rans::internal::OrderedSet< source_T, value_T >::begin ( )
inlinenoexcept

Definition at line 116 of file OrderedSet.h.

◆ cbegin()

template<class source_T , class value_T >
const_iterator o2::rans::internal::OrderedSet< source_T, value_T >::cbegin ( ) const
inlinenoexcept

Definition at line 108 of file OrderedSet.h.

◆ cend()

template<class source_T , class value_T >
const_iterator o2::rans::internal::OrderedSet< source_T, value_T >::cend ( ) const
inlinenoexcept

Definition at line 110 of file OrderedSet.h.

◆ empty()

template<class source_T , class value_T >
bool o2::rans::internal::OrderedSet< source_T, value_T >::empty ( ) const
inlinenoexcept

Definition at line 106 of file OrderedSet.h.

◆ end() [1/2]

template<class source_T , class value_T >
const_iterator o2::rans::internal::OrderedSet< source_T, value_T >::end ( ) const
inlinenoexcept

Definition at line 114 of file OrderedSet.h.

◆ end() [2/2]

template<class source_T , class value_T >
iterator o2::rans::internal::OrderedSet< source_T, value_T >::end ( )
inlinenoexcept

Definition at line 118 of file OrderedSet.h.

◆ find() [1/2]

template<class source_T , class value_T >
iterator o2::rans::internal::OrderedSet< source_T, value_T >::find ( source_type  sourceSymbol)
inline

Definition at line 102 of file OrderedSet.h.

◆ find() [2/2]

template<class source_T , class value_T >
const_iterator o2::rans::internal::OrderedSet< source_T, value_T >::find ( source_type  sourceSymbol) const
inline

Definition at line 100 of file OrderedSet.h.

◆ findImpl() [1/2]

template<class source_T , class value_T >
decltype(auto) o2::rans::internal::OrderedSet< source_T, value_T >::findImpl ( source_type  sourceSymbol)
inlineprotected

Definition at line 142 of file OrderedSet.h.

◆ findImpl() [2/2]

template<class source_T , class value_T >
decltype(auto) o2::rans::internal::OrderedSet< source_T, value_T >::findImpl ( source_type  sourceSymbol) const
inlineprotected

Definition at line 153 of file OrderedSet.h.

◆ getNullElement()

template<class source_T , class value_T >
const_reference o2::rans::internal::OrderedSet< source_T, value_T >::getNullElement ( ) const
inline

Definition at line 78 of file OrderedSet.h.

◆ operator[]() [1/2]

template<class source_T , class value_T >
reference o2::rans::internal::OrderedSet< source_T, value_T >::operator[] ( source_type  sourceSymbol)
inline

Definition at line 90 of file OrderedSet.h.

◆ operator[]() [2/2]

template<class source_T , class value_T >
const_reference o2::rans::internal::OrderedSet< source_T, value_T >::operator[] ( source_type  sourceSymbol) const
inline

Definition at line 80 of file OrderedSet.h.

◆ release()

template<class source_T , class value_T >
container_type o2::rans::internal::OrderedSet< source_T, value_T >::release ( ) &&
inlinenoexcept

Definition at line 120 of file OrderedSet.h.

◆ size()

template<class source_T , class value_T >
size_type o2::rans::internal::OrderedSet< source_T, value_T >::size ( ) const
inlinenoexcept

Definition at line 104 of file OrderedSet.h.

Friends And Related Symbol Documentation

◆ swap

template<class source_T , class value_T >
void swap ( OrderedSet< source_T, value_T > &  a,
OrderedSet< source_T, value_T > &  b 
)
friend

Definition at line 122 of file OrderedSet.h.

Member Data Documentation

◆ mContainer

template<class source_T , class value_T >
container_type o2::rans::internal::OrderedSet< source_T, value_T >::mContainer {}
protected

Definition at line 164 of file OrderedSet.h.

◆ mNullElement

template<class source_T , class value_T >
value_type o2::rans::internal::OrderedSet< source_T, value_T >::mNullElement {}
protected

Definition at line 165 of file OrderedSet.h.


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