Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

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

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

Synopsis
	  typedef /*implementation defined*/ iostate;
	  static constexpr iostate goodbit = 0;
	  static constexpr iostate badbit  = /*	implementation defined */

	  static constexpr iostate failbit = /*	implementation defined */

	  static constexpr iostate eofbit  = /*	implementation defined */

	  Specifies  stream  state  flags.  It is a BitmaskType, the following
       constants are
	  defined:

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

The eofbit
	  The eofbit is	set by the following standard library functions:

	    * The string input function	std::getline if	it completes by	reach-
       ing the end of
	      the stream, as opposed to	 reaching  the	specified  terminating
       character.
	    *  The numeric input overloads of basic_istream::operator>>	if the
       end of the
	      stream was encountered while  reading  the  next	character,  on
       Stage 2 of
	      num_get::get processing. Depending on the	parsing	state, failbit
       may or may not
	      be  set  at  the	same  time:  for example, int n; istringstream
       buf("1"); buf >>	n;
	      sets eofbit, but not failbit: the	 integer  1  was  successfully
       parsed and stored
	      in n. On the other hand, bool b; istringstream buf("tr");	buf >>
       boolalpha >> b;
	      sets both	eofbit and failbit: there was not enough characters to
       complete	the
	      parsing of the boolean true.
	    *	The   character	 extraction  overloads	of  operator>>std::ba-
       sic_istream, if the end
	      of the stream is reached before the limit	(if any) on the	number
       of characters
	      to be extracted.
	    * The std::get_time	I/O manipulator	and any	of  the	 std::time_get
       parsing
	      functions:	   time_get::get,	   time_get::get_time,
       time_get::get_date, etc., if the
	      end of the stream	is reached before the last character needed to
       parse the
	      expected date/time value was processed.
	    * The std::get_money I/O manipulator and money_get::get  function,
       if the end of
	      the  stream is reached before the	last character needed to parse
       the expected
	      monetary value was processed.
	    * The basic_istream::sentry	constructor, executed at the beginning
       of every
	      formatted	input function:	unless the skipws bit is  unset	 (e.g.
       by issuing
	      std::noskipws), sentry reads and discards	the leading whitespace
       characters. If
	      the  end	of  the	input stream is	reached	during this operation,
       both eofbit and
	      failbit are set, and no input takes place.
	    * The I/O manipulator std::ws, if it reaches the end of the	stream
       while consuming
	      whitespace (but, unlike the formatted input sentry, it does  not
       set failbit in
	      this case).
	    *	The   unformatted  input  functions  basic_istream::read,  ba-
       sic_istream::get,
	      basic_istream::peek, basic_istream::readsome, basic_istream::ig-
       nore, and
	      basic_istream::getline, when reaching the	end of the stream.
	    * The discard input	function basic_istream::ignore,	when  reaching
       the end of the
	      stream before reaching the specified delimiter character.
	    * The immediate input function basic_istream::readsome, if
	      basic_streambuf::in_avail	returns	-1.

	  The following	functions clear	eofbit as a side-effect:

	    * basic_istream::putback
	    * basic_istream::unget
	    * basic_istream::seekg

	  Note that in nearly all situations, if eofbit	is set,	the failbit is
       set as well.

