##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

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

From cppreference.com
< cpp‎ | numeric‎ | random‎ | subtract with carry engine

[edit template]

template< class CharT, class Traits, class UIntType, size_t w, size_t s, size_t r > std::basic_ostream<CharT,Traits>& operator<<( std::basic_ostream<CharT,Traits>& ost, const std::subtract_with_carry_engine<UIntType,w,s,r>& e ); | (1) | (since C++11)
template< class CharT, class Traits, class UIntType, size_t w, size_t s, size_t r > std::basic_istream<CharT,Traits>& operator>>( std::basic_istream<CharT,Traits>& ist, std::subtract_with_carry_engine<UIntType,w,s,r>& 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.

### [edit] Parameters

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

### [edit] Return value

1) `ost`
2) `ist`

### [edit] Complexity

| This section is incomplete

### [edit] Exceptions

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

- Todo without reason