SoPlex Documentation
Loading...
Searching...
No Matches

#include <core.h>

Inheritance diagram for buffer< T >:
basic_memory_buffer< T, SIZE, Allocator > iterator_buffer< OutputIt, T, Traits > iterator_buffer< T *, T >

Public Types

using value_type = T
 
using const_reference = const T&
 

Public Member Functions

 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

 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
 
virtual void grow (size_t capacity)=0
 

Private Attributes

T * ptr_
 
size_t size_
 
size_t capacity_
 

Detailed Description

template<typename T>
class detail::buffer< T >

\rst A contiguous memory buffer with an optional growing ability. It is an internal class and shouldn't be used directly, only via ~fmtbasic_memory_buffer. \endrst

Definition at line 665 of file core.h.

Member Typedef Documentation

◆ const_reference

template<typename T >
using const_reference = const T&

Definition at line 694 of file core.h.

◆ value_type

template<typename T >
using value_type = T

Definition at line 693 of file core.h.

Constructor & Destructor Documentation

◆ buffer() [1/3]

template<typename T >
buffer ( size_t sz)
protected

Definition at line 674 of file core.h.

◆ buffer() [2/3]

template<typename T >
buffer ( T * p = nullptr,
size_t sz = 0,
size_t cap = 0 )
protected

Definition at line 676 of file core.h.

◆ ~buffer()

template<typename T >
~buffer ( )
protecteddefault

◆ buffer() [3/3]

template<typename T >
buffer ( const buffer< T > & )
delete

Member Function Documentation

◆ append()

template<typename T >
template<typename U >
void append ( const U * begin,
const U * end )

Appends data to the end of the buffer.

Definition at line 600 of file format.h.

References detail::count(), detail::make_checked(), and detail::to_unsigned().

Referenced by detail::reset_color(), detail::vformat_to(), and formatbuf< Char >::xsputn().

◆ begin() [1/2]

template<typename T >
const T * begin ( ) const

Definition at line 702 of file core.h.

References buffer< T >::ptr_.

◆ begin() [2/2]

template<typename T >
T * begin ( )

◆ capacity()

◆ clear()

template<typename T >
void clear ( )

Clears this buffer.

Definition at line 718 of file core.h.

References buffer< T >::size_.

◆ data() [1/2]

template<typename T >
const T * data ( ) const

Returns a pointer to the buffer data.

Definition at line 715 of file core.h.

References buffer< T >::ptr_.

◆ data() [2/2]

◆ end() [1/2]

template<typename T >
const T * end ( ) const

Definition at line 703 of file core.h.

References buffer< T >::ptr_, and buffer< T >::size_.

◆ end() [2/2]

◆ grow()

◆ operator=()

template<typename T >
void operator= ( const buffer< T > & )
delete

◆ operator[]() [1/2]

template<typename T >
template<typename I >
T & operator[] ( I index)

Definition at line 743 of file core.h.

References detail::index, and buffer< T >::ptr_.

◆ operator[]() [2/2]

template<typename T >
template<typename I >
const T & operator[] ( I index) const

Definition at line 744 of file core.h.

References detail::index, and buffer< T >::ptr_.

◆ push_back()

◆ set()

◆ size()

◆ try_reserve()

template<typename T >
void try_reserve ( size_t new_capacity)

◆ try_resize()

Member Data Documentation

◆ capacity_

template<typename T >
size_t capacity_
private

◆ ptr_

◆ size_

template<typename T >
size_t size_
private