The failbit
	  The failbit is set by	the following standard library functions:

	    * The basic_istream::sentry	constructor, executed at the beginning
       of every	input
	      function,	 if  either  eofbit  or	 badbit	 is already set	on the
       stream, or if the end
	      of stream	is encountered while consuming leading whitespace.
	    * The basic_ostream::sentry	constructor, executed at the beginning
       of every	output
	      function,	under implementation-defined conditions.
	    * operator>>(std::basic_string<>)  if  the	function  extracts  no
       characters from the
	      input stream.
	    *  operator>>(std::complex<>)  if  the function fails to extract a
       valid complex
	      number.
	    * The character array and single character overloads of operator>>
       if they fail to
	      extract any characters.
	    * The  streambuf  overload	of  basic_istream::operator>>  if  the
       streambuf argument is
	      a	 null  pointer	or  if	no  characters	were inserted into the
       streambuf.
	    * The streambuf overload of	basic_ostream::operator<< if the func-
       tion inserts no
	      characters.
	    * operator>>(std::bitset<>)	if the function	extracts no characters
       from the	input
	      stream.
	    * std::getline if the function extracts no	characters  or	if  it
       manages to extract
	      basic_string::max_size characters	from the input stream.
	    *  The  numeric,  pointer,	and  boolean  input  overloads	of ba-
       sic_istream::operator>>
	      (technically, the	overloads of num_get::get they call),  if  the
       input cannot be
	      parsed  as  a valid value	or if the value	parsed does not	fit in
       the destination
	      type.
	    *  The  time   input   manipulator	 std::get_time	 (technically,
       time_get::get it	calls),
	      if  the input cannot be unambiguously parsed as a	time value ac-
       cording to the
	      given format string.
	    * The  currency  input  manipulator	 std::get_money	 (technically,
       money_get::get it
	      calls),  if  the input cannot be unambiguously parsed as a mone-
       tary value
	      according	to the locale rules.
	    * The extraction operators of all RandomNumberEngines, if bad  in-
       put is
	      encountered.
	    *  The  extraction	operators of all RandomNumberDistributions, if
       bad input is
	      encountered.
	    * The unformatted input functions basic_istream::get if they fails
       to extract any
	      characters.
	    * basic_istream::getline, if it  extracts  no  characters,	if  it
       fills in	the
	      provided	buffer	without	 encountering the delimiter, or	if the
       provided	buffer
	      size is less than	1.
	    * basic_istream::read, if the end-of-file condition	occurs on  the
       input stream
	      before all requested characters could be extracted.
	    * basic_istream::seekg on failure
	    * basic_ostream::tellp on failure
	    * The constructors of std::basic_fstream, std::basic_ifstream, and
	      std::basic_ofstream  that	takes a	filename argument, if the file
       cannot be
	      opened.
	    *	basic_fstream::open,   basic_ifstream::open,   and   basic_of-
       stream::open if the file
	      cannot be	opened.
	    *	basic_fstream::close,	basic_ifstream::close,	and  basic_of-
       stream::close if	the
	      file cannot be closed.

The badbit
	  The badbit is	set by the following standard library functions:

	    * basic_ostream::put if it fails to	insert a  character  into  the
       output stream, for
	      any reason.
	    *  basic_ostream::write if it fails	to insert a character into the
       output stream,
	      for any reason.
	    *  Formatted  output  functions  operator<<,  std::put_money,  and
       std::put_time, if
	      they  encounter  the  end	of the output stream before completing
       output.
	    * basic_ios::init when called to initialize	a stream with  a  null
       pointer for
	      rdbuf().
	    * basic_istream::putback and basic_istream::unget when called on a
       stream with a
	      null rdbuf().
	    *  basic_ostream::operator<<(basic_streambuf*) when	a null pointer
       is passed as the
	      argument.
	    *	basic_istream::putback	 and   basic_istream::unget   if   rd-
       buf()->sputbackc() or
	      rdbuf()->sungetc() return	traits::eof().
	    *  basic_istream::sync,  basic_ostream::flush,  and	 every	output
       function	on a
	      unitbuf output stream, if	rdbuf()->pubsync() returns -1.
	    * Every stream I/O function	if an exception	is thrown by any  mem-
       ber function of
	      the  associated stream buffer (e.g. sbumpc(), xsputn(), sgetc(),
       overflow(),
	      etc).
	    * ios_base::iword and ios_base::pword on failure (e.g. failure  to
       allocate
	      memory).

Example
	   This	section	is incomplete
	   Reason: no example

See also
	  The  following table shows the value of basic_ios accessors (good(),
       fail(), etc.)
	  for all possible combinations	of ios_base::iostate flags:

	       ios_base::iostate flags basic_ios accessors
	       eofbit  failbit	badbit good() fail() bad() eof() operator bool
       operator!
	       false	false	  false	  true	  false	  false	  false	  true
       false
	       false	 false	   true	   false   true	   true	  false	 false
       true
	       false	true	  false	  false	  true	  false	 false	 false
       true
	       false	 true	   true	   false   true	   true	  false	 false
       true
	       true	false	  false	  false	  false	  false	  true	  true
       false
	       true	 false	   true	   false   true	   true	  true	 false
       true
	       true	true	  false	  false	  true	  false	 true	 false
       true
	       true	 true	   true	   false   true	   true	  true	 false
       true

	  rdstate  returns state flags
		   (public member function of std::basic_ios<CharT,Traits>)
	  setstate sets	state flags
		   (public member function of std::basic_ios<CharT,Traits>)
	  clear	   modifies state flags
		   (public member function of std::basic_ios<CharT,Traits>)

Category:
	    * Todo no example

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

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::ios_base::iostate&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help