GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::basic_istream::basic_istream(3) C++ Standard Libary std::basic_istream::basic_istream(3)

std::basic_istream::basic_istream - std::basic_istream::basic_istream


explicit basic_istream( std::basic_streambuf<CharT, Traits>* sb); (1)
protected: (2) (since C++11)
basic_istream( const basic_istream& rhs ) = delete;
protected: (3) (since C++11)
basic_istream( basic_istream&& rhs );


1) Constructs the basic_istream object, assigning initial values to the base class
by calling basic_ios::init(sb). The value of gcount() is initialized to zero.


2) The copy constructor is protected, and is deleted. Input streams are not
copyable.


3) The move constructor copies the value of gcount() from rhs, sets the gcount()
value of rhs to zero, and uses basic_ios<CharT, Traits>::move(rhs) to move all
basic_ios members, except for the rdbuf(), from rhs into *this. This move
constructor is protected: it is called by the move constructors of movable input
stream classes std::basic_ifstream and std::basic_istringstream, which know how to
correctly move the associated stream buffer.


sb - streambuffer to use as underlying device

// Run this code


#include <sstream>
#include <iostream>


int main()
{
std::istringstream s1("hello");
std::istream s2(s1.rdbuf()); // OK: s2 shares the buffer with s1


// std::istream s3(std::istringstream("test")); // ERROR: move constructor is protected
// std::istream s4(s2); // ERROR: copy constructor is deleted
std::istringstream s5(std::istringstream("world")); // OK: move ctor called by derived class


std::cout << s2.rdbuf() << ' ' << s5.rdbuf() << '\n';
}


hello world

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.