---
name: "std::experimental::ostream_joiner"
section: "3"
platform: "linux"
package: "gcc"
version: "16.2.1+r23+gd564253eb6c8-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/std::experimental::ostream_joiner"
---

# std::experimental::ostream\_joiner(3)

Output iterator that inserts a delimiter between elements.

## NAME

std::experimental::ostream\_joiner\< \_DelimT, \_CharT, \_Traits \> - Output iterator that inserts a delimiter between elements.

## SYNOPSIS

\#include \<iterator\>

### Public Types

typedef \_CharT **char\_type**\
 typedef void **difference\_type**\
 typedef **output\_iterator\_tag** **iterator\_category**\
 typedef **basic\_ostream**\< \_CharT, \_Traits \> **ostream\_type**\
 typedef void **pointer**\
 typedef void **reference**\
 typedef \_Traits **traits\_type**\
 typedef void **value\_type**\

### Public Member Functions

**ostream\_joiner** (ostream\_type &\_\_os, \_DelimT &&\_\_delimiter) noexcept(is\_nothrow\_move\_constructible\_v\< \_DelimT \>)\
 **ostream\_joiner** (ostream\_type &\_\_os, const \_DelimT &\_\_delimiter) noexcept(is\_nothrow\_copy\_constructible\_v\< \_DelimT \>)\
 ostream\_joiner & **operator\*** () noexcept\
 ostream\_joiner & **operator++** () noexcept\
 ostream\_joiner & **operator++** (int) noexcept\
 template\<typename \_Tp\> ostream\_joiner & **operator=** (const \_Tp &\_\_value)\

## Detailed Description

### template\<typename \_DelimT, typename \_CharT = char, typename \_Traits = char\_traits\<\_CharT\>\>

class std::experimental::ostream\_joiner\< \_DelimT, \_CharT, \_Traits \>"Output iterator that inserts a delimiter between elements.

## Author

Generated automatically by Doxygen for libstdc++ from the source code.
