neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neolib::set< T, Pred, Alloc > Class Template Reference

#include <set.hpp>

Inheritance diagram for neolib::set< T, Pred, Alloc >:
neolib::reference_counted< i_set< abstract_t< T > > > neolib::i_set< abstract_t< T > > neolib::i_container< T, ConstIteratorType, IteratorType > neolib::i_reference_counted

Public Types

typedef i_set< abstract_t< T > > abstract_type
 
typedef abstract_t< Tabstract_key_type
 
typedef abstract_t< Tabstract_value_type
 
typedef T key_type
 
typedef T value_type
 
typedef Pred compare_type
 
typedef Alloc allocator_type
 
typedef mutable_set< value_type, compare_type, allocator_typestd_type
 
typedef abstract_type::size_type size_type
 
typedef container::const_iterator< value_type, typename std_type::const_iteratorcontainer_const_iterator
 
typedef container::iterator< value_type, typename std_type::iterator, typename std_type::const_iteratorcontainer_iterator
 
typedef abstract_type::const_iterator const_iterator
 
typedef abstract_type::iterator iterator
 
- Public Types inherited from neolib::i_set< abstract_t< T > >
typedef self_type abstract_type
 
typedef abstract_t< T > abstract_key_type
 
typedef abstract_t< T > abstract_value_type
 
typedef base_type abstract_container
 
typedef base_type::const_iterator const_iterator
 
typedef base_type::iterator iterator
 
- Public Types inherited from neolib::i_container< T, ConstIteratorType, IteratorType >
typedef T value_type
 
typedef size_t size_type
 
typedef ConstIteratorType abstract_const_iterator
 
typedef IteratorType abstract_iterator
 
typedef abstract_const_iterator::iterator_wrapper const_iterator
 
typedef abstract_iterator::iterator_wrapper iterator
 
typedef std::reverse_iterator< const_iteratorconst_reverse_iterator
 
typedef std::reverse_iterator< iteratorreverse_iterator
 

Public Member Functions

 set ()
 
 set (const abstract_container &aOther)
 
 set (std::initializer_list< value_type > aElements)
 
template<typename InputIter >
 set (InputIter aFirst, InputIter aLast)
 
const std_typeas_std_set () const
 
std_typeas_std_set ()
 
std_type to_std_set () const
 
constexpr bool operator== (const self_type &that) const noexcept
 
constexpr std::partial_ordering operator<=> (const self_type &that) const noexcept
 
size_type size () const noexcept final
 
size_type max_size () const noexcept final
 
void clear () final
 
void assign (const abstract_container &aOther) final
 
abstract_iteratordo_insert (void *memory, const abstract_value_type &aValue) final
 
abstract_const_iteratordo_find (void *memory, const abstract_key_type &aKey) const final
 
abstract_iteratordo_find (void *memory, const abstract_key_type &aKey) final
 
- Public Member Functions inherited from neolib::reference_counted< i_set< abstract_t< T > > >
 reference_counted () noexcept
 
 reference_counted (const reference_counted &aOther) noexcept
 
 ~reference_counted ()
 
reference_countedoperator= (const reference_counted &)
 
void add_ref () const noexcept override
 
void release () const override
 
int32_t use_count () const noexcept override
 
const base_typerelease_and_take_ownership () const override
 
base_typerelease_and_take_ownership () override
 
void pin () const noexcept override
 
void unpin () const override
 
i_ref_control_blockcontrol_block () override
 
- Public Member Functions inherited from neolib::i_set< abstract_t< T > >
iterator insert (const abstract_value_type &aValue)
 
const_iterator find (const abstract_key_type &aKey) const
 
iterator find (const abstract_key_type &aKey)
 
- Public Member Functions inherited from neolib::i_container< T, ConstIteratorType, IteratorType >
bool empty () const noexcept
 
const_iterator cbegin () const
 
const_iterator begin () const
 
iterator begin ()
 
const_iterator cend () const
 
const_iterator end () const
 
iterator end ()
 
const_reverse_iterator crbegin () const
 
const_reverse_iterator rbegin () const
 
reverse_iterator rbegin ()
 
const_reverse_iterator crend () const
 
const_reverse_iterator rend () const
 
reverse_iterator rend ()
 
iterator erase (const abstract_iterator &aPosition)
 
iterator erase (const abstract_const_iterator &aPosition)
 
iterator erase (const abstract_iterator &aFirst, const abstract_iterator &aLast)
 
iterator erase (const abstract_const_iterator &aFirst, const abstract_const_iterator &aLast)
 
virtual void assign (const i_container &aRhs)=0
 
i_containeroperator= (const i_container &aRhs)
 
- Public Member Functions inherited from neolib::i_reference_counted
virtual ~i_reference_counted ()=default
 

Protected Types

typedef abstract_type::abstract_const_iterator abstract_const_iterator
 
typedef abstract_type::abstract_iterator abstract_iterator
 
