33 #ifndef _GLIBCXX_EXPERIMENTAL_ITERATOR 34 #define _GLIBCXX_EXPERIMENTAL_ITERATOR 1 36 #pragma GCC system_header 38 #if __cplusplus <= 201103L 47 namespace std _GLIBCXX_VISIBILITY(default)
49 namespace experimental
51 inline namespace fundamentals_v2
53 _GLIBCXX_BEGIN_NAMESPACE_VERSION
55 #define __cpp_lib_experimental_ostream_joiner 201411 58 template<
typename _DelimT,
typename _CharT = char,
59 typename _Traits = char_traits<_CharT>>
63 typedef _CharT char_type;
64 typedef _Traits traits_type;
67 typedef void value_type;
68 typedef void difference_type;
70 typedef void reference;
73 noexcept(is_nothrow_copy_constructible_v<_DelimT>)
78 noexcept(is_nothrow_move_constructible_v<_DelimT>)
82 template<
typename _Tp>
84 operator=(
const _Tp& __value)
100 bool _M_first =
true;
104 template<
typename _CharT,
typename _Traits,
typename _DelimT>
107 _DelimT&& __delimiter)
108 {
return { __os, std::forward<_DelimT>(__delimiter) }; }
110 _GLIBCXX_END_NAMESPACE_VERSION
115 #endif // __cplusplus <= 201103L 117 #endif // _GLIBCXX_EXPERIMENTAL_ITERATOR constexpr _Tp * __addressof(_Tp &__r) noexcept
Same as C++11 std::addressof.
ISO C++ entities toplevel namespace is std.
Template class basic_ostream.
Marking output iterators.
ostream_joiner< decay_t< _DelimT >, _CharT, _Traits > make_ostream_joiner(basic_ostream< _CharT, _Traits > &__os, _DelimT &&__delimiter)
Object generator for ostream_joiner.
Output iterator that inserts a delimiter between elements.