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

#include <di/container/ring/mutable_ring_interface.h>

Inheritance diagram for di::container::MutableRingInterface< 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 pop_back () -> decltype(auto)
 
constexpr auto push_front (Value const &value) -> decltype(auto) requires(concepts::CopyConstructible< Value >)
 
constexpr auto push_front (Value &&value) -> decltype(auto) requires(concepts::MoveConstructible< Value >)
 
template<typename... Args>
requires (concepts::ConstructibleFrom<Value, Args...>)
constexpr auto emplace_front (Args &&... args) -> decltype(auto)
 
template<concepts::InputContainer Con>
requires (concepts::ContainerCompatible<Con, Value>)
constexpr auto prepend_container (Con &&container)
 
constexpr auto pop_front () -> decltype(auto)
 
constexpr auto insert (ConstIterator position, Value const &value)
 
constexpr auto insert (ConstIterator position, Value &&value)
 
template<typename... Args>
requires (concepts::ConstructibleFrom<Value, Args...>)
constexpr auto emplace (ConstIterator position, Args &&... args)
 
constexpr auto erase (ConstIterator position)
 
constexpr auto erase (ConstIterator start, ConstIterator end)
 
constexpr auto iterator (ConstIterator iter)
 
constexpr auto reserve (usize n)
 
constexpr auto make_contigous ()
 
constexpr auto resize (size_t count)
 
constexpr auto resize (size_t count, Value const &value)
 
- Public Member Functions inherited from di::container::ConstantRingInterface< Self, Value >
constexpr auto size () const -> usize
 
constexpr auto size_bytes () const -> usize
 
constexpr auto empty () const -> bool
 
constexpr auto begin ()
 
constexpr auto end ()
 
constexpr auto begin () const
 
constexpr auto end () const
 
constexpr auto front ()
 
constexpr auto front () const
 
constexpr auto back ()
 
constexpr auto back () const
 
constexpr auto at (usize index)
 
constexpr auto at (usize index) const
 
constexpr auto operator[] (usize index) -> decltype(auto)
 
constexpr auto operator[] (usize index) const -> decltype(auto)
 
constexpr auto iterator (usize index)
 
constexpr auto iterator (usize index) const
 
constexpr auto citerator (usize index) 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::MutableRingInterface< Self, Value >::append_container ( Con && container)
inlineconstexpr

◆ clear()

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

◆ clone()

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

◆ emplace()

template<typename Self, typename Value>
template<typename... Args>
requires (concepts::ConstructibleFrom<Value, Args...>)
auto di::container::MutableRingInterface< 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::MutableRingInterface< Self, Value >::emplace_back ( Args &&... args) -> decltype(auto)
inlineconstexpr

◆ emplace_front()

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

◆ erase() [1/2]

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

◆ erase() [2/2]

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

◆ insert() [1/2]

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

◆ insert() [2/2]

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

◆ iterator()

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

◆ make_contigous()

template<typename Self, typename Value>
auto di::container::MutableRingInterface< Self, Value >::make_contigous ( )
inlineconstexpr

◆ pop_back()

template<typename Self, typename Value>
auto di::container::MutableRingInterface< Self, Value >::pop_back ( ) -> decltype(auto)
inlineconstexpr

◆ pop_front()

template<typename Self, typename Value>
auto di::container::MutableRingInterface< Self, Value >::pop_front ( ) -> decltype(auto)
inlineconstexpr

◆ prepend_container()

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

◆ push_back() [1/2]

template<typename Self, typename Value>
auto di::container::MutableRingInterface< 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::MutableRingInterface< Self, Value >::push_back ( Value const & value) -> decltype(auto) requires(concepts::CopyConstructible<Value>)
inlineconstexpr

◆ push_front() [1/2]

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

◆ push_front() [2/2]

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

◆ reserve()

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

◆ resize() [1/2]

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

◆ resize() [2/2]

template<typename Self, typename Value>
auto di::container::MutableRingInterface< 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: