Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
Public Types | Public Member Functions
ext::managed_linear_set< T, Compare, Alloc > Class Template Reference

Implementation of set mimicking the iterface of the standard library set. The inner representation is using sorted vector of unique value. More...

#include <managed_linear_set.hpp>

Public Types

typedef T value_type
 The type of values in the set. More...
 
typedef ext::vector< T, Alloc >::const_iterator iterator
 The type of iterator over values in the set. It is the same as the underling vector's const iterator. More...
 
typedef ext::vector< T, Alloc >::const_iterator const_iterator
 The type of const iterator over values in the set. It is the same as the underling vector's const iterator. More...
 
typedef ext::vector< T, Alloc >::const_reverse_iterator reverse_iterator
 The type of reverse iterator over values in the set. It is the same as the underling vector's const reverse iterator. More...
 
typedef ext::vector< T, Alloc >::const_reverse_iterator const_reverse_iterator
 The type of const reverse iterator over values in the set. It is the same as the underling vector's const reverse iterator. More...
 

Public Member Functions

void addInsertCallback (const std::function< void(const T &) > &callback)
 
void addRemoveCallback (const std::function< void(const T &) > &callback)
 
 managed_linear_set (const Compare &comp=Compare(), const Alloc &alloc=Alloc())
 Default constructor of the empty set. More...
 
 managed_linear_set (const Alloc &alloc)
 Constructor of the empty set with specified allocator. More...
 
template<class InputIterator >
 managed_linear_set (InputIterator first, InputIterator last, const Compare &comp=Compare(), const Alloc &alloc=Alloc())
 Set constructor from a range of values. More...
 
template<class Iterator >
 managed_linear_set (const ext::iterator_range< Iterator > &range)
 
 managed_linear_set (const managed_linear_set &x)
 Copy constructor. More...
 
 managed_linear_set (const managed_linear_set &x, const Alloc &alloc)
 Copy constructor including allocator specification. More...
 
 managed_linear_set (managed_linear_set &&x)
 Move constructor. More...
 
 managed_linear_set (managed_linear_set &&x, const Alloc &alloc)
 Move constructor including allocator specification. More...
 
 managed_linear_set (std::initializer_list< T > il, const Compare &comp=Compare(), const Alloc &alloc=Alloc())
 Set constructor from initializer list. More...
 
 ~managed_linear_set ()
 The destructor of the linear set. More...
 
iterator begin () &noexcept
 Getter of an iterator to the begining of range of values in the container. More...
 
const_iterator begin () const &noexcept
 Getter of a const iterator to the begining of range of values in the container. More...
 
auto begin () &&noexcept
 Getter of a move iterator to the begining of range of values in the container. More...
 
const_iterator cbegin () const noexcept
 Getter of a const iterator to the begining of range of values in the container. More...
 
iterator end () &noexcept
 Getter of an iterator to the end of range of values in the container. More...
 
const_iterator end () const &noexcept
 Getter of a const iterator to the end of range of values in the container. More...
 
auto end () &&noexcept
 Getter of a move iterator to the end of range of values in the container. More...
 
const_iterator cend () const noexcept
 Getter of a const iterator to the end of range of values in the container. More...
 
auto range () &
 Make range of non-const begin to end iterators. More...
 
auto range () const &
 Make range of non-const begin to end iterators. More...
 
auto range () &&
 Make range of move begin to end iterators. More...
 
void clear () noexcept
 Removes all values from the conainer,. More...
 
size_t count (const T &value) const
 Computes the number of values in the container. More...
 
const_reverse_iterator crbegin () const noexcept
 Getter of a const revese iterator to the begining of reverse range of values in the container. More...
 
const_reverse_iterator crend () const noexcept
 Getter of a const revese iterator to the end of reverse range of values in the container. More...
 
template<class... Args>
std::pair< iterator, bool > emplace (Args &&... args)
 Emplace a value to the container. Internaly the method uses insert since the place to put the value requires call to comparator and that needs the value. More...
 
