Namespaces
Variants

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

From cppreference.net
template < class T >
ostream_joiner & operator = ( const T & value ) ;
(1) (库基础技术规范 v2)
ostream_joiner & operator = ( const ostream_joiner & other ) = default ;
(2) (库基础技术规范 v2)
(隐式声明)
ostream_joiner & operator = ( ostream_joiner && other ) = default ;
(3) (库基础技术规范 v2)
(隐式声明)
1) 首先,若私有“首元素”标志为 false ,则将分隔符 delim 插入到与此迭代器关联的输出流 os 中,操作方式如同执行 os << delim ;
然后,无条件将“首个元素”标志设置为 false ,并将 value 插入输出流,如同通过 os << value ; 操作。
out_stream delim first_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.