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

NAME
     std::basic_ios - std::basic_ios

Synopsis
	Defined in header <ios>
	template<

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

	    : public std::ios_base

	The  class  std::basic_ios  provides facilities for interfacing with ob-
     jects that have
	std::basic_streambuf interface. Several std::basic_ios objects can refer
     to one
	actual std::basic_streambuf object.

	std-basic ios-inheritance.svg

					Inheritance diagram

	Several typedefs for common character types are provided:

	Defined in header <ios>
	Type	  Definition
	std::ios  std::basic_ios<char>
	std::wios std::basic_ios<wchar_t>

Member types
	Member type Definition
	char_type   CharT
	traits_type Traits; the program is ill-formed  if  Traits::char_type  is
     not
		    CharT.
	int_type    Traits::int_type
	pos_type    Traits::pos_type
	off_type    Traits::off_type

Public member functions
	constructor   constructs the object
		      (public member function)
	destructor    destructs the object
	[virtual]     (virtual public member function)
	operator=     the copy assignment operator is deleted
		      (public member function)

State functions
	good	       checks  if  no error has occurred i.e. I/O operations are
     available
		      (public member function)
	eof	      checks if end-of-file has been reached
		      (public member function)
	fail	      checks if an error has occurred
		      (public member function)
	bad	      checks if a non-recoverable error has occurred
		      (public member function)
	operator!     checks if an error has occurred (synonym of fail())
		      (public member function)
	operator bool checks if no error has occurred (synonym of !fail())
		      (public member function)
	rdstate       returns state flags
		      (public member function)
	setstate      sets state flags
		      (public member function)
	clear	      modifies state flags
		      (public member function)

Formatting
	copyfmt       copies formatting information
		      (public member function)
	fill	      manages the fill character
		      (public member function)

Miscellaneous
	exceptions    manages exception mask
		      (public member function)
	imbue	      sets the locale
		      (public member function)
	rdbuf	      manages associated stream buffer
		      (public member function)
	tie	      manages tied stream
		      (public member function)
	narrow	      narrows characters
		      (public member function)
	widen	      widens characters
		      (public member function)

Protected member functions
	init	  initializes a default-constructed std::basic_ios
		  (protected member function)
	move	  moves from another std::basic_ios except for rdbuf
	(C++11)   (protected member function)
	swap	  swaps with another std::basic_ios except for rdbuf
	(C++11)   (protected member function)
	set_rdbuf replaces the rdbuf without clearing its error state
		  (protected member function)

     Inherited from std::ios_base

Member functions
Formatting
	flags		  manages format flags
			  (public member function of std::ios_base)
	setf		  sets specific format flag
			  (public member function of std::ios_base)
	unsetf		  clears specific format flag
			  (public member function of std::ios_base)
	precision	  manages decimal precision of floating point operations
			  (public member function of std::ios_base)
	width		  manages field width
			  (public member function of std::ios_base)

Locales
	imbue		  sets locale
			  (public member function of std::ios_base)
	getloc		  returns current locale
			  (public member function of std::ios_base)

Internal extensible array
	xalloc		  returns a program-wide unique integer that is safe  to
     use as index
	[static]	  to pword() and iword()
			  (public static member function of std::ios_base)
			  resizes the private storage if necessary and access to
     the long
	iword		  element at the given index
			  (public member function of std::ios_base)
			  resizes the private storage if necessary and access to
     the void*
	pword		  element at the given index
			  (public member function of std::ios_base)

Miscellaneous
	register_callback registers event callback function
			  (public member function of std::ios_base)
	sync_with_stdio   sets whether C++ and C I/O libraries are interoperable
	[static]	  (public static member function of std::ios_base)

Member classes
	failure 	  stream exception
			  (public member class of std::ios_base)
	Init		  initializes standard stream objects
			  (public member class of std::ios_base)

Member types and constants
	Type	       Explanation
		       stream open mode type

		       The following constants are also defined:

		       Constant 	 Explanation
		       app		  seek	to the end of stream before each
     write
		       binary		 open in binary mode
	openmode       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
     after
					 open
		       noreplace (C++23) open in exclusive mode

		       (typedef)
		       formatting flags type

		       The following constants are also defined:

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

		       (typedef)
		       state of the stream type

		       The following constants are also defined:

		       Constant Explanation
	iostate        goodbit	no error
		       badbit	irrecoverable stream error
		       failbit	input/output operation failed (formatting or ex-
     traction
				error)
		       eofbit	associated input sequence  has	reached  end-of-
     file

		       (typedef)
		       seeking direction type

		       The following constants are also defined:

	seekdir        Constant Explanation
		       beg	the beginning of a stream
		       end	the ending of a stream
		       cur	 the current position of stream position indica-
     tor

		       (typedef)
	event	       specifies event type
		       (enum)
	event_callback callback function type
		       (typedef)

Notes
	Straightforward implementation of std::basic_ios stores only the follow-
     ing members
	(which all depend on the template parameters and thus cannot be part of
	std::ios_base):

	  * the fill character (see fill())
	  * the tied stream pointer (see tie())
	  * the associated stream buffer pointer (see rdbuf()).

	Actual implementations vary:

	Microsoft Visual Studio stores just those three members.

	LLVM libc++ stores 1 less member: it maintains the rdbuf  pointer  as  a
     void* member
	of ios_base.

	GNU  libstdc++	stores	4  additional members: three cached facets and a
     flag to
	indicate that fill was initialized.

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

home | help