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

NAME
     std::ios_base - std::ios_base

Synopsis
	Defined in header <ios>
	class ios_base;

	The class ios_base is a multipurpose class that serves as the base class
     for all I/O
	stream classes. It maintains several kinds of data:

	1) state information: stream status flags.
	2)  control information: flags that control formatting of both input and
     output
	sequences and the imbued locale.
	3) private storage: indexed extensible data structure that  allows  both
     long and
	void*  members,  which may be implemented as two arbitrary-length arrays
     or a single
	array of two-element structs or another container.
	4) callbacks: arbitrary number of user-defined functions  to  be  called
     from imbue(),
	std::basic_ios::copyfmt(), and ~ios_base().

	Typical  implementation holds member constants corresponding to all val-
     ues of
	fmtflags, iostate, openmode, and seekdir shown below,  member  variables
     to maintain
	current  precision, width, and formatting flags, the exception mask, the
     buffer error
	state, a resizeable container holding the callbacks, the  currently  im-
     bued locale,
	the private storage, and a static integer variable for xalloc().

Member functions
	constructor	  constructs the object
			  (protected member function)
	destructor	  destructs the object
	[virtual]	  (virtual public member function)
	operator=	  assigns to the stream
			  (public member function)

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

Locales
	imbue		  sets locale
			  (public member function)
	getloc		  returns current locale
			  (public member function)

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)
			  resizes the private storage if necessary and access to
     the long
	iword		  element at the given index
			  (public member function)
			  resizes the private storage if necessary and access to
     the void*
	pword		  element at the given index
			  (public member function)

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

Member classes
	failure 	  stream exception
			  (public member class)
	Init		  initializes standard stream objects
			  (public member class)

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)

Deprecated member types
	Type		       Explanation
	io_state (deprecated)  integer type that may be used like iostate
	open_mode (deprecated) integer type that may be used like openmode
	seek_dir  (deprecated)	 integer  type	that  may  be  used like seekdir
     (until C++17)
	streamoff (deprecated) unspecified type that may be used like
			       off_type, not necessarily std::streamoff
	streampos (deprecated) unspecified type that may be used like
			       pos_type, not necessarily std::streampos

	Defect reports

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

	   DR	  Applied to		 Behavior as published		    Cor-
     rect behavior
			    std::ios_base defined operator~, operator&
	LWG 1357 C++98	    and operator| for types openmode, fmtflags	and  re-
     moved these
	(N3110) 	    iostate, violating the requirements of	   defi-
     nitions
			    BitmaskType^[1]

	 1.  a A BitmaskType needs to support bitwise opertaions on its own. The
     bitwise
	    operation support should not be provided externally.

See also
	basic_ios manages an arbitrary stream buffer
		  (class template)

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

home | help