libdonut 2.3.6
Application framework for cross-platform game development in C++20
|
#include <donut/LinearBuffer.hpp>
Public Types | |
using | index_type = std::conditional_t< sizeof...(Ts)< 255ull, std::uint8_t, std::conditional_t< sizeof...(Ts)< 65535ull, std::uint16_t, std::conditional_t< sizeof...(Ts)< 4294967295ull, std::uint32_t, std::uint64_t > > > |
Public Member Functions | |
LinearBuffer (LinearMemoryResource *memoryResource, std::size_t nextChunkSize=64) noexcept | |
template<typename T > requires (!std::is_unbounded_array_v<T> && linear_buffer_has_alternative_v<T, LinearBuffer>) | |
void | push_back (const T &value) |
template<typename T , typename... Args> requires (!std::is_unbounded_array_v<T> && linear_buffer_has_alternative_v<T, LinearBuffer> && std::is_constructible_v<T, Args...>) | |
void | emplace_back (Args &&... args) |
template<typename T > requires (linear_buffer_has_alternative_v<T[], LinearBuffer>) | |
std::span< const T > | append (std::span< const T > values) |
template<typename Visitor > | |
auto | visit (Visitor &&visitor) const |
Static Public Attributes | |
static constexpr index_type | npos = sizeof...(Ts) |
using donut::LinearBuffer< Ts >::index_type = std::conditional_t<sizeof...(Ts) < 255ull, std::uint8_t, std::conditional_t<sizeof...(Ts) < 65535ull, std::uint16_t, std::conditional_t<sizeof...(Ts) < 4294967295ull, std::uint32_t, std::uint64_t> >> |
|
inlineexplicitnoexcept |
|
inline |
|
inline |
|
inline |
|
inline |
|
staticconstexpr |