template<class... Args>
iterator emplace_hint (const_iterator position, Args &&... args)
 Emplace a value to the container with provided position as a hint. Internaly the method uses insert since the place to put the value requires call to comparator and that needs the value. More...
 
bool empty () const noexcept
 Tests whether the container is empty. More...
 
std::pair< const_iterator, const_iteratorequal_range (const T &val) const
 Returns a range of values equal to the val. The range is specified by const iterators. More...
 
std::pair< iterator, iteratorequal_range (const T &val)
 Returns a range of values equal to the val. The range is specified by iterators. More...
 
iterator erase (const_iterator position)
 Removes value from the container based on the position given by iterator. More...
 
size_t erase (const T &val)
 Removes value from the container. More...
 
iterator erase (const_iterator first, const_iterator last)
 Removes values in the specified range. The range is specified by pair of iterators. More...
 
const_iterator find (const T &val) const
 Function to binary search for given value. More...
 
iterator find (const T &val)
 Function to binary search for given value. More...
 
Alloc get_allocator () const noexcept
 Getter of the allocator. More...
 
std::pair< iterator, bool > insert (const T &val)
 Inserts a new value to the container. More...
 
std::pair< iterator, bool > insert (T &&val)
 Inserts a new value to the container. More...
 
iterator insert (const_iterator position, const T &val)
 Inserts a new value to the container. The method accepts a position hint where to place the new value. More...
 
iterator insert (const_iterator position, T &&val)
 Inserts a new value to the container. The method accepts a position hint where to place the new value. More...
 
template<class InputIterator >
void insert (InputIterator first, InputIterator last)
 Insert values from a range speified by pair of iterators. More...
 
void insert (std::initializer_list< T > il)
 Insert values from a range speified by initializer list. More...
 
Compare key_comp () const
 Getter of the key comparator instance. More...
 
iterator lower_bound (const T &val)
 Returns an iterator pointing to the first element in the range [first,last) which does not compare less than val. More...
 
const_iterator lower_bound (const T &val) const
 Returns an iterator pointing to the first element in the range [first,last) which does not compare less than val. More...
 
size_t max_size () const noexcept
 Returns the maximal number of values possible to store inside the container. More...
 
managed_linear_setoperator= (const managed_linear_set &data)
 Copy operator of assignmet. More...
 
managed_linear_setoperator= (managed_linear_set &&data)
 Move operator of assignmet. More...
 
managed_linear_setoperator= (std::initializer_list< T > il)
 Asignment from the initializer list. More...
 
reverse_iterator rbegin () noexcept
 Getter of a reverse iterator to the begining of range of values in the container. More...
 
const_reverse_iterator rbegin () const noexcept
 Getter of a const reverse iterator to the begining of range of values in the container. More...
 
reverse_iterator rend () noexcept
 Getter of a reverse iterator to the end of range of values in the container. More...
 
const_reverse_iterator rend () const noexcept
 Getter of a const reverse iterator to the end of range of values in the container. More...
 
size_t size () const noexcept
 Getter of the number of values inside the container. More...
 
void swap (managed_linear_set &data)
 Swaps two instances of linear set. More...
 
iterator upper_bound (const T &val)
 Returns an iterator pointing to the first element in the range [first,last) which compares greater than val. More...
 
const_iterator upper_bound (const T &val) const
 Returns an iterator pointing to the first element in the range [first,last) which compares greater than val. More...
 
Compare value_comp () const
 Getter of the value comparator instance. Actually the value_type is the same as key_type so this is an alias to key_comp method. More...
 
auto operator<=> (const managed_linear_set< T, Compare, Alloc > &other) const =default
 Compares two set instances by less relation. More...
 

Detailed Description

template<class T, class Compare = std::less<T>, class Alloc = std::allocator<T>>
class ext::managed_linear_set< T, Compare, Alloc >

Implementation of set mimicking the iterface of the standard library set. The inner representation is using sorted vector of unique value.

