#include "di/container/action/sequence.h"
#include "di/container/algorithm/destroy.h"
#include "di/container/algorithm/rotate.h"
#include "di/container/algorithm/uninitialized_relocate.h"
#include "di/container/algorithm/uninitialized_relocate_backwards.h"
#include "di/container/ring/mutable_ring.h"
#include "di/container/ring/ring_iterator.h"
#include "di/container/vector/vector_resize.h"
#include "di/util/create.h"
#include "di/vocab/expected/prelude.h"
Go to the source code of this file.
Namespaces | |
namespace | di |
namespace | di::container |
namespace | di::container::ring |
Functions | |
constexpr auto | di::container::ring::size (concepts::detail::ConstantRing auto &ring) |
constexpr auto | di::container::ring::size_bytes (concepts::detail::ConstantRing auto &ring) |
constexpr auto | di::container::ring::empty (concepts::detail::ConstantRing auto &ring) -> bool |
constexpr auto | di::container::ring::begin_pointer (concepts::detail::ConstantRing auto &ring) -> auto * |
constexpr auto | di::container::ring::end_pointer (concepts::detail::ConstantRing auto &ring) -> auto * |
constexpr auto | di::container::ring::head_pointer (concepts::detail::ConstantRing auto &ring) -> auto * |
constexpr auto | di::container::ring::tail_pointer (concepts::detail::ConstantRing auto &ring) -> auto * |
template<concepts::detail::ConstantRing Ring, typename Value = meta::detail::RingValue<Ring>> | |
constexpr auto | di::container::ring::begin (Ring &ring) |
template<concepts::detail::ConstantRing Ring, typename Value = meta::detail::RingValue<Ring>> | |
constexpr auto | di::container::ring::end (Ring &ring) |
constexpr auto | di::container::ring::lookup (concepts::detail::ConstantRing auto &ring, usize index) -> decltype(auto) |
constexpr auto | di::container::ring::at (concepts::detail::ConstantRing auto &ring, usize index) |
constexpr auto | di::container::ring::front (concepts::detail::ConstantRing auto &ring) |
constexpr auto | di::container::ring::back (concepts::detail::ConstantRing auto &ring) |
template<concepts::detail::MutableRing Ring, typename Value = meta::detail::RingValue<Ring>> requires (!concepts::Const<Ring>) | |
constexpr auto | di::container::ring::iterator (Ring &, RingIterator< Value const > iterator) |
template<concepts::detail::ConstantRing Ring> requires (!concepts::Const<Ring>) | |
constexpr auto | di::container::ring::iterator (Ring &ring, usize index) |
template<concepts::detail::ConstantRing Ring> | |
constexpr auto | di::container::ring::iterator (Ring const &ring, usize index) |
constexpr void | di::container::ring::clear (concepts::detail::MutableRing auto &ring) |
template<concepts::detail::MutableRing Ring, typename R = meta::detail::RingAllocResult<Ring>> | |
constexpr auto | di::container::ring::reserve (Ring &ring, usize capacity) -> R |
template<concepts::detail::MutableRing Ring, typename... Args> requires (concepts::ConstructibleFrom<meta::detail::RingValue<Ring>, Args...>) | |
constexpr auto | di::container::ring::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 | di::container::ring::append_container (Ring &ring, Con &&container) -> R |
constexpr auto | di::container::ring::pop_back (concepts::detail::MutableRing auto &ring) |
template<concepts::detail::MutableRing Ring, typename... Args> requires (concepts::ConstructibleFrom<meta::detail::RingValue<Ring>, Args...>) | |
constexpr auto | di::container::ring::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 | di::container::ring::prepend_container (Ring &ring, Con &&container) -> R |
constexpr auto | di::container::ring::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 | di::container::ring::emplace (Ring &ring, RingIterator< T const > it, Args &&... args) |
template<concepts::detail::MutableRing Ring, typename Value = meta::detail::RingValue<Ring>> | |
constexpr auto | di::container::ring::erase (Ring &ring, RingIterator< Value const > first, RingIterator< Value const > last) |
template<concepts::detail::MutableRing Ring, typename Value = meta::detail::RingValue<Ring>> | |
constexpr auto | di::container::ring::erase (Ring &ring, RingIterator< Value const > citerator) |
constexpr auto | di::container::ring::make_contigous (concepts::detail::MutableRing auto &ring) |
template<concepts::detail::MutableRing Ring, typename T = meta::detail::RingValue<Ring>> requires (concepts::DefaultConstructible<T>) | |
constexpr auto | di::container::ring::resize (Ring &ring, usize count) |
template<concepts::detail::MutableRing Ring, typename T = meta::detail::RingValue<Ring>> requires (concepts::CopyConstructible<T>) | |
constexpr auto | di::container::ring::resize (Ring &ring, usize count, T const &value) |