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, 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>)

http://cppreference.com		  2022.07.31	     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.0>

home | help