Regina Calculation Engine
Public Member Functions | List of all members
regina::i18n::IConvStreamBuffer Class Reference

An output stream buffer that translates between character encodings. More...

#include <utilities/i18nutils.h>

Inheritance diagram for regina::i18n::IConvStreamBuffer:

Public Member Functions

 IConvStreamBuffer ()
 Creates a new stream buffer. More...
 ~IConvStreamBuffer ()
 Destroys this stream buffer. More...
IConvStreamBufferopen (std::ostream &dest, const char *srcCode, const char *destCode)
 Opens a new stream buffer that wraps around the given output stream. More...
IConvStreamBufferclose () throw ()
 Closes this stream buffer. More...
int_type overflow (int_type c)
 Sends buffered data to the destination output stream, converting between character sets en route. More...
int_type underflow ()
 Simply returns EOF (since this is not an input stream). More...
int sync ()
 Flushes all output buffers. More...

Detailed Description

An output stream buffer that translates between character encodings.

The iconv library is used to do the real work.

Users should not normally instantiate this class directly; instead see IConvStream for a higher-level interface to character conversion.

This class will still work if iconv is not supported on the build machine, though in this case it will simply pass data through without performing any translations.

Not included.
Parts of this code are modified from the cxxtools library (, which is copyright (c) 2003 by Tommi Maekitalo, and covered by the GNU Lesser General Public License.

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

Copyright © 1999-2016, The Regina development team
This software is released under the GNU General Public License, with some additional permissions; see the source code for details.
For further information, or to submit a bug or other problem, please contact Ben Burton (