##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::experimental::ostream_joiner::operator=

From cppreference.com
< cpp‎ | experimental‎ | ostream joiner

template<class T> ostream_joiner& operator=(const T& value); | (1) | (library fundamentals TS v2)
ostream_joiner& operator=(const ostream_joiner& other) = default; | (2) | (library fundamentals TS v2) (implicitly declared)
ostream_joiner& operator=(ostream_joiner&& other) = default; | (3) | (library fundamentals TS v2) (implicitly declared)

1) First, if the private "first element" flag is `false`, insert the delimiter `delim` into the output stream `os` associated with this iterator as if by os << delim;.

Then, unconditionally sets the "first element" flag to `false`, and insert `value` into the output stream as if by os << value;.

Let `out_stream`, `delim`, and `first_element` denote the private stream pointer, delimiter, and "first element" flag members respectively, then this function is equivalent to

    if (!first_element)
        *out_stream << delim;
    first_element = false;
    *out_stream << value;
    return *this;

2-3) Implicitly declared copy/move assignment operator that copy/move assigns the private stream pointer, delimiter, and "first element" flag members.

### [edit] Parameters

value | - | the object to to be written to the stream
other | - | the `ostream_joiner` object to be assigned to this object

### [edit] Return value

*this.

### [edit] Example

| This section is incomplete Reason: no example

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/experimental/ostream_joiner/operator%3D&oldid=79464"
Category:

- Todo no example