plugify  1.0.0.0
Public Types | Public Member Functions | Protected Attributes | List of all members
plg::vector< T, Allocator > Class Template Reference

Public Types

using value_type = T
 
using allocator_type = Allocator
 
using size_type = typename allocator_traits::size_type
 
using difference_type = typename allocator_traits::difference_type
 
using reference = value_type &
 
using const_reference = const value_type &
 
using pointer = typename allocator_traits::pointer
 
using const_pointer = typename allocator_traits::const_pointer
 
using iterator = vector_iterator< Allocator >
 
using const_iterator = vector_const_iterator< Allocator >
 
using reverse_iterator = std::reverse_iterator< iterator >
 
using const_reverse_iterator = std::reverse_iterator< const_iterator >
 

Public Member Functions

constexpr vector (const Allocator &allocator) noexcept
 
constexpr vector (size_type count, const T &value, const Allocator &allocator=Allocator())
 
constexpr vector (size_type count, const Allocator &allocator=Allocator())
 
template<std::input_iterator InputIterator>
constexpr vector (InputIterator first, InputIterator last, const Allocator &allocator=Allocator())
 
constexpr vector (const vector &other)
 
constexpr vector (const vector &other, const Allocator &allocator)
 
constexpr vector (vector &&other) noexcept(std::is_nothrow_move_constructible< Allocator >::value)
 
constexpr vector (vector &&other, const Allocator &allocator)
 
constexpr vector (std::initializer_list< T > list, const Allocator &allocator=Allocator())
 
constexpr vectoroperator= (const vector &other)
 
constexpr vectoroperator= (vector &&other) noexcept(std::allocator_traits< Allocator >::propagate_on_container_move_assignment::value||std::allocator_traits< Allocator >::is_always_equal::value)
 
constexpr vectoroperator= (std::initializer_list< T > list)
 
constexpr void assign (size_type count, const T &value)
 
template<std::input_iterator InputIterator>
constexpr void assign (InputIterator first, InputIterator last)
 
constexpr void assign (std::initializer_list< T > list)
 
constexpr allocator_type get_allocator () const
 
constexpr reference at (size_type position)
 
constexpr const_reference at (size_type position) const
 
constexpr reference operator[] (size_type position) noexcept
 
constexpr const_reference operator[] (size_type position) const noexcept
 
constexpr reference front ()
 
constexpr const_reference front () const
 
constexpr reference back ()
 
constexpr const_reference back () const
 
constexpr T * data () noexcept
 
constexpr const T * data () const noexcept
 
constexpr iterator begin () noexcept
 
constexpr const_iterator begin () const noexcept
 
constexpr const_iterator cbegin () const noexcept
 
constexpr iterator end () noexcept
 
constexpr const_iterator end () const noexcept
 
constexpr const_iterator cend () const noexcept
 
constexpr reverse_iterator rbegin () noexcept
 
constexpr const_reverse_iterator rbegin () const noexcept
 
constexpr const_reverse_iterator crbegin () const noexcept
 
constexpr reverse_iterator rend () noexcept
 
constexpr const_reverse_iterator rend () const noexcept
 
constexpr const_reverse_iterator crend () const noexcept
 
constexpr bool empty () const
 
constexpr size_type size () const noexcept
 
constexpr size_type max_size () const noexcept
 
constexpr void reserve (size_type new_capacity)
 
constexpr size_type capacity () const noexcept
 
constexpr void shrink_to_fit ()
 
constexpr void clear () noexcept
 
constexpr iterator insert (const_iterator position, const T &value)
 
constexpr iterator insert (const_iterator position, T &&value)
 
constexpr iterator insert (const_iterator position, size_type count, const T &value)
 
template<std::input_iterator InputIterator>
constexpr iterator insert (const_iterator position, InputIterator first, InputIterator last)
 
constexpr iterator insert (const_iterator position, std::initializer_list< T > list)
 
template<typename... Args>
iterator emplace (const_iterator position, Args &&... args)
 
constexpr iterator erase (const_iterator position)
 
constexpr iterator erase (const_iterator first, const_iterator last)
 
constexpr void push_back (const T &value)
 
constexpr void push_back (T &&value)
 
template<typename... Args>
constexpr reference emplace_back (Args &&... args)
 
constexpr void pop_back ()
 
constexpr void resize (size_type count)
 
constexpr void resize (size_type count, const T &value)
 
constexpr vectoroperator+= (const T &value)
 
constexpr vectoroperator+= (T &&value)
 
constexpr vectoroperator+= (const vector &other)
 
constexpr vectoroperator+= (vector &&other)
 
constexpr void swap (vector &other) noexcept(std::allocator_traits< Allocator >::propagate_on_container_swap::value||std::allocator_traits< Allocator >::is_always_equal::value)
 
constexpr std::span< const T > span () const noexcept
 
constexpr std::span< T > span () noexcept
 
constexpr std::span< const T > const_span () const noexcept
 
template<size_type Size>
constexpr std::span< T, Size > span_size () noexcept
 
template<size_type Size>
constexpr std::span< const T, Size > const_span_size () const noexcept
 
constexpr std::span< const std::byte > byte_span () const noexcept
 
constexpr std::span< std::byte > byte_span () noexcept
 
constexpr std::span< const std::byte > const_byte_span () const noexcept
 
constexpr bool contains (const T &elem) const
 
template<typename F >
constexpr bool contains_if (F predicate)
 
constexpr auto find (const T &value) const
 
constexpr auto find (const T &value)
 
template<typename F >
constexpr auto find_if (F predicate) const
 
template<typename F >
constexpr auto find_if (F predicate)
 
constexpr std::optional< size_type > find_index (const T &value)
 
constexpr std::optional< size_type > find_index (const T &value) const
 
template<typename F >
constexpr std::optional< size_type > find_index_if (F predicate)
 
template<typename F >
constexpr std::optional< size_type > find_index_if (F predicate) const
 

Protected Attributes

PLUGIFY_NO_UNIQUE_ADDRESS allocator_type _allocator
 
pointer _begin
 
pointer _end
 
pointer _capacity
 

Detailed Description

template<typename T, typename Allocator = std::allocator<T>>
class plg::vector< T, Allocator >

Definition at line 240 of file vector.hpp.


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