# operator<<,>>(std::mersenne_twister_engine)

From cppreference.com
< cpp‎ | numeric‎ | random‎ | mersenne twister engine

template< class CharT, class Traits, class UIntType, size_t w, size_t n, size_t m, size_t r, UIntType a, size_t u, UIntType d, size_t s, UIntType b, size_t t, UIntType c, size_t l, UIntType f > std::basic_ostream<CharT,Traits>& operator<<( std::basic_ostream<CharT,Traits>& ost, const std::mersenne_twister_engine<UIntType,w,n,m,r,a,u,d,s,b,t,c,l,f>& e ); | (1) | (since C++11)
template< class CharT, class Traits, class UIntType, size_t w, size_t n, size_t m, size_t r, UIntType a, size_t u, UIntType d, size_t s, UIntType b, size_t t, UIntType c, size_t l, UIntType f > std::basic_istream<CharT,Traits>& operator>>( std::basic_istream<CharT,Traits>& ist, std::mersenne_twister_engine<UIntType,w,n,m,r,a,u,d,s,b,t,c,l,f>& e ); | (2) | (since C++11)

1) Serializes the internal state of the pseudo-random number engine `e` as a sequence of decimal numbers separated by one or more spaces, and inserts it to the stream `ost`. The fill character and the formatting flags of the stream are ignored and unaffected.
2) Restores the internal state of the pseudo-random number engine `e` from the serialized representation, which was created by an earlier call to `operator<<` using a stream with the same imbued locale and the same `CharT` and `Traits`. If the input cannot be deserialized, `e` is left unchanged and `failbit` is raised on `ist`

If a textual representation is written using os << x and that representation is restored into the same or a different object `y` of the same type using is >> y, then x==y.

The textual representation is written with os.fmtflags set to ios_base::dec|ios_base::left and the fill character set to the space character. The textual representation of the engine's internal state is a set of decimal numbers separated by spaces.

### Parameters

ost | - | output stream to insert the data to
ist | - | input stream to extract the data from
e | - | pseudo-random number engine

### Return value

1) `ost`
2) `ist`

### Complexity

| This section is incomplete

### Exceptions

1) (none)
2) May throw std::ios::failure when setting `failbit`
Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/numeric/random/mersenne_twister_engine/operator_ltltgtgt&oldid=50986"