FreeBSD Manual Pages
std::basic_...stringstream(3) C++ Standard Libarystd::basic_...stringstream(3) NAME std::basic_ostringstream::basic_ostringstream - std::basic_os- tringstream::basic_ostringstream Synopsis explicit basic_ostringstream( std::ios_base::openmode mode = (until C++11) std::ios_base::out ); explicit basic_ostringstream( std::ios_base::openmode mode ); (since C++11) basic_ostringstream() (2) (since C++11) : basic_ostringstream(std::ios_base::out) {} explicit basic_ostringstream ( const std::basic_string<CharT, Traits, Allocator>& str, (3) std::ios_base::openmode mode = std::ios_base::out ); explicit basic_ostringstream ( std::basic_string<CharT, Traits, Allocator>&& str, (4) (since C++20) std::ios_base::openmode mode = std::ios_base::out ); basic_ostringstream( std::ios_base::openmode mode, const (5) (since C++20) Allocator& a ); template< class SAlloc > basic_ostringstream( const std::basic_string<CharT, Traits, SAlloc>& str, (6) (since C++20) std::ios_base::openmode mode, const Allocator& a ); template< class SAlloc > basic_ostringstream( const std::basic_string<CharT, Traits, (1) SAlloc>& str, (7) (since C++20) const Allocator& a ) : basic_ostringstream(str, std::ios_base::out, a) {} template< class SAlloc > explicit basic_ostringstream ( const std::basic_string<CharT, Traits, SAlloc>& str, (8) (since C++20) std::ios_base::openmode mode = std::ios_base::out ); template< class StringViewLike > explicit basic_ostringstream ( const StringViewLike& t, (9) (since C++26) std::ios_base::openmode mode = std::ios_base::out ); template< class StringViewLike > basic_ostringstream( const StringViewLike& t, (10) (since C++26) std::ios_base::openmode mode, const Allocator& a ); template< class StringViewLike > basic_ostringstream( const StringViewLike& t, const (11) (since C++26) Allocator& a ); basic_ostringstream( basic_ostringstream&& other ); (12) (since C++11) Constructs new string stream. Given * base_type as std::basic_ostream<CharT, Traits>, and * buf_type as std::basic_stringbuf<CharT, Traits, Allocator>, the std::basic_ostream base and the exposition-only data member sb are initialized as follows. Over std::basic_ostream base sb load (1) buf_type(mode | std::ios_base::out) (2) buf_type(std::ios_base::out) (3) buf_type(str, mode | std::ios_base::out) (4) buf_type(std::move(str), mode | std::ios_base::out) (5) base_type(std::addressof(sb))^[1] buf_type(mode | std::ios_base::out, a) (6) buf_type(str, mode | std::ios_base::out, a) (7) buf_type(str, std::ios_base::out, a) (8) buf_type(str, mode | std::ios_base::out) (9) {t, mode | std::ios_base::out, std::addressof(sb) Allocator()} (10) {t, mode | std::ios_base::out, a} (11) {t, std::ios_base::out, a} (12) move constructed from other's move constructed from other.sb std::basic_ostream base 1. The std::basic_iostream base was intialized with base_type(&sb) (for overloads (1,3)) until C++11. 8) This overload participates in overload resolution only if std::is_same_v<SAlloc, Allocator> is false. 9-11) These overloads participate in overload resolution only if std::is_convertible_v<const StringViewLike&, std::ba- sic_string_view<CharT, Traits>> is true. Parameters str - string to use as initial contents of the string stream t - an object (convertible to std::basic_string_view) to use as initial contents of the string stream a - allocator used for allocating the contents of the string stream specifies stream open mode. It is a BitmaskType, the follow- ing constants are defined: Constant Explanation app seek to the end of stream before each write mode - binary open in binary mode in open for reading out open for writing trunc discard the contents of the stream when opening ate seek to the end of stream immediately af- ter open noreplace (C++23) open in exclusive mode other - another string stream to use as source Notes Construction of one-off basic_ostringstream objects in a tight loop, such as when used for string conversion, may be significantly more costly than calling str() to reuse the same object. Feature-test macro Value Std Fea- ture __cpp_lib_sstream_from_string_view 202306L (C++26) Interfacing std::stringstreams with std::string_view, (9-11) Example // Run this code #include <iostream> #include <sstream> int main() { // default constructor (input/output stream) std::stringstream buf1; buf1 << 7; int n = 0; buf1 >> n; std::cout << "buf1 = " << buf1.str() << " n = " << n << '\n'; // input stream std::istringstream inbuf("-10"); inbuf >> n; std::cout << "n = " << n << '\n'; // output stream in append mode (C++11) std::ostringstream buf2("test", std::ios_base::ate); buf2 << '1'; std::cout << buf2.str() << '\n'; } Output: buf1 = 7 n = 7 n = -10 test1 Defect reports The following behavior-changing defect reports were applied retroac- tively to previously published C++ standards. DR Applied to Behavior as published Correct be- havior P0935R0 C++11 the default constructor was explicit made im- plicit See also str gets or sets the contents of underlying string device object (public member function) constructs a basic_stringbuf object constructor (public member function of std::basic_stringbuf<CharT,Traits,Allocator>) http://cppreference.com 2024.06.10 std::basic_...stringstream(3)
NAME | Synopsis | Parameters | Notes | Example | Output: | See also
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::ostringstream::basic_ostringstream&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>
