#include <format.h>
Public Types | |
using | const_reference = const T & |
using | value_type = T |
Public Types inherited from detail::buffer< T > | |
using | const_reference = const T & |
using | value_type = T |
Public Member Functions | |
template<typename ContiguousRange > | |
void | append (const ContiguousRange &range) |
basic_memory_buffer (const Allocator &alloc=Allocator()) | |
basic_memory_buffer (basic_memory_buffer &&other) FMT_NOEXCEPT | |
Allocator | get_allocator () const |
basic_memory_buffer & | operator= (basic_memory_buffer &&other) FMT_NOEXCEPT |
void | reserve (size_t new_capacity) |
void | resize (size_t count) |
~basic_memory_buffer () | |
Public Member Functions inherited from detail::buffer< T > | |
template<typename U > | |
void | append (const U *begin, const U *end) |
T * | begin () FMT_NOEXCEPT |
const T * | begin () const FMT_NOEXCEPT |
buffer (const buffer &)=delete | |
size_t | capacity () const FMT_NOEXCEPT |
void | clear () |
T * | data () FMT_NOEXCEPT |
const T * | data () const FMT_NOEXCEPT |
T * | end () FMT_NOEXCEPT |
const T * | end () const FMT_NOEXCEPT |
void | operator= (const buffer &)=delete |
template<typename I > | |
T & | operator[] (I index) |
template<typename I > | |
const T & | operator[] (I index) const |
void | push_back (const T &value) |
size_t | size () const FMT_NOEXCEPT |
void | try_reserve (size_t new_capacity) |
void | try_resize (size_t count) |
Protected Member Functions | |
void | grow (size_t size) final FMT_OVERRIDE |
Protected Member Functions inherited from detail::buffer< T > | |
buffer (size_t sz) FMT_NOEXCEPT | |
buffer (T *p=nullptr, size_t sz=0, size_t cap=0) FMT_NOEXCEPT | |
void | set (T *buf_data, size_t buf_capacity) FMT_NOEXCEPT |
~buffer ()=default | |
Private Member Functions | |
void | deallocate () |
void | move (basic_memory_buffer &other) |
Private Attributes | |
Allocator | alloc_ |
T | store_ [SIZE] |
A dynamically growing memory buffer for trivially copyable/constructible types with the first SIZE
elements stored in the object itself.
You can use one of the following type aliases for common character types:
+-------------—+---------------------------—+ | Type | Definition | +================+==============================+ | memory_buffer | basic_memory_buffer<char> | +-------------—+---------------------------—+ | wmemory_buffer | basic_memory_buffer<wchar_t> | +-------------—+---------------------------—+
Example**::
fmt::memory_buffer out; format_to(out, "The answer is {}.", 42);
This will append the following output to the out
object:
.. code-block:: none
The answer is 42.
The output can be converted to an std::string
with to_string(out)
.
using basic_memory_buffer< T, SIZE, Allocator >::const_reference = const T& |
using basic_memory_buffer< T, SIZE, Allocator >::value_type = T |
|
inlineexplicit |
|
inline |
|
inline |
|
inline |
|
inlineprivate |
|
inline |
|
finalprotectedvirtual |
Increases the buffer capacity to hold at least capacity elements.
Implements detail::buffer< T >.
|
inlineprivate |
|
inline |
Moves the content of the other basic_memory_buffer
object to this one.
|
inline |
|
inline |
|
private |
|
private |