I am overloading the input stream operator for use with a Time class and would like to manually set the failbit of the input stream if the input doesn\'t match my expected time
Yes, you can set it with ios::setstate, like so:
ios::setstate
#include #include int main() { std::cout << "Hi\n"; std::cout.setstate(std::ios::failbit); std::cout << "Fail!\n"; }
The second output will not be produced because cout is in the failed state.
cout
(An exception seems cleaner to me, but YMMV)