33 #ifndef _GLIBCXX_EXPERIMENTAL_ITERATOR
34 #define _GLIBCXX_EXPERIMENTAL_ITERATOR 1
36 #pragma GCC system_header
38 #if __cplusplus <= 201103L
46 namespace std _GLIBCXX_VISIBILITY(default)
48 namespace experimental
50 inline namespace fundamentals_v2
52 _GLIBCXX_BEGIN_NAMESPACE_VERSION
54 #define __cpp_lib_experimental_ostream_joiner 201411
57 template<
typename _DelimT,
typename _CharT = char,
58 typename _Traits = char_traits<_CharT>>
62 typedef _CharT char_type;
63 typedef _Traits traits_type;
66 typedef void value_type;
67 typedef void difference_type;
69 typedef void reference;
72 noexcept(is_nothrow_copy_constructible_v<_DelimT>)
77 noexcept(is_nothrow_move_constructible_v<_DelimT>)
81 template<
typename _Tp>
83 operator=(
const _Tp& __value)
103 template<
typename _CharT,
typename _Traits,
typename _DelimT>
106 _DelimT&& __delimiter)
107 {
return { __os, std::forward<_DelimT>(__delimiter) }; }
109 _GLIBCXX_END_NAMESPACE_VERSION
114 #endif // __cplusplus <= 201103L
116 #endif // _GLIBCXX_EXPERIMENTAL_ITERATOR
Output iterator that inserts a delimiter between elements.
Template class basic_ostream.
constexpr _Tp * __addressof(_Tp &__r) noexcept
Same as C++11 std::addressof.
Marking output iterators.