#include <format.h>
Public Types | |
using | value_type = T |
using | const_reference = const T & |
Public Types inherited from buffer< T > | |
using | value_type = T |
using | const_reference = const T & |
Public Member Functions | |
basic_memory_buffer (const Allocator &alloc=Allocator()) | |
~basic_memory_buffer () | |
basic_memory_buffer (basic_memory_buffer &&other) FMT_NOEXCEPT | |
basic_memory_buffer & | operator= (basic_memory_buffer &&other) FMT_NOEXCEPT |
Allocator | get_allocator () const |
void | resize (size_t count) |
void | reserve (size_t new_capacity) |
template<typename ContiguousRange > | |
void | append (const ContiguousRange &range) |
Public Member Functions inherited from buffer< T > | |
buffer (const buffer &)=delete | |
void | operator= (const buffer &)=delete |
T * | begin () FMT_NOEXCEPT |
T * | end () FMT_NOEXCEPT |
const T * | begin () const FMT_NOEXCEPT |
const T * | end () const FMT_NOEXCEPT |
size_t | size () const FMT_NOEXCEPT |
size_t | capacity () const FMT_NOEXCEPT |
T * | data () FMT_NOEXCEPT |
const T * | data () const FMT_NOEXCEPT |
void | clear () |
void | try_resize (size_t count) |
void | try_reserve (size_t new_capacity) |
void | push_back (const T &value) |
template<typename U > | |
void | append (const U *begin, const U *end) |
template<typename I > | |
T & | operator[] (I index) |
template<typename I > | |
const T & | operator[] (I index) const |
Protected Member Functions | |
void | grow (size_t size) final FMT_OVERRIDE |
Protected Member Functions inherited from buffer< T > | |
buffer (size_t sz) FMT_NOEXCEPT | |
buffer (T *p=nullptr, size_t sz=0, size_t cap=0) FMT_NOEXCEPT | |
~buffer ()=default | |
void | set (T *buf_data, size_t buf_capacity) FMT_NOEXCEPT |
Private Member Functions | |
void | deallocate () |
void | move (basic_memory_buffer &other) |
Private Attributes | |
T | store_ [SIZE] |
Allocator | alloc_ |
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 const_reference = const T& |
using value_type = T |
|
explicit |
~basic_memory_buffer | ( | ) |
basic_memory_buffer | ( | basic_memory_buffer< T, SIZE, Allocator > && | other | ) |
|
finalprotectedvirtual |
Implements buffer< T >.
|
private |
basic_memory_buffer& operator= | ( | basic_memory_buffer< T, SIZE, Allocator > && | other | ) |
Moves the content of the other basic_memory_buffer
object to this one.
void reserve | ( | size_t | new_capacity | ) |
Increases the buffer capacity to new_capacity.
Definition at line 730 of file format.h.
Referenced by formatter< std::tm, Char >::format().
void resize | ( | size_t | count | ) |
Resizes the buffer to contain count elements. If T is a POD type new elements may not be initialized.
Definition at line 727 of file format.h.
Referenced by bigint::align(), bigint::assign(), formatter< std::tm, Char >::format(), format_system_error(), int_writer< OutputIt, Char, UInt >::on_num(), bigint::remove_leading_zeros(), and bigint::square().
|
private |
Definition at line 659 of file format.h.
Referenced by basic_memory_buffer< wchar_t >::move().
|
private |
Definition at line 656 of file format.h.
Referenced by basic_memory_buffer< wchar_t >::move().