- Protected Types inherited from neolib::i_set< abstract_t< T > >
typedef base_type::abstract_const_iterator abstract_const_iterator
 
typedef base_type::abstract_iterator abstract_iterator
 
- Protected Types inherited from neolib::i_container< T, ConstIteratorType, IteratorType >
typedef i_container< T, ConstIteratorType, IteratorTypegeneric_container_type
 

Detailed Description

template<typename T, typename Pred = std::less<typename crack_key<T>::key_type>, typename Alloc = std::allocator<T>>
class neolib::set< T, Pred, Alloc >

Definition at line 46 of file set.hpp.

Member Typedef Documentation

◆ abstract_const_iterator

template<typename T , typename Pred = std::less<typename crack_key<T>::key_type>, typename Alloc = std::allocator<T>>
typedef abstract_type::abstract_const_iterator neolib::set< T, Pred, Alloc >::abstract_const_iterator
protected

Definition at line 67 of file set.hpp.

◆ abstract_iterator

template<typename T , typename Pred = std::less<typename crack_key<T>::key_type>, typename Alloc = std::allocator<T>>
typedef abstract_type::abstract_iterator neolib::set< T, Pred, Alloc >::abstract_iterator
protected

Definition at line 68 of file set.hpp.

◆ abstract_key_type

template<typename T , typename Pred = std::less<typename crack_key<T>::key_type>, typename Alloc = std::allocator<T>>
typedef abstract_t<T> neolib::set< T, Pred, Alloc >::abstract_key_type

Definition at line 53 of file set.hpp.

◆ abstract_type

template<typename T , typename Pred = std::less<typename crack_key<T>::key_type>, typename Alloc = std::allocator<T>>
typedef i_set<abstract_t<T> > neolib::set< T, Pred, Alloc >::abstract_type

Definition at line 52 of file set.hpp.

◆ abstract_value_type

template<typename T , typename Pred = std::less<typename crack_key<T>::key_type>, typename Alloc = std::allocator<T>>
typedef abstract_t<T> neolib::set< T, Pred, Alloc >::abstract_value_type

Definition at line 54 of file set.hpp.

◆ allocator_type

template<typename T , typename Pred = std::less<typename crack_key<T>::key_type>, typename Alloc = std::allocator<T>>
typedef Alloc neolib::set< T, Pred, Alloc >::allocator_type

Definition at line 58 of file set.hpp.

◆ compare_type

template<typename T , typename Pred = std::less<typename crack_key<T>::key_type>, typename Alloc = std::allocator<T>>
typedef Pred neolib::set< T, Pred, Alloc >::compare_type

Definition at line 57 of file set.hpp.

◆ const_iterator

template<typename T , typename Pred = std::less<typename crack_key<T>::key_type>, typename Alloc = std::allocator<T>>
typedef abstract_type::const_iterator neolib::set< T, Pred, Alloc >::const_iterator

Definition at line 70 of file set.hpp.

◆ container_const_iterator

template<typename T , typename Pred = std::less<typename crack_key<T>::key_type>, typename Alloc = std::allocator<T>>
typedef container::const_iterator<value_type, typename std_type::const_iterator> neolib::set< T, Pred, Alloc >::container_const_iterator

Definition at line 64 of file set.hpp.

◆ container_iterator

template<typename T , typename Pred = std::less<typename crack_key<T>::key_type>, typename Alloc = std::allocator<T>>
typedef container::iterator<value_type, typename std_type::iterator, typename std_type::const_iterator> neolib::set< T, Pred, Alloc >::container_iterator

Definition at line 65 of file set.hpp.

◆ iterator

template<typename T , typename Pred = std::less<typename crack_key<T>::key_type>, typename Alloc = std::allocator<T>>
typedef abstract_type::iterator neolib::set< T, Pred, Alloc >::iterator

Definition at line 71 of file set.hpp.

◆ key_type

template<typename T , typename Pred = std::less<typename crack_key<T>::key_type>, typename Alloc = std::allocator<T>>
typedef T neolib::set< T, Pred, Alloc >::key_type

Definition at line 55 of file set.hpp.

◆ size_type

template<typename T , typename Pred = std::less<typename crack_key<T>::key_type>, typename Alloc = std::allocator<T>>
typedef abstract_type::size_type neolib::set< T, Pred, Alloc >::size_type

Definition at line 63 of file set.hpp.

◆ std_type

template<typename T , typename Pred = std::less<typename crack_key<T>::key_type>, typename Alloc = std::allocator<T>>
typedef mutable_set<value_type, compare_type, allocator_type> neolib::set< T, Pred, Alloc >::std_type

Definition at line 59 of file set.hpp.

◆ value_type

template<typename T , typename Pred = std::less<typename crack_key<T>::key_type>, typename Alloc = std::allocator<T>>
typedef T neolib::set< T, Pred, Alloc >::value_type

Definition at line 56 of file set.hpp.

Constructor & Destructor Documentation

