Iros
 
Loading...
Searching...
No Matches
di::container::MutableVectorInterface< Self, Value > Class Template Reference

#include <di/container/vector/mutable_vector_interface.h>

Inheritance diagram for di::container::MutableVectorInterface< Self, Value >:
[legend]

Public Member Functions

constexpr auto clone () const
 
constexpr void clear ()
 
constexpr auto push_back (Value const &value) -> decltype(auto) requires(concepts::CopyConstructible< Value >)
 
constexpr auto push_back (Value &&value) -> decltype(auto) requires(concepts::MoveConstructible< Value >)
 
template<typename... Args>
requires (concepts::ConstructibleFrom<Value, Args...>)
constexpr auto emplace_back (Args &&... args) -> decltype(auto)
 
template<concepts::InputContainer Con>
requires (concepts::ContainerCompatible<Con, Value>)
constexpr auto append_container (Con &&container)
 
constexpr auto insert (ConstIterator position, Value const &value)
 
constexpr auto insert (ConstIterator position, Value &&value)
 
template<concepts::InputContainer Con>
requires (concepts::ContainerCompatible<Con, Value>)
constexpr auto insert_container (ConstIterator position, Con &&container)
 
template<typename... Args>
requires (concepts::ConstructibleFrom<Value, Args...>)
constexpr auto emplace (ConstIterator position, Args &&... args)
 
constexpr auto pop_back ()
 
constexpr auto erase (ConstIterator position)
 
constexpr auto erase (ConstIterator start, ConstIterator end)
 
constexpr auto erase_unstable (ConstIterator iter)
 
constexpr auto resize (size_t count)
 
constexpr auto resize (size_t count, Value const &value)
 
constexpr auto iterator (ConstIterator iter)
 
constexpr auto reserve (size_t n)
 
- Public Member Functions inherited from di::container::ConstantVectorInterface< Self, Value >
constexpr auto size () const -> size_t
 
constexpr auto size_bytes () const -> size_t
 
constexpr auto empty () const -> bool
 
constexpr auto begin ()
 
constexpr auto begin () const
 
constexpr auto end ()
 
constexpr auto end () const
 
constexpr auto front ()
 
constexpr auto front () const
 
constexpr auto back ()
 
constexpr auto back () const
 
constexpr auto at (size_t index)
 
constexpr auto at (size_t index) const
 
constexpr auto operator[] (size_t index) -> decltype(auto)
 
constexpr auto operator[] (size_t index) const -> decltype(auto)
 
constexpr auto iterator (size_t index)
 
constexpr auto iterator (size_t index) const
 
constexpr auto citerator (size_t index) const
 
constexpr auto data ()
 
constexpr auto data () const
 
constexpr auto first (size_t count)
 
constexpr auto first (size_t count) const
 
constexpr auto last (size_t count)
 
constexpr auto last (size_t count) const
 
constexpr auto subspan (size_t offset)
 
constexpr auto subspan (size_t offset) const
 
constexpr auto subspan (size_t offset, size_t count)
 
constexpr auto subspan (size_t offset, size_t count) const
 
template<size_t count>
constexpr auto first ()
 
template<size_t count>
constexpr auto first () const
 
template<size_t count>
constexpr auto last ()
 
template<size_t count>
constexpr auto last () const
 
template<size_t offset, size_t count = vocab::dynamic_extent>
constexpr auto subspan ()
 
template<size_t offset, size_t count = vocab::dynamic_extent>
constexpr auto subspan () const
 

Friends

template<concepts::InputContainer Con, typename... Args>
requires (concepts::ContainerCompatible<Con, Value> && concepts::ConstructibleFrom<Self, Args...>)
constexpr friend auto tag_invoke (types::Tag< util::create_in_place >, InPlaceType< Self >, Con &&container, Args &&... args)
 
template<typename F, SameAs< Tag< erase_if > > T = Tag<erase_if>>
requires (concepts::Predicate<F, Value const&>)
constexpr friend auto tag_invoke (T, Self &self, F &&function)
 

Member Function Documentation

◆ append_container()

template<typename Self, typename Value>
template<concepts::InputContainer Con>
requires (concepts::ContainerCompatible<Con, Value>)
auto di::container::MutableVectorInterface< Self, Value >::append_container ( Con && container)
inlineconstexpr

