aboutsummaryrefslogtreecommitdiff
path: root/lib/libcxx/include/__iterator/ostream_iterator.h
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2024-04-26 15:33:29 -0700
committerAndrew Kelley <andrew@ziglang.org>2024-05-08 19:37:29 -0700
commit06ee65af9ed6aa5ee4d1d7f4fab9d7acecf66e76 (patch)
tree1316711b92a43dd5c599e425b8693fa8e1e0c0b7 /lib/libcxx/include/__iterator/ostream_iterator.h
parentbc6ebc6f2597fda1f98842c6f545751fef2a5334 (diff)
downloadzig-06ee65af9ed6aa5ee4d1d7f4fab9d7acecf66e76.tar.gz
zig-06ee65af9ed6aa5ee4d1d7f4fab9d7acecf66e76.zip
libcxx: update to LLVM 18
release/18.x branch, commit 78b99c73ee4b96fe9ce0e294d4632326afb2db42 This adds the flag `-D_LIBCPP_HARDENING_MODE` which is determined based on the Zig optimization mode. This commit also fixes libunwind, libcxx, and libcxxabi to properly report sub compilation errors.
Diffstat (limited to 'lib/libcxx/include/__iterator/ostream_iterator.h')
-rw-r--r--lib/libcxx/include/__iterator/ostream_iterator.h58
1 files changed, 31 insertions, 27 deletions
diff --git a/lib/libcxx/include/__iterator/ostream_iterator.h b/lib/libcxx/include/__iterator/ostream_iterator.h
index 025712bb1c..05697e62d9 100644
--- a/lib/libcxx/include/__iterator/ostream_iterator.h
+++ b/lib/libcxx/include/__iterator/ostream_iterator.h
@@ -11,11 +11,12 @@
#define _LIBCPP___ITERATOR_OSTREAM_ITERATOR_H
#include <__config>
+#include <__fwd/ostream.h>
+#include <__fwd/string.h>
#include <__iterator/iterator.h>
#include <__iterator/iterator_traits.h>
#include <__memory/addressof.h>
#include <cstddef>
-#include <iosfwd> // for forward declarations of char_traits and basic_ostream
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
@@ -30,40 +31,43 @@ class _LIBCPP_TEMPLATE_VIS ostream_iterator
: public iterator<output_iterator_tag, void, void, void, void>
#endif
{
-_LIBCPP_SUPPRESS_DEPRECATED_POP
+ _LIBCPP_SUPPRESS_DEPRECATED_POP
+
public:
- typedef output_iterator_tag iterator_category;
- typedef void value_type;
+ typedef output_iterator_tag iterator_category;
+ typedef void value_type;
#if _LIBCPP_STD_VER >= 20
- typedef ptrdiff_t difference_type;
+ typedef ptrdiff_t difference_type;
#else
- typedef void difference_type;
+ typedef void difference_type;
#endif
- typedef void pointer;
- typedef void reference;
- typedef _CharT char_type;
- typedef _Traits traits_type;
- typedef basic_ostream<_CharT, _Traits> ostream_type;
+ typedef void pointer;
+ typedef void reference;
+ typedef _CharT char_type;
+ typedef _Traits traits_type;
+ typedef basic_ostream<_CharT, _Traits> ostream_type;
private:
- ostream_type* __out_stream_;
- const char_type* __delim_;
+ ostream_type* __out_stream_;
+ const char_type* __delim_;
+
public:
- _LIBCPP_INLINE_VISIBILITY ostream_iterator(ostream_type& __s) _NOEXCEPT
- : __out_stream_(_VSTD::addressof(__s)), __delim_(nullptr) {}
- _LIBCPP_INLINE_VISIBILITY ostream_iterator(ostream_type& __s, const _CharT* __delimiter) _NOEXCEPT
- : __out_stream_(_VSTD::addressof(__s)), __delim_(__delimiter) {}
- _LIBCPP_INLINE_VISIBILITY ostream_iterator& operator=(const _Tp& __value)
- {
- *__out_stream_ << __value;
- if (__delim_)
- *__out_stream_ << __delim_;
- return *this;
- }
+ _LIBCPP_HIDE_FROM_ABI ostream_iterator(ostream_type& __s) _NOEXCEPT
+ : __out_stream_(std::addressof(__s)),
+ __delim_(nullptr) {}
+ _LIBCPP_HIDE_FROM_ABI ostream_iterator(ostream_type& __s, const _CharT* __delimiter) _NOEXCEPT
+ : __out_stream_(std::addressof(__s)),
+ __delim_(__delimiter) {}
+ _LIBCPP_HIDE_FROM_ABI ostream_iterator& operator=(const _Tp& __value) {
+ *__out_stream_ << __value;
+ if (__delim_)
+ *__out_stream_ << __delim_;
+ return *this;
+ }
- _LIBCPP_INLINE_VISIBILITY ostream_iterator& operator*() {return *this;}
- _LIBCPP_INLINE_VISIBILITY ostream_iterator& operator++() {return *this;}
- _LIBCPP_INLINE_VISIBILITY ostream_iterator& operator++(int) {return *this;}
+ _LIBCPP_HIDE_FROM_ABI ostream_iterator& operator*() { return *this; }
+ _LIBCPP_HIDE_FROM_ABI ostream_iterator& operator++() { return *this; }
+ _LIBCPP_HIDE_FROM_ABI ostream_iterator& operator++(int) { return *this; }
};
_LIBCPP_END_NAMESPACE_STD