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,则如同用 os << delim; 插入分隔符 delim 到与此迭代器关联的输出流 os 中。
然后,无条件地设置“首元素”标志为 false,然后如同用 os << value; 插入 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.";  // 添加带有分隔符的前缀
}

输出:

First, do no harm.