◆ clear()

template<typename Self, typename Value>
void di::container::MutableVectorInterface< Self, Value >::clear ( )
inlineconstexpr

◆ clone()

template<typename Self, typename Value>
auto di::container::MutableVectorInterface< Self, Value >::clone ( ) const
inlineconstexpr

◆ emplace()

template<typename Self, typename Value>
template<typename... Args>
requires (concepts::ConstructibleFrom<Value, Args...>)
auto di::container::MutableVectorInterface< Self, Value >::emplace ( ConstIterator position,
Args &&... args )
inlineconstexpr

◆ emplace_back()

template<typename Self, typename Value>
template<typename... Args>
requires (concepts::ConstructibleFrom<Value, Args...>)
auto di::container::MutableVectorInterface< Self, Value >::emplace_back ( Args &&... args) -> decltype(auto)
inlineconstexpr

◆ erase() [1/2]

template<typename Self, typename Value>
auto di::container::MutableVectorInterface< Self, Value >::erase ( ConstIterator position)
inlineconstexpr

◆ erase() [2/2]

template<typename Self, typename Value>
auto di::container::MutableVectorInterface< Self, Value >::erase ( ConstIterator start,
ConstIterator end )
inlineconstexpr

◆ erase_unstable()

template<typename Self, typename Value>
auto di::container::MutableVectorInterface< Self, Value >::erase_unstable ( ConstIterator iter)
inlineconstexpr

◆ insert() [1/2]

template<typename Self, typename Value>
auto di::container::MutableVectorInterface< Self, Value >::insert ( ConstIterator position,
Value && value )
inlineconstexpr

◆ insert() [2/2]

template<typename Self, typename Value>
auto di::container::MutableVectorInterface< Self, Value >::insert ( ConstIterator position,
Value const & value )
inlineconstexpr

◆ insert_container()

template<typename Self, typename Value>
template<concepts::InputContainer Con>
requires (concepts::ContainerCompatible<Con, Value>)
auto di::container::MutableVectorInterface< Self, Value >::insert_container ( ConstIterator position,
Con && container )
inlineconstexpr

◆ iterator()

template<typename Self, typename Value>
auto di::container::MutableVectorInterface< Self, Value >::iterator ( ConstIterator iter)
inlineconstexpr

◆ pop_back()

template<typename Self, typename Value>
auto di::container::MutableVectorInterface< Self, Value >::pop_back ( )
inlineconstexpr

◆ push_back() [1/2]

template<typename Self, typename Value>
auto di::container::MutableVectorInterface< Self, Value >::push_back ( Value && value) -> decltype(auto) requires(concepts::MoveConstructible<Value>)
inlineconstexpr

◆ push_back() [2/2]

template<typename Self, typename Value>
auto di::container::MutableVectorInterface< Self, Value >::push_back ( Value const & value) -> decltype(auto) requires(concepts::CopyConstructible<Value>)
inlineconstexpr

◆ reserve()

template<typename Self, typename Value>
auto di::container::MutableVectorInterface< Self, Value >::reserve ( size_t n)
inlineconstexpr

◆ resize() [1/2]

template<typename Self, typename Value>
auto di::container::MutableVectorInterface< Self, Value >::resize ( size_t count)
inlineconstexpr

◆ resize() [2/2]

template<typename Self, typename Value>
auto di::container::MutableVectorInterface< Self, Value >::resize ( size_t count,
Value const & value )
inlineconstexpr

Friends And Related Symbol Documentation

◆ tag_invoke [1/2]

template<typename Self, typename Value>
template<typename F, SameAs< Tag< erase_if > > T = Tag<erase_if>>
requires (concepts::Predicate<F, Value const&>)
friend auto tag_invoke ( T ,
Self & self,
F && function )
friend

◆ tag_invoke [2/2]

template<typename Self, typename Value>
template<concepts::InputContainer Con, typename... Args>
requires (concepts::ContainerCompatible<Con, Value> && concepts::ConstructibleFrom<Self, Args...>)
friend auto tag_invoke ( types::Tag< util::create_in_place > ,
InPlaceType< Self > ,
Con && container,
Args &&... args )
friend

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