Namespaces
Variants
Actions

operator<<,>>(std::philox_engine)

From cppreference.com
< cpp‎ | numeric‎ | random‎ | philox engine
 
 
Numerics library
 
Pseudo-random number generation
 
 
template< class CharT, class Traits >

friend std::basic_ostream <CharT, Traits>&
    operator<<( std::basic_ostream <CharT, Traits>& os,

                const philox_engine& e );
(1) (since C++26)
template< class CharT, class Traits >

friend std::basic_istream <CharT, Traits>&
    operator>>( std::basic_istream <CharT, Traits>& is,

                philox_engine& e );
(2) (since C++26)
1) Writes the textual representation of the current state of e to os with fmtflags set to std::ios_base::dec | std::ios_base::left and the fill character set to the space character.
After writing, os's original fmtflags and fill character are restored.
2) Reads a textual representation of engine state from is (denoted as text) with fmtflags set to std::ios_base::dec , and sets the state of e to that state.
After reading, is's original fmtflags is restored.
  • If text was not previously written using an output stream pr, the behavior is undefined.
  • Otherwise, if any of the following values is false, the behavior is undefined:
  • is.getloc() == pr.getloc()
  • std::is_same <decltype(is)::char_type,
                 decltype(pr)::char_type>::value
  • std::is_same <decltype(is)::traits_type,
                 decltype(pr)::traits_type>::value
  • Otherwise, if text is not a valid textual representation of any state of decltype(e), the state of e is unchanged and is.setstate(std::ios_base::failbit ) is called.
  • Otherwise, given another engine eng of the same type as e. If text was previously written by pr << eng and there is no intervening invocations of e or of eng between pr << eng and is >> e, e == eng is true.

These function templates are not visible to ordinary unqualified or qualified lookup, and can only be found by argument-dependent lookup when decltype(e) is an associated class of the arguments.

[edit] Parameters

os - output stream to insert the data to
is - input stream to extract the data from
e - pseudo-random number engine

[edit] Return value

1) os
2) is

[edit] Complexity

1,2) \(\scriptsize O(n) \)O(n).

[edit] Exceptions

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/numeric/random/philox_engine/operator_ltltgtgt&oldid=175503"

AltStyle によって変換されたページ (->オリジナル) /