Iros
 
Loading...
Searching...
No Matches
di::container::ring Namespace Reference

Functions

constexpr auto size (concepts::detail::ConstantRing auto &ring)
 
constexpr auto size_bytes (concepts::detail::ConstantRing auto &ring)
 
constexpr auto empty (concepts::detail::ConstantRing auto &ring) -> bool
 
constexpr auto begin_pointer (concepts::detail::ConstantRing auto &ring) -> auto *
 
constexpr auto end_pointer (concepts::detail::ConstantRing auto &ring) -> auto *
 
constexpr auto head_pointer (concepts::detail::ConstantRing auto &ring) -> auto *
 
constexpr auto tail_pointer (concepts::detail::ConstantRing auto &ring) -> auto *
 
template<concepts::detail::ConstantRing Ring, typename Value = meta::detail::RingValue<Ring>>
constexpr auto begin (Ring &ring)
 
template<concepts::detail::ConstantRing Ring, typename Value = meta::detail::RingValue<Ring>>
constexpr auto end (Ring &ring)
 
constexpr auto lookup (concepts::detail::ConstantRing auto &ring, usize index) -> decltype(auto)
 
constexpr auto at (concepts::detail::ConstantRing auto &ring, usize index)
 
constexpr auto front (concepts::detail::ConstantRing auto &ring)
 
constexpr auto back (concepts::detail::ConstantRing auto &ring)
 
template<concepts::detail::MutableRing Ring, typename Value = meta::detail::RingValue<Ring>>
requires (!concepts::Const<Ring>)
constexpr auto iterator (Ring &, RingIterator< Value const > iterator)
 
template<concepts::detail::ConstantRing Ring>
requires (!concepts::Const<Ring>)
constexpr auto iterator (Ring &ring, usize index)
 
template<concepts::detail::ConstantRing Ring>
constexpr auto iterator (Ring const &ring, usize index)
 
constexpr void clear (concepts::detail::MutableRing auto &ring)
 
template<concepts::detail::MutableRing Ring, typename R = meta::detail::RingAllocResult<Ring>>
constexpr auto reserve (Ring &ring, usize capacity) -> R
 
template<concepts::detail::MutableRing Ring, typename... Args>
requires (concepts::ConstructibleFrom<meta::detail::RingValue<Ring>, Args...>)
constexpr auto emplace_back (Ring &ring, Args &&... args) -> decltype(auto)
 
template<concepts::detail::MutableRing Ring, concepts::InputContainer Con, typename T = meta::detail::RingValue<Ring>, typename R = meta::detail::RingAllocResult<Ring>>
requires (concepts::ContainerCompatible<Con, T>)
constexpr auto append_container (Ring &ring, Con &&container) -> R
 
constexpr auto pop_back (concepts::detail::MutableRing auto &ring)
 
template<concepts::detail::MutableRing Ring, typename... Args>
requires (concepts::ConstructibleFrom<meta::detail::RingValue<Ring>, Args...>)
constexpr auto emplace_front (Ring &ring, Args &&... args) -> decltype(auto)
 
template<concepts::detail::MutableRing Ring, concepts::InputContainer Con, typename T = meta::detail::RingValue<Ring>, typename R = meta::detail::RingAllocResult<Ring>>
requires (concepts::ContainerCompatible<Con, T>)
constexpr auto prepend_container (Ring &ring, Con &&container) -> R
 
constexpr auto pop_front (concepts::detail::MutableRing auto &ring)
 
template<concepts::detail::MutableRing Ring, typename T = meta::detail::RingValue<Ring>, typename... Args>
requires (concepts::ConstructibleFrom<meta::detail::RingValue<Ring>, Args...>)
constexpr auto emplace (Ring &ring, RingIterator< T const > it, Args &&... args)
 
template<concepts::detail::MutableRing Ring, typename Value = meta::detail::RingValue<Ring>>
constexpr auto erase (Ring &ring, RingIterator< Value const > first, RingIterator< Value const > last)
 
template<concepts::detail::MutableRing Ring, typename Value = meta::detail::RingValue<Ring>>
constexpr auto erase (Ring &ring, RingIterator< Value const > citerator)
 
constexpr auto make_contigous (concepts::detail::MutableRing auto &ring)
 
template<concepts::detail::MutableRing Ring, typename T = meta::detail::RingValue<Ring>>
requires (concepts::DefaultConstructible<T>)
constexpr auto resize (Ring &ring, usize count)
 
template<concepts::detail::MutableRing Ring, typename T = meta::detail::RingValue<Ring>>
requires (concepts::CopyConstructible<T>)
constexpr auto resize (Ring &ring, usize count, T const &value)
 

Function Documentation

◆ append_container()

template<concepts::detail::MutableRing Ring, concepts::InputContainer Con, typename T = meta::detail::RingValue<Ring>, typename R = meta::detail::RingAllocResult<Ring>>
requires (concepts::ContainerCompatible<Con, T>)
auto di::container::ring::append_container ( Ring & ring,
Con && container ) -> R
constexpr

◆ at()

auto di::container::ring::at ( concepts::detail::ConstantRing auto & ring,
usize index )
constexpr

◆ back()

auto di::container::ring::back ( concepts::detail::ConstantRing auto & ring)
constexpr

