命名空间
变体
操作

std::experimental::ostream_joiner<DelimT,CharT,Traits>::operator=

来自 cppreference.com
template< class T >
ostream_joiner& operator=( const T& value );
(1) (库基础 TS v2)
ostream_joiner& operator=( const ostream_joiner& other ) = default;
(2) (库基础 TS v2)
(隐式声明)
ostream_joiner& operator=( ostream_joiner&& other ) = default;
(3) (库基础 TS v2)
(隐式声明)
1) 首先,如果私有“第一个元素”标志为 false,则将分隔符 delim 插入到与该迭代器关联的输出流 os 中,就好像通过 os << delim; 一样。
然后,无条件地将“第一个元素”标志设置为 false,并将 value 插入到输出流中,就好像通过 os << value; 一样。
假设 out_streamdelimfirst_element 分别表示私有流指针、分隔符和“第一个元素”标志成员。 那么此函数等效于
if (!first_element)
    *out_stream << delim;
first_element = false;
*out_stream << value;
return *this;
2,3) 隐式声明的复制/移动赋值运算符,它复制/移动赋值私有流指针、分隔符和“第一个元素”标志成员。

[编辑] 参数

value - 要写入流的对象
other - 要分配给此对象的 ostream_joiner 对象

[编辑] 返回值

*this.

[编辑] 示例

#include <experimental/iterator>
#include <iostream>
 
int main()
{
    auto joiner = std::experimental::make_ostream_joiner(std::cout, ", ");
    joiner = "First";
    joiner = "do no harm.";  // prefixes with the delimiter
}

输出

First, do no harm.