Flow123d  release_2.2.0-33-g759111d
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
fmt::Buffer< T > Class Template Referenceabstract

#include <format.h>

Inheritance diagram for fmt::Buffer< T >:
Inheritance graph
[legend]
Collaboration diagram for fmt::Buffer< T >:
Collaboration graph
[legend]

Public Member Functions

virtual ~Buffer ()
 
std::size_t size () const
 
std::size_t capacity () const
 
void resize (std::size_t new_size)
 
void reserve (std::size_t capacity)
 
void clear () FMT_NOEXCEPT
 
void push_back (const T &value)
 
template<typename U >
void append (const U *begin, const U *end)
 
T & operator[] (std::size_t index)
 
const T & operator[] (std::size_t index) const
 

Protected Member Functions

 Buffer (T *ptr=0, std::size_t capacity=0)
 
virtual void grow (std::size_t size)=0
 

Protected Attributes

T * ptr_
 
std::size_t size_
 
std::size_t capacity_
 

Private Member Functions

 FMT_DISALLOW_COPY_AND_ASSIGN (Buffer)
 

Detailed Description

template<typename T>
class fmt::Buffer< T >

A buffer supporting a subset of std::vector's operations.

Definition at line 588 of file format.h.

Constructor & Destructor Documentation

template<typename T>
fmt::Buffer< T >::Buffer ( T *  ptr = 0,
std::size_t  capacity = 0 
)
inlineprotected

Definition at line 597 of file format.h.

template<typename T>
virtual fmt::Buffer< T >::~Buffer ( )
inlinevirtual

Definition at line 609 of file format.h.

Member Function Documentation

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

Appends data to the end of the buffer.

Definition at line 654 of file format.h.

template<typename T>
std::size_t fmt::Buffer< T >::capacity ( ) const
inline

Returns the capacity of this buffer.

Definition at line 615 of file format.h.

Here is the caller graph for this function:

template<typename T>
void fmt::Buffer< T >::clear ( )
inline

Definition at line 636 of file format.h.

template<typename T>
fmt::Buffer< T >::FMT_DISALLOW_COPY_AND_ASSIGN ( Buffer< T >  )
private
template<typename T>
virtual void fmt::Buffer< T >::grow ( std::size_t  size)
protectedpure virtual

Increases the buffer capacity to hold at least size elements updating ptr_ and capacity_.

Implemented in fmt::internal::FixedBuffer< Char >, fmt::internal::MemoryBuffer< T, SIZE, Allocator >, and fmt::internal::MemoryBuffer< Char, internal::INLINE_BUFFER_SIZE, Allocator >.

template<typename T>
T& fmt::Buffer< T >::operator[] ( std::size_t  index)
inline

Definition at line 648 of file format.h.

template<typename T>
const T& fmt::Buffer< T >::operator[] ( std::size_t  index) const
inline

Definition at line 649 of file format.h.

template<typename T>
void fmt::Buffer< T >::push_back ( const T &  value)
inline

Definition at line 638 of file format.h.

template<typename T>
void fmt::Buffer< T >::reserve ( std::size_t  capacity)
inline

Reserves space to store at least capacity elements.

Definition at line 631 of file format.h.

Here is the caller graph for this function:

template<typename T>
void fmt::Buffer< T >::resize ( std::size_t  new_size)
inline

Resizes the buffer. If T is a POD type new elements may not be initialized.

Definition at line 620 of file format.h.

Here is the caller graph for this function:

template<typename T>
std::size_t fmt::Buffer< T >::size ( ) const
inline

Returns the size of this buffer.

Definition at line 612 of file format.h.

Here is the caller graph for this function:

Member Data Documentation

template<typename T>
std::size_t fmt::Buffer< T >::capacity_
protected

Definition at line 595 of file format.h.

template<typename T>
T* fmt::Buffer< T >::ptr_
protected

Definition at line 593 of file format.h.

template<typename T>
std::size_t fmt::Buffer< T >::size_
protected

Definition at line 594 of file format.h.


The documentation for this class was generated from the following file: