function template


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.


istream object with its fmtflags set to dec.
The textual representation provided by is shall have been obtained by a previous call to operator<< on an ostream object of the same type with the same locale imbued.
The shuffle_order_engine object whose state is changed.

Return Value

The same as parameter is.

A call to this function may set any of the internal state flags of is if:

eofbitThe end of the source of characters is reached during its operations.
failbitThe 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.
badbitAn 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.


Linear on the state size.

See also