"Dinkum/codecvt/wbuffer.h"Include the header "Dinkum/codecvt/wbuffer.h" to define template
class wbuffer_convert, for performing conversions between a
wide stream and a byte stream.
wbuffer_convertnamespace Dinkum {
namespace codecvt {
template<class Codecvt,
class Elem = wchar_t,
class Tr = std::char_traits<Elem> >
class wbuffer_convert
: public std::basic_streambuf<Elem, Tr>
{
public:
typedef typename Tr::state_type state_type;
wbuffer_convert(std::streambuf *bytebuf = 0,
Codecvt *pcvt = new Codecvt,
state_type state = state_type());
std::streambuf *rdbuf() const;
std::streambuf *rdbuf(std::streambuf *bytebuf);
state_type state() const;
// exposition only
private:
std::streambuf *bufptr;
Codecvt *cvtptr;
state_type cvtstate;
};
} // namespace codecvt
} // namespace Dinkum
The template class describes a stream buffer that controls the
transmission of elements of type Elem, whose character traits
are described by the class Tr, to and from a byte stream
buffer of type std::streambuf. Conversion between a sequence
of Elem values and multibyte sequences is performed by an
object of class Codecvt<Elem, char, std::mbstate_t>,
which meets the requirements of the standard code-conversion facet
std::codecvt<Elem, char, std::mbstate_t>.
An object of this template class stores:
bufptr --
a pointer to its underlying byte stream buffercvtptr --
a pointer to the allocated conversion object (which is freed
when the wbuffer_convert object is destroyed)cvtstate --
a conversion state objectwbuffer_convert::statestate_type state() const;
The member function returns cvtstate.
wbuffer_convert::rdbufstd::streambuf *rdbuf() const; std::streambuf *rdbuf(std::streambuf *bytebuf);
The first member function returns bufptr.
The second member function stores bytebuf in bufptr.
wbuffer_convert::wbuffer_convertwbuffer_convert(std::streambuf *bytebuf = 0,
Codecvt *pcvt = new Codecvt,
state_type state = state_type());
The constructor constructs a stream buffer object, initializes
bufptr to bytebuf, initializes
cvtptr to pcvt, and initializes
cvtstate to state.
wbuffer_convert::state_typetypedef typename Codecvt::state_type state_type;
The type is a synonym for Codecvt::state_type.
See also the Table of Contents and the Index.
Copyright © 1992-2013 by Dinkumware, Ltd. All rights reserved.