di 0.1.0
Loading...
Searching...
No Matches
di::vocab::Array< T, 0 > Struct Template Reference

#include <di/vocab/array/array.h>

Public Member Functions

constexpr auto at (types::size_t) -> Optional< T & >
constexpr auto at (types::size_t) const -> Optional< T const & >
constexpr auto data () -> T *
constexpr auto data () const -> T const *
constexpr auto begin () -> T *
constexpr auto begin () const -> T const *
constexpr auto end () -> T *
constexpr auto end () const -> T const *
constexpr auto operator[] (types::size_t) -> T &
constexpr auto operator[] (types::size_t) const -> T const &
constexpr auto empty () const -> bool
constexpr auto size () const
constexpr auto max_size () const
constexpr void fill (T const &)
constexpr auto span ()
constexpr auto span () const
constexpr auto at (types::size_t index) -> Optional< T & >
constexpr auto at (types::size_t index) const -> Optional< T const & >
constexpr auto operator[] (types::size_t index) -> T &
constexpr auto operator[] (types::size_t index) const -> T const &
constexpr auto front () -> T &requires(extent > 0)
constexpr auto front () const -> T const &requires(extent > 0)
constexpr auto back () -> T &requires(extent > 0)
constexpr auto back () const -> T const &requires(extent > 0)
constexpr auto data () -> T *
constexpr auto data () const -> T const *
constexpr auto begin () -> T *
constexpr auto begin () const -> T const *
constexpr auto end () -> T *
constexpr auto end () const -> T const *
constexpr auto empty () const -> bool
constexpr auto size () const
constexpr auto max_size () const
constexpr void fill (T const &value)
constexpr auto span ()
constexpr auto span () const
constexpr auto first (types::size_t count)
constexpr auto first (types::size_t count) const
constexpr auto first ()
constexpr auto first () const
constexpr auto last (types::size_t count)
constexpr auto last (types::size_t count) const
constexpr auto last ()
constexpr auto last () const
constexpr auto subspan (types::size_t offset)
constexpr auto subspan (types::size_t offset) const
constexpr auto subspan (types::size_t offset, types::size_t count)
constexpr auto subspan (types::size_t offset, types::size_t count) const
constexpr auto subspan ()
constexpr auto subspan () const
constexpr auto get () &-> T &
constexpr auto get () const &-> T const &
constexpr auto get () &&-> T &&
constexpr auto get () const &&-> T const &&

Public Attributes

m_public_data [extent]

Friends

constexpr friend auto operator== (Array const &, Array const &) -> bool requires(concepts::EqualityComparable< T >)
constexpr friend auto operator<=> (Array const &, Array const &)
constexpr friend void tag_invoke (types::Tag< util::swap >, Array &, Array &)
constexpr friend auto tag_invoke (types::Tag< vocab::enable_generate_structed_bindings >, types::InPlaceType< Array >) -> bool
constexpr friend auto tag_invoke (types::Tag< vocab::tuple_size >, types::InPlaceType< Array >) -> types::size_t
template<concepts::ContiguousIterator It, concepts::SizedSentinelFor< It > Sent>
requires (concepts::ConvertibleToNonSlicing<It, T*>)
constexpr friend auto tag_invoke (types::Tag< container::reconstruct >, InPlaceType< Array >, It first, Sent last) -> Span< T >
constexpr friend auto operator== (Array const &a, Array const &b) -> bool requires(concepts::EqualityComparable< T >)
constexpr friend auto operator<=> (Array const &a, Array const &b)
constexpr friend void tag_invoke (types::Tag< util::swap >, Array &a, Array &b)
constexpr friend auto tag_invoke (types::Tag< vocab::enable_generate_structed_bindings >, types::InPlaceType< Array >) -> bool
constexpr friend auto tag_invoke (types::Tag< vocab::tuple_size >, types::InPlaceType< Array >) -> types::size_t
constexpr friend auto tag_invoke (types::Tag< container::reconstruct >, InPlaceType< Array >, It first, Sent last) -> Span< T >
constexpr friend auto tag_invoke (types::Tag< vocab::tuple_element >, types::InPlaceType< Array >, Constexpr< index >) -> InPlaceType< T >
constexpr friend auto tag_invoke (types::Tag< vocab::tuple_element >, types::InPlaceType< Array const >, Constexpr< index >) -> InPlaceType< T const >
constexpr friend auto tag_invoke (types::Tag< util::get_in_place >, Constexpr< index >, Self &&self) -> decltype(auto)

Member Function Documentation

◆ at() [1/4]

auto di::vocab::Array< T, extent >::at ( types::size_t index) ->Optional< T & >
inlineconstexpr

◆ at() [2/4]

auto di::vocab::Array< T, extent >::at ( types::size_t index) const->Optional< Tconst & >
inlineconstexpr

◆ at() [3/4]

