Namespaces
Variants

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

From cppreference.net

template < class CharT, class Traits >

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

shuffle_order_engine <> & e ) ;
(1) (自 C++11 起)
template < class CharT, class Traits >

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

shuffle_order_engine & e ) ;
(2) (自 C++11 起)
1) 将伪随机数引擎适配器的内部状态序列化为以空格分隔的十进制数字序列,并将其插入到流 ost 中。流的填充字符和格式化标志将被忽略且不受影响。
2) 从序列化表示中恢复伪随机数引擎适配器 e 的内部状态,该序列化表示由先前对 operator<< 的调用创建,且使用了具有相同本地化环境和相同 CharT Traits 的流。若输入无法反序列化,则保持 e 不变,并在 ist 上设置 failbit

这些函数模板对普通的 非限定查找 限定查找 不可见,仅当 std::shuffle_order_engine<Engine, k> 作为参数的关联类时,才能通过 实参依赖查找 找到它们。

如果使用 os << x 写入文本表示,并使用 is >> y 将该表示恢复到相同类型的同一对象或不同对象 y 中,则 x == y

目录

参数

ost - 用于插入数据的输出流
ist - 用于提取数据的输入流
e - 用于序列化或恢复的引擎适配器

返回值

1) ost
2) ist

复杂度

异常

1) 可能抛出实现定义的异常。
2) 设置 failbit 时可能抛出 std::ios_base::failure

缺陷报告

以下行为变更缺陷报告被追溯应用于先前发布的C++标准。

缺陷报告 应用于 发布时的行为 正确行为
LWG 3519 C++11 插入和提取运算符的形式未作规定 规定为隐藏友元