◆ begin()

template<concepts::detail::ConstantRing Ring, typename Value = meta::detail::RingValue<Ring>>
auto di::container::ring::begin ( Ring & ring)
constexpr

◆ begin_pointer()

auto di::container::ring::begin_pointer ( concepts::detail::ConstantRing auto & ring) -> auto*
constexpr

◆ clear()

void di::container::ring::clear ( concepts::detail::MutableRing auto & ring)
constexpr

◆ emplace()

template<concepts::detail::MutableRing Ring, typename T = meta::detail::RingValue<Ring>, typename... Args>
requires (concepts::ConstructibleFrom<meta::detail::RingValue<Ring>, Args...>)
auto di::container::ring::emplace ( Ring & ring,
RingIterator< T const > it,
Args &&... args )
constexpr

◆ emplace_back()

template<concepts::detail::MutableRing Ring, typename... Args>
requires (concepts::ConstructibleFrom<meta::detail::RingValue<Ring>, Args...>)
auto di::container::ring::emplace_back ( Ring & ring,
Args &&... args ) -> decltype(auto)
constexpr

◆ emplace_front()

template<concepts::detail::MutableRing Ring, typename... Args>
requires (concepts::ConstructibleFrom<meta::detail::RingValue<Ring>, Args...>)
auto di::container::ring::emplace_front ( Ring & ring,
Args &&... args ) -> decltype(auto)
constexpr

◆ empty()

auto di::container::ring::empty ( concepts::detail::ConstantRing auto & ring) -> bool
constexpr

◆ end()

template<concepts::detail::ConstantRing Ring, typename Value = meta::detail::RingValue<Ring>>
auto di::container::ring::end ( Ring & ring)
constexpr

◆ end_pointer()

auto di::container::ring::end_pointer ( concepts::detail::ConstantRing auto & ring) -> auto*
constexpr

◆ erase() [1/2]

template<concepts::detail::MutableRing Ring, typename Value = meta::detail::RingValue<Ring>>
auto di::container::ring::erase ( Ring & ring,
RingIterator< Value const > citerator )
constexpr

◆ erase() [2/2]

template<concepts::detail::MutableRing Ring, typename Value = meta::detail::RingValue<Ring>>
auto di::container::ring::erase ( Ring & ring,
RingIterator< Value const > first,
RingIterator< Value const > last )
constexpr

◆ front()

auto di::container::ring::front ( concepts::detail::ConstantRing auto & ring)
constexpr

◆ head_pointer()

auto di::container::ring::head_pointer ( concepts::detail::ConstantRing auto & ring) -> auto*
constexpr

◆ iterator() [1/3]

template<concepts::detail::MutableRing Ring, typename Value = meta::detail::RingValue<Ring>>
requires (!concepts::Const<Ring>)
auto di::container::ring::iterator ( Ring & ,
RingIterator< Value const > iterator )
constexpr

◆ iterator() [2/3]

template<concepts::detail::ConstantRing Ring>
requires (!concepts::Const<Ring>)
auto di::container::ring::iterator ( Ring & ring,
usize index )
constexpr

◆ iterator() [3/3]

template<concepts::detail::ConstantRing Ring>
auto di::container::ring::iterator ( Ring const & ring,
usize index )
constexpr

◆ lookup()

auto di::container::ring::lookup ( concepts::detail::ConstantRing auto & ring,
usize index ) -> decltype(auto)
constexpr

◆ make_contigous()

auto di::container::ring::make_contigous ( concepts::detail::MutableRing auto & ring)
constexpr

◆ pop_back()

auto di::container::ring::pop_back ( concepts::detail::MutableRing auto & ring)
constexpr

◆ pop_front()

auto di::container::ring::pop_front ( concepts::detail::MutableRing auto & ring)
constexpr

◆ prepend_container()

template<concepts::detail::MutableRing Ring, concepts::InputContainer Con, typename T = meta::detail::RingValue<Ring>, typename R = meta::detail::RingAllocResult<Ring>>
requires (concepts::ContainerCompatible<Con, T>)
auto di::container::ring::prepend_container ( Ring & ring,
Con && container ) -> R
constexpr

◆ reserve()

template<concepts::detail::MutableRing Ring, typename R = meta::detail::RingAllocResult<Ring>>
auto di::container::ring::reserve ( Ring & ring,
usize capacity ) -> R
constexpr

◆ resize() [1/2]

template<concepts::detail::MutableRing Ring, typename T = meta::detail::RingValue<Ring>>
requires (concepts::DefaultConstructible<T>)
auto di::container::ring::resize ( Ring & ring,
usize count )
constexpr

◆ resize() [2/2]

template<concepts::detail::MutableRing Ring, typename T = meta::detail::RingValue<Ring>>
requires (concepts::CopyConstructible<T>)
auto di::container::ring::resize ( Ring & ring,
usize count,
T const & value )
constexpr

◆ size()

auto di::container::ring::size ( concepts::detail::ConstantRing auto & ring)
constexpr

◆ size_bytes()

auto di::container::ring::size_bytes ( concepts::detail::ConstantRing auto & ring)
constexpr

◆ tail_pointer()

auto di::container::ring::tail_pointer ( concepts::detail::ConstantRing auto & ring) -> auto*
constexpr