Template Parameters
Tthe type of stored values
Comparethe less comparator used to determinine order between elements - defaults to std::less < T >
Allocthe allocator of elements - defaults to std::allocator < T >

Member Typedef Documentation

◆ const_iterator

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
typedef ext::vector<T,Alloc>::const_iterator ext::managed_linear_set< T, Compare, Alloc >::const_iterator

The type of const iterator over values in the set. It is the same as the underling vector's const iterator.

◆ const_reverse_iterator

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
typedef ext::vector<T,Alloc>::const_reverse_iterator ext::managed_linear_set< T, Compare, Alloc >::const_reverse_iterator

The type of const reverse iterator over values in the set. It is the same as the underling vector's const reverse iterator.

◆ iterator

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
typedef ext::vector<T,Alloc>::const_iterator ext::managed_linear_set< T, Compare, Alloc >::iterator

The type of iterator over values in the set. It is the same as the underling vector's const iterator.

◆ reverse_iterator

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
typedef ext::vector<T,Alloc>::const_reverse_iterator ext::managed_linear_set< T, Compare, Alloc >::reverse_iterator

The type of reverse iterator over values in the set. It is the same as the underling vector's const reverse iterator.

◆ value_type

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
typedef T ext::managed_linear_set< T, Compare, Alloc >::value_type

The type of values in the set.

Constructor & Destructor Documentation

◆ managed_linear_set() [1/9]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
ext::managed_linear_set< T, Compare, Alloc >::managed_linear_set ( const Compare &  comp = Compare(),
const Alloc &  alloc = Alloc() 
)
inlineexplicit

Default constructor of the empty set.

Parameters
compthe instance of custom comparator or defaultly constructed comparator based on the comparator type
allocthe instance of custom allocator or defaultly constructed allocator based on the comparator type

◆ managed_linear_set() [2/9]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
ext::managed_linear_set< T, Compare, Alloc >::managed_linear_set ( const Alloc &  alloc)
inlineexplicit

Constructor of the empty set with specified allocator.

Parameters
allocthe instance of custom allocator

◆ managed_linear_set() [3/9]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
template<class InputIterator >
ext::managed_linear_set< T, Compare, Alloc >::managed_linear_set ( InputIterator  first,
InputIterator  last,
const Compare &  comp = Compare(),
const Alloc &  alloc = Alloc() 
)
inline

Set constructor from a range of values.

Parameters
firstthe begining of the range of values
lastthe end of the range of values
compthe instance of custom comparator or defaultly constructed comparator based on the comparator type
allocthe instance of custom allocator or defaultly constructed allocator based on the comparator type

◆ managed_linear_set() [4/9]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
template<class Iterator >
ext::managed_linear_set< T, Compare, Alloc >::managed_linear_set ( const ext::iterator_range< Iterator > &  range)
inline

Constructor from range of values.

Template Parameters
Iteratorthe type of range iterator
Parameters
rangethe source range

◆ managed_linear_set() [5/9]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
ext::managed_linear_set< T, Compare, Alloc >::managed_linear_set ( const managed_linear_set< T, Compare, Alloc > &  x)
inline

Copy constructor.

Parameters
xthe other linear set instance

◆ managed_linear_set() [6/9]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
ext::managed_linear_set< T, Compare, Alloc >::managed_linear_set ( const managed_linear_set< T, Compare, Alloc > &  x,
const Alloc &  alloc 
)
inline

Copy constructor including allocator specification.

Parameters
xthe other linear set instance
allocthe new allocator instance

◆ managed_linear_set() [7/9]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
ext::managed_linear_set< T, Compare, Alloc >::managed_linear_set ( managed_linear_set< T, Compare, Alloc > &&  x)
inline

Move constructor.

Parameters
xthe other linear set instance

◆ managed_linear_set() [8/9]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
ext::managed_linear_set< T, Compare, Alloc >::managed_linear_set ( managed_linear_set< T, Compare, Alloc > &&  x,
const Alloc &  alloc 
)
inline

