Open 3D Engine AtomCore API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AZStd::vector_set_base< Key, Compare, RandomAccessContainer > Class Template Reference

#include <vector_set_base.h>

Inherited by AZStd::fixed_vector_set< Key, Capacity, Compare >, and AZStd::vector_set< Key, Compare, Allocator >.

Public Types

using pointer = typename RandomAccessContainer::pointer
 
using reference = typename RandomAccessContainer::reference
 
using iterator = typename RandomAccessContainer::iterator
 
using reverse_iterator = typename RandomAccessContainer::reverse_iterator
 
using const_pointer = typename RandomAccessContainer::const_pointer
 
using const_reference = typename RandomAccessContainer::const_reference
 
using const_iterator = typename RandomAccessContainer::const_iterator
 
using const_reverse_iterator = typename RandomAccessContainer::const_reverse_iterator
 
using size_type = typename RandomAccessContainer::size_type
 
using difference_type = typename RandomAccessContainer::difference_type
 
using key_type = Key
 
using pair_iter_bool = AZStd::pair< iterator, bool >
 

Public Member Functions

template<typename ... Args>
AZ_FORCE_INLINE vector_set_base (Args &&... arguments)
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
reverse_iterator rbegin ()
 
const_reverse_iterator rbegin () const
 
reverse_iterator rend ()
 
const_reverse_iterator rend () const
 
reference front ()
 
const_reference front () const
 
reference back ()
 
const_reference back () const
 
size_type size () const
 
size_type capacity () const
 
bool empty () const
 
pointer data ()
 
const_pointer data () const
 
template<typename ... Args>
pair_iter_bool emplace (Args &&... arguments)
 
pair_iter_bool insert (key_type &&key)
 
pair_iter_bool insert (const_reference key)
 
template<typename InputIterator >
void assign (InputIterator first, InputIterator last)
 
template<typename InputIterator >
void insert (InputIterator first, InputIterator last)
 
iterator lower_bound (const key_type &key)
 
const_iterator lower_bound (const key_type &key) const
 
iterator upper_bound (const key_type &key)
 
const_iterator upper_bound (const key_type &key) const
 
iterator find (const key_type &key)
 
const_iterator find (const key_type &key) const
 
size_t erase (const key_type &key)
 
reference at (size_type position)
 
const_reference at (size_type position) const
 
reference operator[] (size_type position)
 
const_reference operator[] (size_type position) const
 
void swap (this_type &rhs)
 
void clear ()
 

Protected Attributes

RandomAccessContainer m_container
 

Friends

bool operator== (const this_type &lhs, const this_type &rhs)
 
bool operator!= (const this_type &lhs, const this_type &rhs)
 

Detailed Description

template<typename Key, typename Compare, typename RandomAccessContainer>
class AZStd::vector_set_base< Key, Compare, RandomAccessContainer >

This class is an ordered set implementation which uses a sorted vector. Insertions / removals are slower, but searches and iteration are very cache friendly. This container wraps an AZStd::vector by default, but can wrap any random access container adhering to the interface. See fixed_vector_set for a version that does not perform any allocations. The iterator invalidation behavior is directly inherited from the underlying container.


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