Agora  1.2.0
Agora project
fmt::v8::detail::iterator_buffer< OutputIt, T, Traits > Class Template Referencefinal

#include <core.h>

Inheritance diagram for fmt::v8::detail::iterator_buffer< OutputIt, T, Traits >:
Collaboration diagram for fmt::v8::detail::iterator_buffer< OutputIt, T, Traits >:

Public Member Functions

 iterator_buffer (OutputIt out, size_t n=buffer_size)
 
 iterator_buffer (iterator_buffer &&other)
 
 ~iterator_buffer ()
 
auto out () -> OutputIt
 
auto count () const -> size_t
 
- Public Member Functions inherited from fmt::v8::detail::buffer_traits
 buffer_traits (size_t)
 
auto count () const -> size_t
 
auto limit (size_t size) -> size_t
 
- Public Member Functions inherited from fmt::v8::detail::buffer< T >
 buffer (const buffer &)=delete
 
void operator= (const buffer &)=delete
 
auto begin () -> T * throw ()
 
auto end () -> T * throw ()
 
auto begin () const -> const T * throw ()
 
auto end () const -> const T * throw ()
 
constexpr auto size () const -> size_t throw ()
 
constexpr auto capacity () const -> size_t throw ()
 
auto data () -> T * throw ()
 
auto data () const -> const T * throw ()
 
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 >
auto operator[] (I index) -> T &
 
template<typename I >
auto operator[] (I index) const -> const T &
 

Protected Member Functions

void grow (size_t) override
 
void flush ()
 
- Protected Member Functions inherited from fmt::v8::detail::buffer< T >
 buffer (size_t sz) throw ()
 
 buffer (T *p=nullptr, size_t sz=0, size_t cap=0) throw ()
 
 ~buffer ()=default
 
 buffer (buffer &&)=default
 
void set (T *buf_data, size_t buf_capacity) throw ()
 

Private Types

enum  { buffer_size = 256 }
 

Private Attributes

OutputIt out_
 
T data_ [buffer_size]
 

Additional Inherited Members

- Public Types inherited from fmt::v8::detail::buffer< T >
using value_type = T
 
using const_reference = const T &
 

Member Enumeration Documentation

◆ anonymous enum

template<typename OutputIt , typename T , typename Traits = buffer_traits>
anonymous enum
private
Enumerator
buffer_size 

Constructor & Destructor Documentation

◆ iterator_buffer() [1/2]

template<typename OutputIt , typename T , typename Traits = buffer_traits>
fmt::v8::detail::iterator_buffer< OutputIt, T, Traits >::iterator_buffer ( OutputIt  out,
size_t  n = buffer_size 
)
inlineexplicit

◆ iterator_buffer() [2/2]

template<typename OutputIt , typename T , typename Traits = buffer_traits>
fmt::v8::detail::iterator_buffer< OutputIt, T, Traits >::iterator_buffer ( iterator_buffer< OutputIt, T, Traits > &&  other)
inline

◆ ~iterator_buffer()

template<typename OutputIt , typename T , typename Traits = buffer_traits>
fmt::v8::detail::iterator_buffer< OutputIt, T, Traits >::~iterator_buffer ( )
inline

Member Function Documentation

◆ count()

template<typename OutputIt , typename T , typename Traits = buffer_traits>
auto fmt::v8::detail::iterator_buffer< OutputIt, T, Traits >::count ( ) const -> size_t
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ flush()

template<typename OutputIt , typename T , typename Traits = buffer_traits>
void fmt::v8::detail::iterator_buffer< OutputIt, T, Traits >::flush ( )
inlineprotected

◆ grow()

template<typename OutputIt , typename T , typename Traits = buffer_traits>
void fmt::v8::detail::iterator_buffer< OutputIt, T, Traits >::grow ( size_t  capacity)
inlineoverrideprotectedvirtual

Increases the buffer capacity to hold at least capacity elements.

Implements fmt::v8::detail::buffer< T >.

◆ out()

template<typename OutputIt , typename T , typename Traits = buffer_traits>
auto fmt::v8::detail::iterator_buffer< OutputIt, T, Traits >::out ( ) -> OutputIt
inline
Here is the caller graph for this function:

Member Data Documentation

◆ data_

template<typename OutputIt , typename T , typename Traits = buffer_traits>
T fmt::v8::detail::iterator_buffer< OutputIt, T, Traits >::data_[buffer_size]
private

◆ out_

template<typename OutputIt , typename T , typename Traits = buffer_traits>
OutputIt fmt::v8::detail::iterator_buffer< OutputIt, T, Traits >::out_
private

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