C++ named requirements: UnformattedInputFunction - cppreference.com (original) (raw)

[edit] Requirements

An UnformattedInputFunction is a stream input function that performs the following:

  1. Constructs an object of type

basic_istream::sentry

with automatic storage duration and with the noskipws argument set to true, which performs the following:

  1. Checks the status of the sentry by calling sentry::operator bool(), which is equivalent to

basic_ios::good

.

  1. In any event, whether terminating by exception or returning, the sentry's destructor is called before leaving this function.

[edit] Standard library

The following standard library functions are UnformattedInputFunctions.

[edit] Defect reports

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

DR Applied to Behavior as published Correct behavior
LWG 61 C++98 it was unclear whether throwing an exception because ofsetting eofbit and/or failbit will result in setting badbit exceptions thrown from basic_ios::clearare not caught or rethrown
LWG 160 C++98 the process of determining whether the exception caughtis rethrown mentioned a non-existing function exception() corrected to exceptions()
LWG 243 C++98 the behavior when sentry::operator bool() returns falseor the sentry object fails to be constructed was not specified specified