Move constructor including allocator specification.

Parameters
xthe other linear set instance
allocthe new allocator instance

◆ managed_linear_set() [9/9]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
ext::managed_linear_set< T, Compare, Alloc >::managed_linear_set ( std::initializer_list< T >  il,
const Compare &  comp = Compare(),
const Alloc &  alloc = Alloc() 
)
inline

Set constructor from initializer list.

Parameters
ilthe source of values represented by initializer list
compthe instance of custom comparator or defaultly constructed comparator based on the comparator type
allocthe instance of custom allocator or defaultly constructed allocator based on the comparator type

◆ ~managed_linear_set()

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
ext::managed_linear_set< T, Compare, Alloc >::~managed_linear_set ( )
inline

The destructor of the linear set.

Member Function Documentation

◆ addInsertCallback()

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
void ext::managed_linear_set< T, Compare, Alloc >::addInsertCallback ( const std::function< void(const T &) > &  callback)
inline
Here is the call graph for this function:

◆ addRemoveCallback()

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
void ext::managed_linear_set< T, Compare, Alloc >::addRemoveCallback ( const std::function< void(const T &) > &  callback)
inline
Here is the call graph for this function:

◆ begin() [1/3]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
auto ext::managed_linear_set< T, Compare, Alloc >::begin ( ) &&
inlinenoexcept

Getter of a move iterator to the begining of range of values in the container.

Returns
begin move iterator

◆ begin() [2/3]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
iterator ext::managed_linear_set< T, Compare, Alloc >::begin ( ) &
inlinenoexcept

Getter of an iterator to the begining of range of values in the container.

Returns
begin iterator
Here is the call graph for this function:
Here is the caller graph for this function:

◆ begin() [3/3]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
const_iterator ext::managed_linear_set< T, Compare, Alloc >::begin ( ) const &
inlinenoexcept

Getter of a const iterator to the begining of range of values in the container.

Returns
begin const iterator
Here is the call graph for this function:

◆ cbegin()

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
const_iterator ext::managed_linear_set< T, Compare, Alloc >::cbegin ( ) const
inlinenoexcept

Getter of a const iterator to the begining of range of values in the container.

Returns
begin const iterator
Here is the call graph for this function:

◆ cend()

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
const_iterator ext::managed_linear_set< T, Compare, Alloc >::cend ( ) const
inlinenoexcept

Getter of a const iterator to the end of range of values in the container.

Returns
end const iterator
Here is the call graph for this function:

◆ clear()

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
void ext::managed_linear_set< T, Compare, Alloc >::clear ( )
inlinenoexcept

Removes all values from the conainer,.

◆ count()

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
size_t ext::managed_linear_set< T, Compare, Alloc >::count ( const T &  value) const
inline

Computes the number of values in the container.

Returns
the number of values in the container.
Here is the call graph for this function:

◆ crbegin()

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
const_reverse_iterator ext::managed_linear_set< T, Compare, Alloc >::crbegin ( ) const
inlinenoexcept

Getter of a const revese iterator to the begining of reverse range of values in the container.

Returns
begin const reverse iterator
Here is the call graph for this function:

◆ crend()

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
const_reverse_iterator ext::managed_linear_set< T, Compare, Alloc >::crend ( ) const
inlinenoexcept

Getter of a const revese iterator to the end of reverse range of values in the container.

Returns
end const reverse iterator
Here is the call graph for this function:

◆ emplace()

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
template<class... Args>
std::pair< iterator, bool > ext::managed_linear_set< T, Compare, Alloc >::emplace ( Args &&...  args)
inline

Emplace a value to the container. Internaly the method uses insert since the place to put the value requires call to comparator and that needs the value.

Template Parameters
Args... types of arguments of constructor of T
Parameters
args... actual parameters pased to constructor of T
Returns
pair of iterator and bool, where the iterator points to newly inserted value (or already existing one) and the bool is true of the value was inserted, or false if the value was alread inside the container
Here is the call graph for this function:

◆ emplace_hint()

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
template<class... Args>
iterator ext::managed_linear_set< T, Compare, Alloc >::emplace_hint ( const_iterator  position,
Args &&...  args 
)
inline

Emplace a value to the container with provided position as a hint. Internaly the method uses insert since the place to put the value requires call to comparator and that needs the value.

Template Parameters
Args... types of arguments of constructor of T
Parameters
positionthe position hint where to place the new value
args... actual parameters pased to constructor of T
Returns
pair of iterator and bool, where the iterator points to newly inserted value (or already existing one) and the bool is true of the value was inserted, or false if the value was alread inside the container
Here is the call graph for this function:

◆ empty()

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
bool ext::managed_linear_set< T, Compare, Alloc >::empty ( ) const
inlinenoexcept

Tests whether the container is empty.

Returns
true if the container is empty, false othervise
Here is the call graph for this function:

◆ end() [1/3]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
auto ext::managed_linear_set< T, Compare, Alloc >::end ( ) &&
inlinenoexcept

Getter of a move iterator to the end of range of values in the container.

Returns
end move iterator

◆ end() [2/3]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
iterator ext::managed_linear_set< T, Compare, Alloc >::end ( ) &
inlinenoexcept

Getter of an iterator to the end of range of values in the container.

Returns
end iterator
Here is the call graph for this function:
Here is the caller graph for this function:

◆ end() [3/3]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
const_iterator ext::managed_linear_set< T, Compare, Alloc >::end ( ) const &
inlinenoexcept

Getter of a const iterator to the end of range of values in the container.

Returns
end const iterator
Here is the call graph for this function:

◆ equal_range() [1/2]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
std::pair< iterator, iterator > ext::managed_linear_set< T, Compare, Alloc >::equal_range ( const T &  val)
inline

Returns a range of values equal to the val. The range is specified by iterators.

Parameters
valthe queried value
Returns
pair of iterators representing the range
Here is the call graph for this function:

◆ equal_range() [2/2]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
std::pair< const_iterator, const_iterator > ext::managed_linear_set< T, Compare, Alloc >::equal_range ( const T &  val) const
inline

Returns a range of values equal to the val. The range is specified by const iterators.

Parameters
valthe queried value
Returns
pair of iterators representing the range
Here is the call graph for this function:

◆ erase() [1/3]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
size_t ext::managed_linear_set< T, Compare, Alloc >::erase ( const T &  val)
inline

Removes value from the container.

Parameters
valthe value to remove.
Returns
the number of removed values
Here is the call graph for this function:

◆ erase() [2/3]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
iterator ext::managed_linear_set< T, Compare, Alloc >::erase ( const_iterator  first,
const_iterator  last 
)
inline

Removes values in the specified range. The range is specified by pair of iterators.

Parameters
firstthe begining of removed range of values
lastthe end of removed range of values
Returns
iterator to value after last removed value
Here is the call graph for this function:

◆ erase() [3/3]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
iterator ext::managed_linear_set< T, Compare, Alloc >::erase ( const_iterator  position)
inline

Removes value from the container based on the position given by iterator.

Parameters
positionthe iterator pointing to the value to remove.
Returns
updated iterator pointing to the next value
Here is the call graph for this function:

◆ find() [1/2]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
iterator ext::managed_linear_set< T, Compare, Alloc >::find ( const T &  val)
inline

Function to binary search for given value.

Parameters
valthe value to search for
Returns
iterator pointing to searched value or iterator to end
Here is the call graph for this function:

◆ find() [2/2]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
const_iterator ext::managed_linear_set< T, Compare, Alloc >::find ( const T &  val) const
inline

Function to binary search for given value.

Parameters
valthe value to search for
Returns
iterator pointing to searched value or iterator to end
Here is the call graph for this function:

◆ get_allocator()

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
Alloc ext::managed_linear_set< T, Compare, Alloc >::get_allocator ( ) const
inlinenoexcept

Getter of the allocator.