template<typename T>
auto di::vocab::Array< T, 0 >::at ( types::size_t ) ->Optional< T & >
inlineconstexpr

◆ at() [4/4]

template<typename T>
auto di::vocab::Array< T, 0 >::at ( types::size_t ) const->Optional< Tconst & >
inlineconstexpr

◆ back() [1/2]

auto di::vocab::Array< T, extent >::back ( ) ->T &requires(extent >0)
inlineconstexpr

◆ back() [2/2]

auto di::vocab::Array< T, extent >::back ( ) const->Tconst &requires(extent >0)
inlineconstexpr

◆ begin() [1/4]

template<typename T>
auto di::vocab::Array< T, 0 >::begin ( ) ->T *
inlineconstexpr

◆ begin() [2/4]

auto di::vocab::Array< T, extent >::begin ( ) ->T *
inlineconstexpr

◆ begin() [3/4]

template<typename T>
auto di::vocab::Array< T, 0 >::begin ( ) const->Tconst *
inlineconstexpr

◆ begin() [4/4]

auto di::vocab::Array< T, extent >::begin ( ) const->Tconst *
inlineconstexpr

◆ data() [1/4]

template<typename T>
auto di::vocab::Array< T, 0 >::data ( ) ->T *
inlineconstexpr

◆ data() [2/4]

auto di::vocab::Array< T, extent >::data ( ) ->T *
inlineconstexpr

◆ data() [3/4]

template<typename T>
auto di::vocab::Array< T, 0 >::data ( ) const->Tconst *
inlineconstexpr

◆ data() [4/4]

auto di::vocab::Array< T, extent >::data ( ) const->Tconst *
inlineconstexpr

◆ empty() [1/2]

template<typename T>
auto di::vocab::Array< T, 0 >::empty ( ) const->bool
inlineconstexpr

◆ empty() [2/2]

auto di::vocab::Array< T, extent >::empty ( ) const->bool
inlineconstexpr

◆ end() [1/4]

template<typename T>
auto di::vocab::Array< T, 0 >::end ( ) ->T *
inlineconstexpr

◆ end() [2/4]

auto di::vocab::Array< T, extent >::end ( ) ->T *
inlineconstexpr

◆ end() [3/4]

template<typename T>
auto di::vocab::Array< T, 0 >::end ( ) const->Tconst *
inlineconstexpr

◆ end() [4/4]

auto di::vocab::Array< T, extent >::end ( ) const->Tconst *
inlineconstexpr

◆ fill() [1/2]

template<typename T>
void di::vocab::Array< T, 0 >::fill ( T const & )
inlineconstexpr

◆ fill() [2/2]

void di::vocab::Array< T, extent >::fill ( T const & value)
inlineconstexpr

◆ first() [1/4]

auto di::vocab::Array< T, extent >::first ( )
inlineconstexpr

◆ first() [2/4]

auto di::vocab::Array< T, extent >::first ( ) const
inlineconstexpr

◆ first() [3/4]

auto di::vocab::Array< T, extent >::first ( types::size_t count)
inlineconstexpr

◆ first() [4/4]

auto di::vocab::Array< T, extent >::first ( types::size_t count) const
inlineconstexpr

◆ front() [1/2]

auto di::vocab::Array< T, extent >::front ( ) ->T &requires(extent >0)
inlineconstexpr

◆ front() [2/2]

auto di::vocab::Array< T, extent >::front ( ) const->Tconst &requires(extent >0)
inlineconstexpr

◆ get() [1/4]

auto di::vocab::Array< T, extent >::get ( ) &&->T &&
inlineconstexpr

◆ get() [2/4]

auto di::vocab::Array< T, extent >::get ( ) &->T &
inlineconstexpr

◆ get() [3/4]

auto di::vocab::Array< T, extent >::get ( ) const &&->Tconst &&
inlineconstexpr

◆ get() [4/4]

auto di::vocab::Array< T, extent >::get ( ) const &->Tconst &
inlineconstexpr

◆ last() [1/4]

auto di::vocab::Array< T, extent >::last ( )
inlineconstexpr

◆ last() [2/4]

auto di::vocab::Array< T, extent >::last ( ) const
inlineconstexpr

◆ last() [3/4]

auto di::vocab::Array< T, extent >::last ( types::size_t count)
inlineconstexpr

◆ last() [4/4]

auto di::vocab::Array< T, extent >::last ( types::size_t count) const
inlineconstexpr

◆ max_size() [1/2]

template<typename T>
auto di::vocab::Array< T, 0 >::max_size ( ) const
inlineconstexpr

◆ max_size() [2/2]

auto di::vocab::Array< T, extent >::max_size ( ) const
inlineconstexpr

◆ operator[]() [1/4]

auto di::vocab::Array< T, extent >::operator[] ( types::size_t index) ->T &
inlineconstexpr

◆ operator[]() [2/4]

