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

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

Inheritance diagram for di::container::ConstantVectorInterface< Self, Value >:
di::container::MutableVectorInterface< Self, Value > di::container::Vector< Value >

Public Member Functions

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

constexpr friend auto operator== (Self const &a, Self const &b) -> bool requires(concepts::EqualityComparable< Value >)
constexpr friend auto operator<=> (Self const &a, Self const &b)
template<concepts::ContiguousIterator It, concepts::SizedSentinelFor< It > Sent>
requires (concepts::ConvertibleToNonSlicing<It, Value*>)
constexpr friend auto tag_invoke (types::Tag< container::reconstruct >, InPlaceType< Self >, It first, Sent last) -> vocab::Span< Value >

Member Function Documentation

◆ at() [1/2]

template<typename Self, typename Value>
auto di::container::ConstantVectorInterface< Self, Value >::at ( size_t index)
inlineconstexpr

◆ at() [2/2]

template<typename Self, typename Value>
auto di::container::ConstantVectorInterface< Self, Value >::at ( size_t index) const
inlineconstexpr

◆ back() [1/2]

template<typename Self, typename Value>
auto di::container::ConstantVectorInterface< Self, Value >::back ( )
inlineconstexpr

◆ back() [2/2]

template<typename Self, typename Value>
auto di::container::ConstantVectorInterface< Self, Value >::back ( ) const
inlineconstexpr

◆ begin() [1/2]

template<typename Self, typename Value>
auto di::container::ConstantVectorInterface< Self, Value >::begin ( )
inlineconstexpr

◆ begin() [2/2]

template<typename Self, typename Value>
auto di::container::ConstantVectorInterface< Self, Value >::begin ( ) const
inlineconstexpr

◆ citerator()

template<typename Self, typename Value>
auto di::container::ConstantVectorInterface< Self, Value >::citerator ( size_t index) const
inlineconstexpr

◆ data() [1/2]

template<typename Self, typename Value>
auto di::container::ConstantVectorInterface< Self, Value >::data ( )
inlineconstexpr

◆ data() [2/2]

template<typename Self, typename Value>
auto di::container::ConstantVectorInterface< Self, Value >::data ( ) const
inlineconstexpr

◆ empty()

template<typename Self, typename Value>
auto di::container::ConstantVectorInterface< Self, Value >::empty ( ) const->bool
inlinenodiscardconstexpr

◆ end() [1/2]

template<typename Self, typename Value>
auto di::container::ConstantVectorInterface< Self, Value >::end ( )
inlineconstexpr

◆ end() [2/2]

template<typename Self, typename Value>
auto di::container::ConstantVectorInterface< Self, Value >::end ( ) const
inlineconstexpr

◆ first() [1/4]

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

◆ first() [2/4]

template<typename Self, typename Value>
template<size_t count>
auto di::container::ConstantVectorInterface< Self, Value >::first ( ) const
inlineconstexpr

◆ first() [3/4]

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

◆ first() [4/4]

template<typename Self, typename Value>
auto di::container::ConstantVectorInterface< Self, Value >::first ( size_t count) const
inlineconstexpr

◆ front() [1/2]

template<typename Self, typename Value>
auto di::container::ConstantVectorInterface< Self, Value >::front ( )
inlineconstexpr

◆ front() [2/2]

template<typename Self, typename Value>
auto di::container::ConstantVectorInterface< Self, Value >::front ( ) const
inlineconstexpr

◆ iterator() [1/2]

template<typename Self, typename Value>
auto di::container::ConstantVectorInterface< Self, Value >::iterator ( size_t index)
inlineconstexpr

◆ iterator() [2/2]

template<typename Self, typename Value>
auto di::container::ConstantVectorInterface< Self, Value >::iterator ( size_t index) const
inlineconstexpr

◆ last() [1/4]

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

◆ last() [2/4]

template<typename Self, typename Value>
template<size_t count>
auto di::container::ConstantVectorInterface< Self, Value >::last ( ) const
inlineconstexpr

◆ last() [3/4]

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

◆ last() [4/4]

template<typename Self, typename Value>
auto di::container::ConstantVectorInterface< Self, Value >::last ( size_t count) const
inlineconstexpr

◆ operator[]() [1/2]

template<typename Self, typename Value>
auto di::container::ConstantVectorInterface< Self, Value >::operator[] ( size_t index) ->decltype(auto)
inlineconstexpr

◆ operator[]() [2/2]

template<typename Self, typename Value>
auto di::container::ConstantVectorInterface< Self, Value >::operator[] ( size_t index) const->decltype(auto)
inlineconstexpr

◆ size()

template<typename Self, typename Value>
auto di::container::ConstantVectorInterface< Self, Value >::size ( ) const->size_t
inlineconstexpr

◆ size_bytes()

template<typename Self, typename Value>
auto di::container::ConstantVectorInterface< Self, Value >::size_bytes ( ) const->size_t
inlineconstexpr

◆ subspan() [1/6]

template<typename Self, typename Value>
template<size_t offset, size_t count = vocab::dynamic_extent>
auto di::container::ConstantVectorInterface< Self, Value >::subspan ( )
inlineconstexpr

◆ subspan() [2/6]

template<typename Self, typename Value>
template<size_t offset, size_t count = vocab::dynamic_extent>
auto di::container::ConstantVectorInterface< Self, Value >::subspan ( ) const
inlineconstexpr

◆ subspan() [3/6]

template<typename Self, typename Value>
auto di::container::ConstantVectorInterface< Self, Value >::subspan ( size_t offset)
inlineconstexpr

◆ subspan() [4/6]

template<typename Self, typename Value>
auto di::container::ConstantVectorInterface< Self, Value >::subspan ( size_t offset) const
inlineconstexpr

◆ subspan() [5/6]

template<typename Self, typename Value>
auto di::container::ConstantVectorInterface< Self, Value >::subspan ( size_t offset,
size_t count )
inlineconstexpr

◆ subspan() [6/6]

template<typename Self, typename Value>
auto di::container::ConstantVectorInterface< Self, Value >::subspan ( size_t offset,
size_t count ) const
inlineconstexpr

◆ operator<=>

template<typename Self, typename Value>
friend auto operator<=> ( Self const & a,
Self const & b )
friend

◆ operator==

template<typename Self, typename Value>
friend auto operator== ( Self const & a,
Self const & b )->boolrequires(concepts::EqualityComparable< Value >)
friend

◆ tag_invoke

template<typename Self, typename Value>
template<concepts::ContiguousIterator It, concepts::SizedSentinelFor< It > Sent>
requires (concepts::ConvertibleToNonSlicing<It, Value*>)
friend auto tag_invoke ( types::Tag< container::reconstruct > ,
InPlaceType< Self > ,
It first,
Sent last )->vocab::Span< Value >
friend

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