Back to home page

EIC code displayed by LXR

 
 

    


Warning, /include/c++/v1/__cxx03/ostream is written in an unsupported language. File is not indexed.

0001 // -*- C++ -*-
0002 //===----------------------------------------------------------------------===//
0003 //
0004 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
0005 // See https://llvm.org/LICENSE.txt for license information.
0006 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
0007 //
0008 //===----------------------------------------------------------------------===//
0009 
0010 #ifndef _LIBCPP___CXX03_OSTREAM
0011 #define _LIBCPP___CXX03_OSTREAM
0012 
0013 /*
0014     ostream synopsis
0015 
0016 template <class charT, class traits = char_traits<charT> >
0017 class basic_ostream
0018     : virtual public basic_ios<charT,traits>
0019 {
0020 public:
0021     // types (inherited from basic_ios (27.5.4)):
0022     typedef charT                          char_type;
0023     typedef traits                         traits_type;
0024     typedef typename traits_type::int_type int_type;
0025     typedef typename traits_type::pos_type pos_type;
0026     typedef typename traits_type::off_type off_type;
0027 
0028     // 27.7.2.2 Constructor/destructor:
0029     explicit basic_ostream(basic_streambuf<char_type,traits>* sb);
0030     basic_ostream(basic_ostream&& rhs);
0031     virtual ~basic_ostream();
0032 
0033     // 27.7.2.3 Assign/swap
0034     basic_ostream& operator=(const basic_ostream& rhs) = delete; // C++14
0035     basic_ostream& operator=(basic_ostream&& rhs);
0036     void swap(basic_ostream& rhs);
0037 
0038     // 27.7.2.4 Prefix/suffix:
0039     class sentry;
0040 
0041     // 27.7.2.6 Formatted output:
0042     basic_ostream& operator<<(basic_ostream& (*pf)(basic_ostream&));
0043     basic_ostream& operator<<(basic_ios<charT, traits>& (*pf)(basic_ios<charT,traits>&));
0044     basic_ostream& operator<<(ios_base& (*pf)(ios_base&));
0045     basic_ostream& operator<<(bool n);
0046     basic_ostream& operator<<(short n);
0047     basic_ostream& operator<<(unsigned short n);
0048     basic_ostream& operator<<(int n);
0049     basic_ostream& operator<<(unsigned int n);
0050     basic_ostream& operator<<(long n);
0051     basic_ostream& operator<<(unsigned long n);
0052     basic_ostream& operator<<(long long n);
0053     basic_ostream& operator<<(unsigned long long n);
0054     basic_ostream& operator<<(float f);
0055     basic_ostream& operator<<(double f);
0056     basic_ostream& operator<<(long double f);
0057     basic_ostream& operator<<(const void* p);
0058     basic_ostream& operator<<(const volatile void* val); // C++23
0059     basic_ostream& operator<<(basic_streambuf<char_type,traits>* sb);
0060     basic_ostream& operator<<(nullptr_t);
0061 
0062     // 27.7.2.7 Unformatted output:
0063     basic_ostream& put(char_type c);
0064     basic_ostream& write(const char_type* s, streamsize n);
0065     basic_ostream& flush();
0066 
0067     // 27.7.2.5 seeks:
0068     pos_type tellp();
0069     basic_ostream& seekp(pos_type);
0070     basic_ostream& seekp(off_type, ios_base::seekdir);
0071 protected:
0072     basic_ostream(const basic_ostream& rhs) = delete;
0073     basic_ostream(basic_ostream&& rhs);
0074     // 27.7.3.3 Assign/swap
0075     basic_ostream& operator=(basic_ostream& rhs) = delete;
0076     basic_ostream& operator=(const basic_ostream&& rhs);
0077     void swap(basic_ostream& rhs);
0078 };
0079 
0080 // 27.7.2.6.4 character inserters
0081 
0082 template<class charT, class traits>
0083   basic_ostream<charT,traits>& operator<<(basic_ostream<charT,traits>&, charT);
0084 
0085 template<class charT, class traits>
0086   basic_ostream<charT,traits>& operator<<(basic_ostream<charT,traits>&, char);
0087 
0088 template<class traits>
0089   basic_ostream<char,traits>& operator<<(basic_ostream<char,traits>&, char);
0090 
0091 // signed and unsigned
0092 
0093 template<class traits>
0094   basic_ostream<char,traits>& operator<<(basic_ostream<char,traits>&, signed char);
0095 
0096 template<class traits>
0097   basic_ostream<char,traits>& operator<<(basic_ostream<char,traits>&, unsigned char);
0098 
0099 // NTBS
0100 template<class charT, class traits>
0101   basic_ostream<charT,traits>& operator<<(basic_ostream<charT,traits>&, const charT*);
0102 
0103 template<class charT, class traits>
0104   basic_ostream<charT,traits>& operator<<(basic_ostream<charT,traits>&, const char*);
0105 
0106 template<class traits>
0107   basic_ostream<char,traits>& operator<<(basic_ostream<char,traits>&, const char*);
0108 
0109 // signed and unsigned
0110 template<class traits>
0111 basic_ostream<char,traits>& operator<<(basic_ostream<char,traits>&, const signed char*);
0112 
0113 template<class traits>
0114   basic_ostream<char,traits>& operator<<(basic_ostream<char,traits>&, const unsigned char*);
0115 
0116 // swap:
0117 template <class charT, class traits>
0118   void swap(basic_ostream<charT, traits>& x, basic_ostream<charT, traits>& y);
0119 
0120 template <class charT, class traits>
0121   basic_ostream<charT,traits>& endl(basic_ostream<charT,traits>& os);
0122 
0123 template <class charT, class traits>
0124   basic_ostream<charT,traits>& ends(basic_ostream<charT,traits>& os);
0125 
0126 template <class charT, class traits>
0127   basic_ostream<charT,traits>& flush(basic_ostream<charT,traits>& os);
0128 
0129 // rvalue stream insertion
0130 template <class Stream, class T>
0131   Stream&& operator<<(Stream&& os, const T& x);
0132 
0133 template<class traits>
0134 basic_ostream<char, traits>& operator<<(basic_ostream<char, traits>&, wchar_t) = delete;               // since C++20
0135 template<class traits>
0136 basic_ostream<char, traits>& operator<<(basic_ostream<char, traits>&, char8_t) = delete;               // since C++20
0137 template<class traits>
0138 basic_ostream<char, traits>& operator<<(basic_ostream<char, traits>&, char16_t) = delete;              // since C++20
0139 template<class traits>
0140 basic_ostream<char, traits>& operator<<(basic_ostream<char, traits>&, char32_t) = delete;              // since C++20
0141 template<class traits>
0142 basic_ostream<wchar_t, traits>& operator<<(basic_ostream<wchar_t, traits>&, char8_t) = delete;         // since C++20
0143 template<class traits>
0144 basic_ostream<wchar_t, traits>& operator<<(basic_ostream<wchar_t, traits>&, char16_t) = delete;        // since C++20
0145 template<class traits>
0146 basic_ostream<wchar_t, traits>& operator<<(basic_ostream<wchar_t, traits>&, char32_t) = delete;        // since C++20
0147 template<class traits>
0148 basic_ostream<char, traits>& operator<<(basic_ostream<char, traits>&, const wchar_t*) = delete;        // since C++20
0149 template<class traits>
0150 basic_ostream<char, traits>& operator<<(basic_ostream<char, traits>&, const char8_t*) = delete;        // since C++20
0151 template<class traits>
0152 basic_ostream<char, traits>& operator<<(basic_ostream<char, traits>&, const char16_t*) = delete;       // since C++20
0153 template<class traits>
0154 basic_ostream<char, traits>& operator<<(basic_ostream<char, traits>&, const char32_t*) = delete;       // since C++20
0155 template<class traits>
0156 basic_ostream<wchar_t, traits>& operator<<(basic_ostream<wchar_t, traits>&, const char8_t*) = delete;  // since C++20
0157 template<class traits>
0158 basic_ostream<wchar_t, traits>& operator<<(basic_ostream<wchar_t, traits>&, const char16_t*) = delete; // since C++20
0159 template<class traits>
0160 basic_ostream<wchar_t, traits>& operator<<(basic_ostream<wchar_t, traits>&, const char32_t*) = delete; // since C++20
0161 
0162 // [ostream.formatted.print], print functions
0163 template<class... Args>                                                                                // since C++23
0164   void print(ostream& os, format_string<Args...> fmt, Args&&... args);
0165 template<class... Args>                                                                                // since C++23
0166   void println(ostream& os, format_string<Args...> fmt, Args&&... args);
0167 void println(ostream& os);                                                                             // since C++26
0168 
0169 void vprint_unicode(ostream& os, string_view fmt, format_args args);                                   // since C++23
0170 void vprint_nonunicode(ostream& os, string_view fmt, format_args args);                                // since C++23
0171 }  // std
0172 
0173 */
0174 
0175 #include <__cxx03/__config>
0176 
0177 #include <__cxx03/__ostream/basic_ostream.h>
0178 
0179 #if _LIBCPP_STD_VER >= 23
0180 #  include <__cxx03/__ostream/print.h>
0181 #endif
0182 
0183 #include <__cxx03/version>
0184 
0185 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
0186 #  pragma GCC system_header
0187 #endif
0188 
0189 #if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
0190 #  include <__cxx03/atomic>
0191 #  include <__cxx03/concepts>
0192 #  include <__cxx03/cstdio>
0193 #  include <__cxx03/cstdlib>
0194 #  include <__cxx03/format>
0195 #  include <__cxx03/iosfwd>
0196 #  include <__cxx03/iterator>
0197 #  include <__cxx03/print>
0198 #  include <__cxx03/stdexcept>
0199 #  include <__cxx03/type_traits>
0200 #endif
0201 
0202 #endif // _LIBCPP___CXX03_OSTREAM