# std::experimental::make_ostream_joiner

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

Defined in header `<experimental/iterator>` |  |
template <class charT, class traits, class DelimT> std::experimental::ostream_joiner<std::decay_t<DelimT>, charT, traits> make_ostream_joiner(std::basic_ostream<charT, traits>& os, DelimT&& delimiter); |  | (library fundamentals TS v2)

Creates an `ostream_joiner` object, deducing the template arguments from the types of the function arguments.

### Parameters

os | - | the `basic_ostream` object that the iterator is to be associated to
delimiter | - | the delimiter

### Return value

A `ostream_joiner` object, created as if by std::experimental::ostream_joiner<std::decay_t<DelimT>, charT, traits>(os, std::forward<DelimT>(delimiter)).

### Example

Run this code

    #include <experimental/iterator>
    #include <iostream>
    #include <vector>

    int main() {
        std::vector<int> x{1, 2, 3, 4};
        std::copy(x.begin(), x.end(),
                  std::experimental::make_ostream_joiner(std::cout, ", "));
    }

Output:

    1, 2, 3, 4

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/experimental/ostream_joiner/make_ostream_joiner&oldid=106515"