auto di::vocab::Array< T, extent >::operator[] ( types::size_t index) const->Tconst &
inlineconstexpr

◆ operator[]() [3/4]

template<typename T>
auto di::vocab::Array< T, 0 >::operator[] ( types::size_t ) ->T &
inlineconstexpr

◆ operator[]() [4/4]

template<typename T>
auto di::vocab::Array< T, 0 >::operator[] ( types::size_t ) const->Tconst &
inlineconstexpr

◆ size() [1/2]

template<typename T>
auto di::vocab::Array< T, 0 >::size ( ) const
inlineconstexpr

◆ size() [2/2]

auto di::vocab::Array< T, extent >::size ( ) const
inlineconstexpr

◆ span() [1/4]

template<typename T>
auto di::vocab::Array< T, 0 >::span ( )
inlineconstexpr

◆ span() [2/4]

auto di::vocab::Array< T, extent >::span ( )
inlineconstexpr

◆ span() [3/4]

template<typename T>
auto di::vocab::Array< T, 0 >::span ( ) const
inlineconstexpr

◆ span() [4/4]

auto di::vocab::Array< T, extent >::span ( ) const
inlineconstexpr

◆ subspan() [1/6]

auto di::vocab::Array< T, extent >::subspan ( )
inlineconstexpr

◆ subspan() [2/6]

auto di::vocab::Array< T, extent >::subspan ( ) const
inlineconstexpr

◆ subspan() [3/6]

auto di::vocab::Array< T, extent >::subspan ( types::size_t offset)
inlineconstexpr

◆ subspan() [4/6]

auto di::vocab::Array< T, extent >::subspan ( types::size_t offset) const
inlineconstexpr

◆ subspan() [5/6]

auto di::vocab::Array< T, extent >::subspan ( types::size_t offset,
types::size_t count )
inlineconstexpr

◆ subspan() [6/6]

auto di::vocab::Array< T, extent >::subspan ( types::size_t offset,
types::size_t count ) const
inlineconstexpr

◆ operator<=> [1/2]

template<typename T>
friend auto operator<=> ( Array< T, 0 > const & ,
Array< T, 0 > const &  )
friend

◆ operator<=> [2/2]

friend auto operator<=> ( Array< T, 0 > const & a,
Array< T, 0 > const & b )
friend

◆ operator== [1/2]

template<typename T>
friend auto operator== ( Array< T, 0 > const & ,
Array< T, 0 > const &  )->boolrequires(concepts::EqualityComparable< T >)
friend

◆ operator== [2/2]

friend auto operator== ( Array< T, 0 > const & a,
Array< T, 0 > const & b )->boolrequires(concepts::EqualityComparable< T >)
friend

◆ tag_invoke [1/11]

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

◆ tag_invoke [2/11]

friend auto tag_invoke ( types::Tag< container::reconstruct > ,
InPlaceType< Array< T, 0 > > ,
It first,
Sent last )->Span< T >
friend

◆ tag_invoke [3/11]

friend auto tag_invoke ( types::Tag< util::get_in_place > ,
Constexpr< index > ,
Self && self )->decltype(auto)
friend

◆ tag_invoke [4/11]

template<typename T>
friend void tag_invoke ( types::Tag< util::swap > ,
Array< T, 0 > & ,
Array< T, 0 > &  )
friend

◆ tag_invoke [5/11]

friend void tag_invoke ( types::Tag< util::swap > ,
Array< T, 0 > & a,
Array< T, 0 > & b )
friend

◆ tag_invoke [6/11]

template<typename T>
friend auto tag_invoke ( types::Tag< vocab::enable_generate_structed_bindings > ,
types::InPlaceType< Array< T, 0 > >  )->bool
friend

◆ tag_invoke [7/11]

friend auto tag_invoke ( types::Tag< vocab::enable_generate_structed_bindings > ,
types::InPlaceType< Array< T, 0 > >  )->bool
friend

◆ tag_invoke [8/11]

friend auto tag_invoke ( types::Tag< vocab::tuple_element > ,
types::InPlaceType< Array< T, 0 > > ,
Constexpr< index >  )->InPlaceType< T >
friend

◆ tag_invoke [9/11]

friend auto tag_invoke ( types::Tag< vocab::tuple_element > ,
types::InPlaceType< Array< T, 0 > const > ,
Constexpr< index >  )->InPlaceType< Tconst >
friend

◆ tag_invoke [10/11]

template<typename T>
friend auto tag_invoke ( types::Tag< vocab::tuple_size > ,
types::InPlaceType< Array< T, 0 > >  )->types::size_t
friend

◆ tag_invoke [11/11]

friend auto tag_invoke ( types::Tag< vocab::tuple_size > ,
types::InPlaceType< Array< T, 0 > >  )->types::size_t
friend

Member Data Documentation

◆ m_public_data

T di::vocab::Array< T, extent >::m_public_data[extent]

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