home | help
std::ios_base::ios_base(3)     C++ Standard Libary    std::ios_base::ios_base(3)

NAME
     std::ios_base::ios_base - std::ios_base::ios_base

Synopsis
	private:				      (until C++11)
	ios_base( const ios_base& );
	public: 			      (1)     (since C++11)
	ios_base( const ios_base& ) = delete;
	protected:				  (2)
	ios_base();

	1) The copy constructor is
	private
	(until C++11)
	deleted
	(since C++11): streams are not copyable.
	2)  The  default constructor is protected: only derived classes may con-
     struct
	std::ios_base. The internal state is undefined after  the  construction.
     The derived
	class must call std::basic_ios::init() to complete initialization before
     first use
	or before destructor; otherwise the behavior is undefined.

Notes
	The  same applies to the constructors of the next class in the I/O hier-
     archy,
	std::basic_ios. Further-derived classes (std::istream and  std::ostream)
     are always
	constructed  with  a  concrete	stream	buffer	object and call std::ba-
     sic_ios::init(),
	possibly more than once, to complete  initialization  of  their  virtual
     base.

	Defect reports

	The  following	behavior-changing  defect  reports were applied retroac-
     tively to
	previously published C++ standards.

	   DR	 Applied to	     Behavior as published		 Correct
     behavior
	LWG  50    C++98      the copy constructor was not specified   specified
     as private
			    the behavior of destroying a
	LWG 220  C++98	    std::ios_base			     the  behav-
     ior is
			    object  before  calling its init() was not undefined
     in this case
			    clear
	LWG 1249 C++98	    initialization did not need to be	     also  needs
     to be
			    completed before first use		     completed

http://cppreference.com 	   2024.06.10	      std::ios_base::ios_base(3)

home | help