命名空间
变体
操作

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

来自 cppreference.cn
 
 
 
 
 
template< class CharT, class Traits >

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

                discard_block_engine<>& e );
(1) (since C++11)
template< class CharT, class Traits >

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

                discard_block_engine& e );
(2) (since C++11)
1) 将伪随机数引擎适配器的内部状态序列化为由一个或多个空格分隔的十进制数字序列,并将其插入到流 ost 中。流的填充字符和格式化标志将被忽略且不受影响。
2) 从序列化表示中恢复伪随机数引擎适配器 e 的内部状态,该序列化表示是通过先前调用 operator<< 并使用具有相同内嵌区域设置以及相同 CharTTraits 的流创建的。如果输入无法反序列化,则 e 保持不变,并且在 ist 上引发 failbit

这些函数模板对于普通的非限定限定查找不可见,并且只有当 std::discard_block_engine<Engine, p, r> 是参数的关联类时,才能通过实参依赖查找找到。

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

目录

[编辑] 参数

ost - 输出流,用于将数据插入到其中
ist - 输入流,用于从中提取数据
e - 引擎适配器,用于序列化或恢复

[编辑] 返回值

1) ost
2) ist

[编辑] 复杂度

[编辑] 异常

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

[编辑] 缺陷报告

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

DR 应用于 已发布行为 正确行为
LWG 3519 C++11 插入和提取运算符的形式未指定 指定为隐藏友元