|
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 |