summaryrefslogtreecommitdiff
path: root/third_party/libcxx/include/c++/v1/ostream
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/libcxx/include/c++/v1/ostream')
-rw-r--r--third_party/libcxx/include/c++/v1/ostream215
1 files changed, 215 insertions, 0 deletions
diff --git a/third_party/libcxx/include/c++/v1/ostream b/third_party/libcxx/include/c++/v1/ostream
new file mode 100644
index 0000000..8ec17b6
--- /dev/null
+++ b/third_party/libcxx/include/c++/v1/ostream
@@ -0,0 +1,215 @@
+// -*- C++ -*-
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef _LIBCPP_OSTREAM
+#define _LIBCPP_OSTREAM
+
+/*
+ ostream synopsis
+
+template <class charT, class traits = char_traits<charT> >
+class basic_ostream
+ : virtual public basic_ios<charT,traits>
+{
+public:
+ // types (inherited from basic_ios (27.5.4)):
+ typedef charT char_type;
+ typedef traits traits_type;
+ typedef typename traits_type::int_type int_type;
+ typedef typename traits_type::pos_type pos_type;
+ typedef typename traits_type::off_type off_type;
+
+ // 27.7.2.2 Constructor/destructor:
+ explicit basic_ostream(basic_streambuf<char_type,traits>* sb);
+ basic_ostream(basic_ostream&& rhs);
+ virtual ~basic_ostream();
+
+ // 27.7.2.3 Assign/swap
+ basic_ostream& operator=(const basic_ostream& rhs) = delete; // C++14
+ basic_ostream& operator=(basic_ostream&& rhs);
+ void swap(basic_ostream& rhs);
+
+ // 27.7.2.4 Prefix/suffix:
+ class sentry;
+
+ // 27.7.2.6 Formatted output:
+ basic_ostream& operator<<(basic_ostream& (*pf)(basic_ostream&));
+ basic_ostream& operator<<(basic_ios<charT, traits>& (*pf)(basic_ios<charT,traits>&));
+ basic_ostream& operator<<(ios_base& (*pf)(ios_base&));
+ basic_ostream& operator<<(bool n);
+ basic_ostream& operator<<(short n);
+ basic_ostream& operator<<(unsigned short n);
+ basic_ostream& operator<<(int n);
+ basic_ostream& operator<<(unsigned int n);
+ basic_ostream& operator<<(long n);
+ basic_ostream& operator<<(unsigned long n);
+ basic_ostream& operator<<(long long n);
+ basic_ostream& operator<<(unsigned long long n);
+ basic_ostream& operator<<(float f);
+ basic_ostream& operator<<(double f);
+ basic_ostream& operator<<(long double f);
+ basic_ostream& operator<<(const void* p);
+ basic_ostream& operator<<(const volatile void* val); // C++23
+ basic_ostream& operator<<(basic_streambuf<char_type,traits>* sb);
+ basic_ostream& operator<<(nullptr_t);
+
+ // 27.7.2.7 Unformatted output:
+ basic_ostream& put(char_type c);
+ basic_ostream& write(const char_type* s, streamsize n);
+ basic_ostream& flush();
+
+ // 27.7.2.5 seeks:
+ pos_type tellp();
+ basic_ostream& seekp(pos_type);
+ basic_ostream& seekp(off_type, ios_base::seekdir);
+protected:
+ basic_ostream(const basic_ostream& rhs) = delete;
+ basic_ostream(basic_ostream&& rhs);
+ // 27.7.3.3 Assign/swap
+ basic_ostream& operator=(basic_ostream& rhs) = delete;
+ basic_ostream& operator=(const basic_ostream&& rhs);
+ void swap(basic_ostream& rhs);
+};
+
+// 27.7.2.6.4 character inserters
+
+template<class charT, class traits>
+ basic_ostream<charT,traits>& operator<<(basic_ostream<charT,traits>&, charT);
+
+template<class charT, class traits>
+ basic_ostream<charT,traits>& operator<<(basic_ostream<charT,traits>&, char);
+
+template<class traits>
+ basic_ostream<char,traits>& operator<<(basic_ostream<char,traits>&, char);
+
+// signed and unsigned
+
+template<class traits>
+ basic_ostream<char,traits>& operator<<(basic_ostream<char,traits>&, signed char);
+
+template<class traits>
+ basic_ostream<char,traits>& operator<<(basic_ostream<char,traits>&, unsigned char);
+
+// NTBS
+template<class charT, class traits>
+ basic_ostream<charT,traits>& operator<<(basic_ostream<charT,traits>&, const charT*);
+
+template<class charT, class traits>
+ basic_ostream<charT,traits>& operator<<(basic_ostream<charT,traits>&, const char*);
+
+template<class traits>
+ basic_ostream<char,traits>& operator<<(basic_ostream<char,traits>&, const char*);
+
+// signed and unsigned
+template<class traits>
+basic_ostream<char,traits>& operator<<(basic_ostream<char,traits>&, const signed char*);
+
+template<class traits>
+ basic_ostream<char,traits>& operator<<(basic_ostream<char,traits>&, const unsigned char*);
+
+// swap:
+template <class charT, class traits>
+ void swap(basic_ostream<charT, traits>& x, basic_ostream<charT, traits>& y);
+
+template <class charT, class traits>
+ basic_ostream<charT,traits>& endl(basic_ostream<charT,traits>& os);
+
+template <class charT, class traits>
+ basic_ostream<charT,traits>& ends(basic_ostream<charT,traits>& os);
+
+template <class charT, class traits>
+ basic_ostream<charT,traits>& flush(basic_ostream<charT,traits>& os);
+
+// rvalue stream insertion
+template <class Stream, class T>
+ Stream&& operator<<(Stream&& os, const T& x);
+
+template<class traits>
+basic_ostream<char, traits>& operator<<(basic_ostream<char, traits>&, wchar_t) = delete; // since C++20
+template<class traits>
+basic_ostream<char, traits>& operator<<(basic_ostream<char, traits>&, char8_t) = delete; // since C++20
+template<class traits>
+basic_ostream<char, traits>& operator<<(basic_ostream<char, traits>&, char16_t) = delete; // since C++20
+template<class traits>
+basic_ostream<char, traits>& operator<<(basic_ostream<char, traits>&, char32_t) = delete; // since C++20
+template<class traits>
+basic_ostream<wchar_t, traits>& operator<<(basic_ostream<wchar_t, traits>&, char8_t) = delete; // since C++20
+template<class traits>
+basic_ostream<wchar_t, traits>& operator<<(basic_ostream<wchar_t, traits>&, char16_t) = delete; // since C++20
+template<class traits>
+basic_ostream<wchar_t, traits>& operator<<(basic_ostream<wchar_t, traits>&, char32_t) = delete; // since C++20
+template<class traits>
+basic_ostream<char, traits>& operator<<(basic_ostream<char, traits>&, const wchar_t*) = delete; // since C++20
+template<class traits>
+basic_ostream<char, traits>& operator<<(basic_ostream<char, traits>&, const char8_t*) = delete; // since C++20
+template<class traits>
+basic_ostream<char, traits>& operator<<(basic_ostream<char, traits>&, const char16_t*) = delete; // since C++20
+template<class traits>
+basic_ostream<char, traits>& operator<<(basic_ostream<char, traits>&, const char32_t*) = delete; // since C++20
+template<class traits>
+basic_ostream<wchar_t, traits>& operator<<(basic_ostream<wchar_t, traits>&, const char8_t*) = delete; // since C++20
+template<class traits>
+basic_ostream<wchar_t, traits>& operator<<(basic_ostream<wchar_t, traits>&, const char16_t*) = delete; // since C++20
+template<class traits>
+basic_ostream<wchar_t, traits>& operator<<(basic_ostream<wchar_t, traits>&, const char32_t*) = delete; // since C++20
+
+// [ostream.formatted.print], print functions
+template<class... Args> // since C++23
+ void print(ostream& os, format_string<Args...> fmt, Args&&... args);
+template<class... Args> // since C++23
+ void println(ostream& os, format_string<Args...> fmt, Args&&... args);
+void println(ostream& os); // since C++26
+
+void vprint_unicode(ostream& os, string_view fmt, format_args args); // since C++23
+void vprint_nonunicode(ostream& os, string_view fmt, format_args args); // since C++23
+} // std
+
+*/
+
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/ostream>
+#else
+# include <__config>
+
+# if _LIBCPP_HAS_LOCALIZATION
+
+# include <__ostream/basic_ostream.h>
+
+# if _LIBCPP_STD_VER >= 23
+# include <__ostream/print.h>
+# endif
+
+# include <version>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
+
+# endif // _LIBCPP_HAS_LOCALIZATION
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <atomic>
+# include <concepts>
+# include <cstdio>
+# include <cstdlib>
+# include <format>
+# include <iosfwd>
+# include <iterator>
+# include <print>
+# include <stdexcept>
+# include <type_traits>
+# endif
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 23
+# include <locale>
+# endif
+
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+
+#endif // _LIBCPP_OSTREAM