15template<
typename T,
typename SizeConstant>
18 constexpr static usize inline_capacity = SizeConstant {};
27 for (
auto& x : m_data) {
38 constexpr auto span() ->
Span<T> {
return { m_data, m_size }; }
39 constexpr auto span() const ->
Span<T const> {
return { m_data, m_size }; }
46 if (n > inline_capacity) {
54 constexpr auto head() const ->
usize {
return m_head; }
55 constexpr auto tail() const ->
usize {
return m_tail; }
61 T m_data[inline_capacity];
62 SizeType m_size { 0 };
63 SizeType m_head { 0 };
64 SizeType m_tail { 0 };
#define DI_ASSERT(...)
Definition assert_bool.h:7
Definition mutable_ring_interface.h:8
Definition static_ring.h:16
T const ConstValue
Definition static_ring.h:24
auto operator=(StaticRing &&) -> StaticRing &=default
constexpr void assume_head(usize head)
Definition static_ring.h:57
constexpr auto tail() const -> usize
Definition static_ring.h:55
StaticRing(StaticRing const &)=default
StaticRing(StaticRing &&)=default
constexpr auto max_size() const -> usize
Definition static_ring.h:42
constexpr void assume_tail(usize tail)
Definition static_ring.h:58
constexpr auto grow_capacity(usize min_capacity) const -> usize
Definition static_ring.h:52
auto operator=(StaticRing const &) -> StaticRing &=default
constexpr auto reserve_from_nothing(usize n) -> Expected< void, NoCapacityError >
Definition static_ring.h:44
constexpr void assume_size(usize size)
Definition static_ring.h:51
constexpr auto span() const -> Span< T const >
Definition static_ring.h:39
constexpr auto head() const -> usize
Definition static_ring.h:54
constexpr auto capacity() const -> usize
Definition static_ring.h:41
constexpr StaticRing()
Definition static_ring.h:26
constexpr auto span() -> Span< T >
Definition static_ring.h:38
T Value
Definition static_ring.h:23
Definition expected_forward_declaration.h:8
Definition span_forward_declaration.h:10
Definition unexpected.h:14
constexpr auto size
Definition size.h:54
decltype(detail::smallest_unsigned_type_helper(c_< size >)) SmallestUnsignedType
Definition smallest_unsigned_type.h:27
size_t usize
Definition integers.h:33
Definition zstring_parser.h:9
Definition static_vector.h:14