◆ set() [1/4]

template<typename T , typename Pred = std::less<typename crack_key<T>::key_type>, typename Alloc = std::allocator<T>>
neolib::set< T, Pred, Alloc >::set ( )
inline

Definition at line 74 of file set.hpp.

◆ set() [2/4]

template<typename T , typename Pred = std::less<typename crack_key<T>::key_type>, typename Alloc = std::allocator<T>>
neolib::set< T, Pred, Alloc >::set ( const abstract_container aOther)
inline

Definition at line 77 of file set.hpp.

◆ set() [3/4]

template<typename T , typename Pred = std::less<typename crack_key<T>::key_type>, typename Alloc = std::allocator<T>>
neolib::set< T, Pred, Alloc >::set ( std::initializer_list< value_type aElements)
inline

Definition at line 81 of file set.hpp.

◆ set() [4/4]

template<typename T , typename Pred = std::less<typename crack_key<T>::key_type>, typename Alloc = std::allocator<T>>
template<typename InputIter >
neolib::set< T, Pred, Alloc >::set ( InputIter  aFirst,
InputIter  aLast 
)
inline

Definition at line 85 of file set.hpp.

Member Function Documentation

◆ as_std_set() [1/2]

template<typename T , typename Pred = std::less<typename crack_key<T>::key_type>, typename Alloc = std::allocator<T>>
std_type & neolib::set< T, Pred, Alloc >::as_std_set ( )
inline

Definition at line 91 of file set.hpp.

◆ as_std_set() [2/2]

template<typename T , typename Pred = std::less<typename crack_key<T>::key_type>, typename Alloc = std::allocator<T>>
const std_type & neolib::set< T, Pred, Alloc >::as_std_set ( ) const
inline

Definition at line 90 of file set.hpp.

◆ assign()

template<typename T , typename Pred = std::less<typename crack_key<T>::key_type>, typename Alloc = std::allocator<T>>
void neolib::set< T, Pred, Alloc >::assign ( const abstract_container aOther)
inlinefinal

Definition at line 109 of file set.hpp.

◆ clear()

template<typename T , typename Pred = std::less<typename crack_key<T>::key_type>, typename Alloc = std::allocator<T>>
void neolib::set< T, Pred, Alloc >::clear ( )
inlinefinalvirtual

◆ do_find() [1/2]

template<typename T , typename Pred = std::less<typename crack_key<T>::key_type>, typename Alloc = std::allocator<T>>
abstract_const_iterator * neolib::set< T, Pred, Alloc >::do_find ( void memory,
const abstract_key_type aKey 
) const
inlinefinalvirtual

Implements neolib::i_set< abstract_t< T > >.

Definition at line 128 of file set.hpp.

◆ do_find() [2/2]

template<typename T , typename Pred = std::less<typename crack_key<T>::key_type>, typename Alloc = std::allocator<T>>
abstract_iterator * neolib::set< T, Pred, Alloc >::do_find ( void memory,
const abstract_key_type aKey 
)
inlinefinalvirtual

Implements neolib::i_set< abstract_t< T > >.

Definition at line 129 of file set.hpp.

◆ do_insert()

template<typename T , typename Pred = std::less<typename crack_key<T>::key_type>, typename Alloc = std::allocator<T>>
abstract_iterator * neolib::set< T, Pred, Alloc >::do_insert ( void memory,
const abstract_value_type aValue 
)
inlinefinalvirtual

Implements neolib::i_set< abstract_t< T > >.

Definition at line 127 of file set.hpp.

◆ max_size()

template<typename T , typename Pred = std::less<typename crack_key<T>::key_type>, typename Alloc = std::allocator<T>>
size_type neolib::set< T, Pred, Alloc >::max_size ( ) const
inlinefinalvirtualnoexcept

◆ operator<=>()

template<typename T , typename Pred = std::less<typename crack_key<T>::key_type>, typename Alloc = std::allocator<T>>
constexpr std::partial_ordering neolib::set< T, Pred, Alloc >::operator<=> ( const self_type &  that) const
inlineconstexprnoexcept

Definition at line 99 of file set.hpp.

◆ operator==()

template<typename T , typename Pred = std::less<typename crack_key<T>::key_type>, typename Alloc = std::allocator<T>>
constexpr bool neolib::set< T, Pred, Alloc >::operator== ( const self_type &  that) const
inlineconstexprnoexcept

Definition at line 95 of file set.hpp.

◆ size()

template<typename T , typename Pred = std::less<typename crack_key<T>::key_type>, typename Alloc = std::allocator<T>>
size_type neolib::set< T, Pred, Alloc >::size ( ) const
inlinefinalvirtualnoexcept

◆ to_std_set()

template<typename T , typename Pred = std::less<typename crack_key<T>::key_type>, typename Alloc = std::allocator<T>>
std_type neolib::set< T, Pred, Alloc >::to_std_set ( ) const
inline

Definition at line 92 of file set.hpp.


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