Returns
the allocator
Here is the call graph for this function:

◆ insert() [1/6]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
std::pair< iterator, bool > ext::managed_linear_set< T, Compare, Alloc >::insert ( const T &  val)
inline

Inserts a new value to the container.

Parameters
valthe value to insert
Returns
pair of iterator and bool, where the iterator points to newly inserted value (or already existing one) and the bool is true of the value was inserted, or false if the value was alread inside the container
Here is the call graph for this function:
Here is the caller graph for this function:

◆ insert() [2/6]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
iterator ext::managed_linear_set< T, Compare, Alloc >::insert ( const_iterator  position,
const T &  val 
)
inline

Inserts a new value to the container. The method accepts a position hint where to place the new value.

Parameters
positionthe hint where to insert
valthe value to insert
Returns
iterator pointing to newly inserted value (or already existing one).
Here is the call graph for this function:

◆ insert() [3/6]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
iterator ext::managed_linear_set< T, Compare, Alloc >::insert ( const_iterator  position,
T &&  val 
)
inline

Inserts a new value to the container. The method accepts a position hint where to place the new value.

Parameters
positionthe hint where to insert
valthe value to insert
Returns
iterator pointing to newly inserted value (or already existing one).
Here is the call graph for this function:

◆ insert() [4/6]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
template<class InputIterator >
void ext::managed_linear_set< T, Compare, Alloc >::insert ( InputIterator  first,
InputIterator  last 
)
inline

Insert values from a range speified by pair of iterators.

Parameters
firstthe begining of removed range of values
lastthe end of removed range of values
Here is the call graph for this function:

◆ insert() [5/6]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
void ext::managed_linear_set< T, Compare, Alloc >::insert ( std::initializer_list< T >  il)
inline

Insert values from a range speified by initializer list.

Parameters
ilthe source of values represented by initializer list
Here is the call graph for this function:

◆ insert() [6/6]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
std::pair< iterator, bool > ext::managed_linear_set< T, Compare, Alloc >::insert ( T &&  val)
inline

Inserts a new value to the container.

Parameters
valthe value to insert
Returns
pair of iterator and bool, where the iterator points to newly inserted value (or already existing one) and the bool is true of the value was inserted, or false if the value was alread inside the container
Here is the call graph for this function:

◆ key_comp()

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
Compare ext::managed_linear_set< T, Compare, Alloc >::key_comp ( ) const
inline

Getter of the key comparator instance.

Returns
the key comparator instance
Here is the call graph for this function:

◆ lower_bound() [1/2]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
iterator ext::managed_linear_set< T, Compare, Alloc >::lower_bound ( const T &  val)
inline

Returns an iterator pointing to the first element in the range [first,last) which does not compare less than val.

Parameters
valthe border value
Returns
the iterator meeting lower_bound criteria
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lower_bound() [2/2]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
const_iterator ext::managed_linear_set< T, Compare, Alloc >::lower_bound ( const T &  val) const
inline

Returns an iterator pointing to the first element in the range [first,last) which does not compare less than val.

Parameters
valthe border value
Returns
the iterator meeting lower_bound criteria
Here is the call graph for this function:

◆ max_size()

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
size_t ext::managed_linear_set< T, Compare, Alloc >::max_size ( ) const
inlinenoexcept

Returns the maximal number of values possible to store inside the container.

Returns
the maximal number of values
Here is the call graph for this function:

◆ operator<=>()

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
auto ext::managed_linear_set< T, Compare, Alloc >::operator<=> ( const managed_linear_set< T, Compare, Alloc > &  other) const
default

Compares two set instances by less relation.

Parameters
otherthe second instance to compare
Returns
instance of compare category given by the type T representing the comparison of the value in this and value in other instance

◆ operator=() [1/3]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
managed_linear_set & ext::managed_linear_set< T, Compare, Alloc >::operator= ( const managed_linear_set< T, Compare, Alloc > &  data)
inline

Copy operator of assignmet.

Parameters
xthe other instance
Returns
the modified instance
Here is the call graph for this function:

◆ operator=() [2/3]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
managed_linear_set & ext::managed_linear_set< T, Compare, Alloc >::operator= ( managed_linear_set< T, Compare, Alloc > &&  data)
inline

Move operator of assignmet.

Parameters
xthe other instance
Returns
the modified instance
Here is the call graph for this function:

◆ operator=() [3/3]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
managed_linear_set & ext::managed_linear_set< T, Compare, Alloc >::operator= ( std::initializer_list< T >  il)
inline

Asignment from the initializer list.

Parameters
ilthe source initializer list
Returns
the modified instance
Here is the call graph for this function:

◆ range() [1/3]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
auto ext::managed_linear_set< T, Compare, Alloc >::range ( ) &
inline

Make range of non-const begin to end iterators.

Returns
full range over container values
Here is the call graph for this function:

◆ range() [2/3]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
auto ext::managed_linear_set< T, Compare, Alloc >::range ( ) &&
inline

Make range of move begin to end iterators.

Returns
full range over container values

◆ range() [3/3]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
auto ext::managed_linear_set< T, Compare, Alloc >::range ( ) const &
inline

Make range of non-const begin to end iterators.

Returns
full range over container values
Here is the call graph for this function:

◆ rbegin() [1/2]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
const_reverse_iterator ext::managed_linear_set< T, Compare, Alloc >::rbegin ( ) const
inlinenoexcept

Getter of a const reverse iterator to the begining of range of values in the container.

Returns
begin const reverse iterator
Here is the call graph for this function:

◆ rbegin() [2/2]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
reverse_iterator ext::managed_linear_set< T, Compare, Alloc >::rbegin ( )
inlinenoexcept

Getter of a reverse iterator to the begining of range of values in the container.

Returns
begin reverse iterator
Here is the call graph for this function:

◆ rend() [1/2]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
const_reverse_iterator ext::managed_linear_set< T, Compare, Alloc >::rend ( ) const
inlinenoexcept

Getter of a const reverse iterator to the end of range of values in the container.

Returns
end const reverse iterator
Here is the call graph for this function:

◆ rend() [2/2]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
reverse_iterator ext::managed_linear_set< T, Compare, Alloc >::rend ( )
inlinenoexcept

Getter of a reverse iterator to the end of range of values in the container.

Returns
end reverse iterator
Here is the call graph for this function:

◆ size()

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
size_t ext::managed_linear_set< T, Compare, Alloc >::size ( ) const
inlinenoexcept

Getter of the number of values inside the container.

Returns
the number of values
Here is the call graph for this function:

◆ swap()

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
void ext::managed_linear_set< T, Compare, Alloc >::swap ( managed_linear_set< T, Compare, Alloc > &  data)
inline

Swaps two instances of linear set.

Parameters
xthe other instance to swap with
Here is the call graph for this function:
Here is the caller graph for this function:

◆ upper_bound() [1/2]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
iterator ext::managed_linear_set< T, Compare, Alloc >::upper_bound ( const T &  val)
inline

Returns an iterator pointing to the first element in the range [first,last) which compares greater than val.

Parameters
valthe border value
Returns
the iterator meeting upper_bound criteria
Here is the call graph for this function:
Here is the caller graph for this function:

◆ upper_bound() [2/2]

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
const_iterator ext::managed_linear_set< T, Compare, Alloc >::upper_bound ( const T &  val) const
inline

Returns an iterator pointing to the first element in the range [first,last) which compares greater than val.

Parameters
valthe border value
Returns
the iterator meeting upper_bound criteria
Here is the call graph for this function:

◆ value_comp()

template<class T , class Compare = std::less<T>, class Alloc = std::allocator<T>>
Compare ext::managed_linear_set< T, Compare, Alloc >::value_comp ( ) const
inline

Getter of the value comparator instance. Actually the value_type is the same as key_type so this is an alias to key_comp method.

Returns
the key comparator instance
Here is the call graph for this function:

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