34 #ifndef _GLIBCXX_EXPERIMENTAL_ITERATOR
35 #define _GLIBCXX_EXPERIMENTAL_ITERATOR 1
37 #ifdef _GLIBCXX_SYSHDR
38 #pragma GCC system_header
43 #if __cplusplus >= 201402L
49 namespace std _GLIBCXX_VISIBILITY(default)
51 _GLIBCXX_BEGIN_NAMESPACE_VERSION
53 namespace experimental
55 inline namespace fundamentals_v2
57 #define __cpp_lib_experimental_ostream_joiner 201411
60 template<
typename _DelimT,
typename _CharT = char,
61 typename _Traits = char_traits<_CharT>>
65 typedef _CharT char_type;
66 typedef _Traits traits_type;
69 typedef void value_type;
70 typedef void difference_type;
72 typedef void reference;
75 noexcept(is_nothrow_copy_constructible_v<_DelimT>)
80 noexcept(is_nothrow_move_constructible_v<_DelimT>)
84 template<
typename _Tp>
86 operator=(
const _Tp& __value)
102 bool _M_first =
true;
106 template<
typename _CharT,
typename _Traits,
typename _DelimT>
109 _DelimT&& __delimiter)
110 {
return { __os, std::forward<_DelimT>(__delimiter) }; }
114 _GLIBCXX_END_NAMESPACE_VERSION
117 #endif // __cplusplus <= 201103L
119 #endif // _GLIBCXX_EXPERIMENTAL_ITERATOR