Namespaces
Variants
Views
Actions

std::basic_ostringstream

From cppreference.com
< cpp | io
Defined in header <sstream>
template<

    class CharT,
    class Traits = std::char_traits<CharT>

> class basic_ostringstream;
(until C++11)
template<

    class CharT,
    class Traits = std::char_traits<CharT>,
    class Allocator = std::allocator<CharT>

> class basic_ostringstream;
(since C++11)

The class template basic_ostringstream implements output operations on memory (std::basic_string) based streams. It essentially wraps a raw string device implementation (basic_stringbuf) into a higher-level interface (basic_ostream). The complete interface to unique basic_stringbuf members is provided.

cpp/io/ios basecpp/io/basic ioscpp/io/basic ostreamstd-basic ostringstream-inheritance.svg
About this image

Inheritance diagram

Two specializations for common character types are also defined:

Defined in header <sstream>
Type Definition
ostringstream basic_ostringstream<char>
wostringstream basic_ostringstream<wchar_t>

Contents

[edit] Member types

Member type Definition
char_type CharT[edit]
traits_type Traits[edit]
int_type Traits::int_type[edit]
pos_type Traits::pos_type[edit]
off_type Traits::off_type[edit]
allocator_type Allocator (since C++11)[edit]

[edit] Member functions

constructs the string stream
(public member function) [edit]
(C++11)
moves the string stream
(public member function) [edit]
(C++11)
swaps two string streams
(public member function) [edit]
returns the underlying raw string device object
(public member function) [edit]
String operations
gets or sets the contents of underlying string device object
(public member function) [edit]

Inherited from std::basic_ostream

Member functions

Formatted input
inserts formatted data
(public member function of std::basic_ostream) [edit]
Unformatted input
inserts a character
(public member function of std::basic_ostream) [edit]
inserts blocks of characters
(public member function of std::basic_ostream) [edit]
Positioning
returns the output position indicator
(public member function of std::basic_ostream) [edit]
sets the output position indicator
(public member function of std::basic_ostream) [edit]
Miscellaneous
synchronizes with the underlying storage device
(public member function of std::basic_ostream) [edit]

Member classes

implements basic logic for preparation of the stream for output operations
(public member class of std::basic_ostream) [edit]

Inherited from std::basic_ios

Member types

Member type Definition
char_type CharT
traits_type Traits
int_type Traits::int_type
pos_type Traits::pos_type
off_type Traits::off_type
State functions
checks if no error has occurred i.e. I/O operations are available
(public member function of std::basic_ios) [edit]
checks if end-of-file has been reached
(public member function of std::basic_ios) [edit]
checks if a recoverable error has occurred
(public member function of std::basic_ios) [edit]
checks if a non-recoverable error has occurred
(public member function of std::basic_ios) [edit]
checks if an error has occurred (synonym of fail())
(public member function of std::basic_ios) [edit]
(until C++11)
(since C++11)
checks if no error has occurred (synonym of !fail())
(public member function of std::basic_ios) [edit]
returns state flags
(public member function of std::basic_ios) [edit]
sets state flags
(public member function of std::basic_ios) [edit]
clears error and eof flags
(public member function of std::basic_ios) [edit]
Formatting
copies formatting information
(public member function of std::basic_ios) [edit]
manages the fill character
(public member function of std::basic_ios) [edit]
Miscellaneous
manages exception mask
(public member function of std::basic_ios) [edit]
sets the locale
(public member function of std::basic_ios) [edit]
manages associated stream buffer
(public member function of std::basic_ios) [edit]
manages tied stream
(public member function of std::basic_ios) [edit]
narrows characters
(public member function of std::basic_ios) [edit]
widens characters
(public member function of std::basic_ios) [edit]

Inherited from std::ios_base

Member functions

Formatting
manages format flags
(public member function of std::ios_base) [edit]
sets specific format flag
(public member function of std::ios_base) [edit]
clears specific format flag
(public member function of std::ios_base) [edit]
manages decimal precision of floating point operations
(public member function of std::ios_base) [edit]
manages field width
(public member function of std::ios_base) [edit]
Locales
sets locale
(public member function of std::ios_base) [edit]
returns current locale
(public member function of std::ios_base) [edit]
Internal extensible array
[static]
returns a program-wide unique integer that is safe to use as index to pword() and iword()
(public static member function of std::ios_base) [edit]
resizes the private storage if necessary and access to the long element at the given index
(public member function of std::ios_base) [edit]
resizes the private storage if necessary and access to the void* element at the given index
(public member function of std::ios_base) [edit]
Miscellaneous
registers event callback function
(public member function of std::ios_base) [edit]
sets whether C++ and C IO libraries are interoperable
(public static member function of std::ios_base) [edit]
Member classes
stream exception
(public member class of std::ios_base) [edit]
initializes standard stream objects
(public member class of std::ios_base) [edit]

Member types and constants

Type Explanation
stream open mode type

The following constants are also defined:

Constant Explanation[edit]
app seek to the end of stream before each write[edit]
binary open in binary mode[edit]
in open for reading[edit]
out open for writing[edit]
trunc discard the contents of the stream when opening[edit]
ate seek to the end of stream immediately after open[edit]

(typedef) [edit]
formatting flags type

The following constants are also defined:

Constant Explanation[edit]
dec use decimal base for integer I/O[edit]
oct use octal base for integer I/O[edit]
hex use hexadecimal base for integer I/O[edit]
basefield dec|oct|hex|0. Useful for masking operations[edit]
left left adjustment (adds fill characters to the right) [edit]
right right adjustment (adds fill characters to the left) [edit]
internal internal adjustment (adds fill characters to the internal designated point) [edit]
adjustfield left|right|internal. Useful for masking operations [edit]
scientific generate floating point types using scientific notation, or hex notation if combined with fixed [edit]
fixed generate floating point types using fixed notation, or hex notation if combined with scientific [edit]
floatfield scientific|fixed|(scientific|fixed)|0. Useful for masking operations [edit]
boolalpha insert and extract bool type in alphanumeric format [edit]
showbase generate a prefix indicating the numeric base for integer output, require the currency indicator in monetary I/O [edit]
showpoint generate a decimal-point character unconditionally for floating-point number output [edit]
showpos generate a + character for non-negative numeric output [edit]
skipws skip leading whitespace before certain input operations [edit]
unitbuf flush the output after each output operation [edit]
uppercase replace certain lowercase letters with their uppercase
equivalents in certain output output operations [edit]

(typedef) [edit]
state of the stream type

The following constants are also defined:

Constant Explanation[edit]
goodbit no error [edit]
badbit irrecoverable stream error [edit]
failbit input/output operation failed (formatting or extraction error) [edit]
eofbit associated input sequence has reached end-of-file [edit]

(typedef) [edit]
seeking direction type

The following constants are also defined:

Constant Explanation[edit]
beg the beginning of a stream [edit]
end the ending of a stream [edit]
cur the current position of stream position indicator [edit]

(typedef) [edit]
specifies event type
(enum) [edit]
callback function type
(typedef) [edit]