A streambuf class that controls the transmission of elements to and from a basic_ivectorstream, basic_ovectorstream or basic_vectorstream. More...
#include <vectorstream.hpp>
Public Types | |
typedef CharVector | vector_type |
typedef CharVector::value_type | char_type |
typedef CharTraits::int_type | int_type |
typedef CharTraits::pos_type | pos_type |
typedef CharTraits::off_type | off_type |
typedef CharTraits | traits_type |
Public Member Functions | |
basic_vectorbuf (std::ios_base::openmode mode=std::ios_base::in|std::ios_base::out) | |
Constructor. More... | |
template<class VectorParameter > | |
basic_vectorbuf (const VectorParameter ¶m, std::ios_base::openmode mode=std::ios_base::in|std::ios_base::out) | |
Constructor. More... | |
void | swap_vector (vector_type &vect) |
Swaps the underlying vector with the passed vector. More... | |
const vector_type & | vector () const |
Returns a const reference to the internal vector. More... | |
void | reserve (typename vector_type::size_type size) |
Preallocates memory from the internal vector. More... | |
void | clear () |
Calls clear() method of the internal vector. More... | |
Protected Member Functions | |
virtual int_type | underflow () |
virtual int_type | pbackfail (int_type c=CharTraits::eof()) |
virtual int_type | overflow (int_type c=CharTraits::eof()) |
virtual pos_type | seekoff (off_type off, std::ios_base::seekdir dir, std::ios_base::openmode mode=std::ios_base::in|std::ios_base::out) |
virtual pos_type | seekpos (pos_type pos, std::ios_base::openmode mode=std::ios_base::in|std::ios_base::out) |
A streambuf class that controls the transmission of elements to and from a basic_ivectorstream, basic_ovectorstream or basic_vectorstream.
It holds a character vector specified by CharVector template parameter as its formatting buffer. The vector must have contiguous storage, like std::vector, boost::interprocess::vector or boost::interprocess::basic_string
typedef CharVector::value_type boost::interprocess::basic_vectorbuf< CharVector, CharTraits >::char_type |
typedef CharTraits::int_type boost::interprocess::basic_vectorbuf< CharVector, CharTraits >::int_type |
typedef CharTraits::off_type boost::interprocess::basic_vectorbuf< CharVector, CharTraits >::off_type |
typedef CharTraits::pos_type boost::interprocess::basic_vectorbuf< CharVector, CharTraits >::pos_type |
typedef CharTraits boost::interprocess::basic_vectorbuf< CharVector, CharTraits >::traits_type |
typedef CharVector boost::interprocess::basic_vectorbuf< CharVector, CharTraits >::vector_type |
|
inlineexplicit |
Constructor.
Throws if vector_type default constructor throws.
|
inlineexplicit |
Constructor.
Throws if vector_type(const VectorParameter ¶m) throws.
|
inline |
Calls clear() method of the internal vector.
Resets the stream to the first position.
Referenced by boost::interprocess::basic_ivectorstream< CharVector, CharTraits >::clear(), and boost::interprocess::basic_vectorstream< CharVector, CharTraits >::clear().
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inline |
Preallocates memory from the internal vector.
Resets the stream to the first position. Throws if the internals vector's memory allocation throws.
References boost::flyweights::in, and boost::out.
Referenced by boost::interprocess::basic_ivectorstream< CharVector, CharTraits >::reserve(), boost::interprocess::basic_ovectorstream< CharVector, CharTraits >::reserve(), and boost::interprocess::basic_vectorstream< CharVector, CharTraits >::reserve().
|
inlineprotectedvirtual |
References boost::asio::end, boost::flyweights::in, boost::math::concepts::mode(), and boost::out.
Referenced by boost::interprocess::basic_vectorbuf< CharVector, CharTraits >::seekpos().
|
inlineprotectedvirtual |
|
inline |
Swaps the underlying vector with the passed vector.
This function resets the read/write position in the stream. Does not throw.
References boost::out.
Referenced by boost::interprocess::basic_ivectorstream< CharVector, CharTraits >::swap_vector(), boost::interprocess::basic_ovectorstream< CharVector, CharTraits >::swap_vector(), and boost::interprocess::basic_vectorstream< CharVector, CharTraits >::swap_vector().
|
inlineprotectedvirtual |
References boost::asio::error::eof.
|
inline |
Returns a const reference to the internal vector.
Does not throw.
References boost::out.
Referenced by boost::interprocess::basic_ivectorstream< CharVector, CharTraits >::vector(), boost::interprocess::basic_ovectorstream< CharVector, CharTraits >::vector(), and boost::interprocess::basic_vectorstream< CharVector, CharTraits >::vector().