function template
<random>
std::operator>>
template <class charT, class traits, class Engine, size_t k>
basic_istream<charT,traits>& operator>> ( basic_istream<charT,traits>& is,
shuffle_order_engine<Engine,k>& soe );
Extract from input stream
Restores into soe the state whose textual representation is provided by is.
soe will generate the same sequence of random numbers as if equivalent invocations of operator() were performed on the object of the same type from which the provided text was obtained.
If is's fmtflags is not set to dec, the behavior of this function is undefined.
Return Value
The same as parameter is.
A call to this function may set any of the internal state flags of is if:
flag | error |
eofbit | The end of the source of characters is reached during its operations. |
failbit | The input obtained could not be interpreted as a valid textual representation of an object of this type.
In this case, soe preserves the parameters and internal data it had before the call.
Notice that some eofbit cases will also set failbit. |
badbit | An error other than the above happened. |
(see ios_base::iostate for more info on these)
Additionally, in any of these cases, if the appropriate flag has been set with is's member function ios::exceptions, an exception of type ios_base::failure is thrown.
Complexity
Linear on the state size.
See also
- operator<<
- Insert into output stream (function template
)