di 0.1.0
Loading...
Searching...
No Matches
di::container::Ring< T, Alloc > Class Template Reference

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

Inheritance diagram for di::container::Ring< T, Alloc >:
di::container::MutableRingInterface< Ring< T, platform::DefaultAllocator >, T > di::container::ConstantRingInterface< Ring< T, platform::DefaultAllocator >, T >

Public Types

using Value = T
using ConstValue = T const

Public Member Functions

constexpr Ring ()=default
constexpr Ring (Ring const &)=delete
constexpr Ring (Ring &&other)
constexpr ~Ring ()
constexpr auto operator= (Ring const &) -> Ring &=delete
constexpr auto operator= (Ring &&other) -> Ring &
constexpr auto span () -> Span< Value >
constexpr auto span () const -> Span< ConstValue >
constexpr auto capacity () const -> usize
constexpr auto max_size () const -> usize
constexpr auto reserve_from_nothing (usize n)
constexpr void assume_size (usize size)
constexpr auto grow_capacity (usize min_capacity) const -> usize
constexpr auto head () const -> usize
constexpr auto tail () const -> usize
constexpr void assume_head (usize head)
constexpr void assume_tail (usize tail)
Public Member Functions inherited from di::container::MutableRingInterface< Ring< T, platform::DefaultAllocator >, T >
constexpr auto clone () const
constexpr void clear ()
constexpr auto push_back (T const &value) -> decltype(auto) requires(concepts::CopyConstructible< T >)
constexpr auto emplace_back (Args &&... args) -> decltype(auto)
constexpr auto append_container (Con &&container)
constexpr auto pop_back () -> decltype(auto)
constexpr auto push_front (T const &value) -> decltype(auto) requires(concepts::CopyConstructible< T >)
constexpr auto emplace_front (Args &&... args) -> decltype(auto)
constexpr auto prepend_container (Con &&container)
constexpr auto pop_front () -> decltype(auto)
constexpr auto insert (ConstIterator position, T const &value)
constexpr auto emplace (ConstIterator position, Args &&... args)
constexpr auto insert_container (ConstIterator it, Con &&container)
constexpr auto erase (ConstIterator position)
constexpr auto iterator (ConstIterator iter)
constexpr auto reserve (usize n)
constexpr auto make_contigous ()
constexpr auto resize (size_t count)
Public Member Functions inherited from di::container::ConstantRingInterface< Ring< T, platform::DefaultAllocator >, T >
constexpr auto size () const -> usize
constexpr auto size_bytes () const -> usize
constexpr auto empty () const -> bool
constexpr auto begin ()
constexpr auto end ()
constexpr auto front ()
constexpr auto back ()
constexpr auto at (usize index)
constexpr auto operator[] (usize index) -> decltype(auto)
constexpr auto iterator (usize index)
constexpr auto citerator (usize index) const

Member Typedef Documentation

◆ ConstValue

template<typename T, concepts::Allocator Alloc = platform::DefaultAllocator>
using di::container::Ring< T, Alloc >::ConstValue = T const

◆ Value

template<typename T, concepts::Allocator Alloc = platform::DefaultAllocator>
using di::container::Ring< T, Alloc >::Value = T

Constructor & Destructor Documentation

◆ Ring() [1/3]

template<typename T, concepts::Allocator Alloc = platform::DefaultAllocator>
di::container::Ring< T, Alloc >::Ring ( )
constexprdefault

◆ Ring() [2/3]

template<typename T, concepts::Allocator Alloc = platform::DefaultAllocator>
di::container::Ring< T, Alloc >::Ring ( Ring< T, Alloc > const & )
constexprdelete

◆ Ring() [3/3]

template<typename T, concepts::Allocator Alloc = platform::DefaultAllocator>
di::container::Ring< T, Alloc >::Ring ( Ring< T, Alloc > && other)
inlineconstexpr

◆ ~Ring()

template<typename T, concepts::Allocator Alloc = platform::DefaultAllocator>
di::container::Ring< T, Alloc >::~Ring ( )
inlineconstexpr

Member Function Documentation

◆ assume_head()

template<typename T, concepts::Allocator Alloc = platform::DefaultAllocator>
void di::container::Ring< T, Alloc >::assume_head ( usize head)
inlineconstexpr

◆ assume_size()

template<typename T, concepts::Allocator Alloc = platform::DefaultAllocator>
void di::container::Ring< T, Alloc >::assume_size ( usize size)
inlineconstexpr

◆ assume_tail()

template<typename T, concepts::Allocator Alloc = platform::DefaultAllocator>
void di::container::Ring< T, Alloc >::assume_tail ( usize tail)
inlineconstexpr

◆ capacity()

template<typename T, concepts::Allocator Alloc = platform::DefaultAllocator>
auto di::container::Ring< T, Alloc >::capacity ( ) const->usize
inlineconstexpr

◆ grow_capacity()

template<typename T, concepts::Allocator Alloc = platform::DefaultAllocator>
auto di::container::Ring< T, Alloc >::grow_capacity ( usize min_capacity) const->usize
inlineconstexpr

◆ head()

template<typename T, concepts::Allocator Alloc = platform::DefaultAllocator>
auto di::container::Ring< T, Alloc >::head ( ) const->usize
inlineconstexpr

◆ max_size()

template<typename T, concepts::Allocator Alloc = platform::DefaultAllocator>
auto di::container::Ring< T, Alloc >::max_size ( ) const->usize
inlineconstexpr

◆ operator=() [1/2]

template<typename T, concepts::Allocator Alloc = platform::DefaultAllocator>
auto di::container::Ring< T, Alloc >::operator= ( Ring< T, Alloc > && other) ->Ring &
inlineconstexpr

◆ operator=() [2/2]

template<typename T, concepts::Allocator Alloc = platform::DefaultAllocator>
auto di::container::Ring< T, Alloc >::operator= ( Ring< T, Alloc > const & ) ->Ring &=delete
constexprdelete

◆ reserve_from_nothing()

template<typename T, concepts::Allocator Alloc = platform::DefaultAllocator>
auto di::container::Ring< T, Alloc >::reserve_from_nothing ( usize n)
inlineconstexpr

◆ span() [1/2]

template<typename T, concepts::Allocator Alloc = platform::DefaultAllocator>
auto di::container::Ring< T, Alloc >::span ( ) ->Span< Value >
inlineconstexpr

◆ span() [2/2]

template<typename T, concepts::Allocator Alloc = platform::DefaultAllocator>
auto di::container::Ring< T, Alloc >::span ( ) const->Span< ConstValue >
inlineconstexpr

◆ tail()

template<typename T, concepts::Allocator Alloc = platform::DefaultAllocator>
auto di::container::Ring< T, Alloc >::tail ( ) const->usize
inlineconstexpr

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