Namespaces
Variants
Views
Actions

std::experimental::make_ostream_joiner

From cppreference.com
 
 
Technical specifications
Filesystem library (filesystem TS)
Library fundamentals (library fundamentals TS)
Library fundamentals 2 (library fundamentals TS v2)
Library fundamentals 3 (library fundamentals TS v3)
Extensions for parallelism (parallelism TS)
Extensions for parallelism 2 (parallelism TS v2)
Extensions for concurrency (concurrency TS)
Concepts (concepts TS)
Ranges (ranges TS)
Mathematical special functions (special functions TR)
 
 
 
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.

[edit] Parameters

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

[edit] 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)).

[edit] Example

#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