blob: 0e83f0002ae6e68865dab9aaa884cad1710f4749 [file] [log] [blame]
Howard Hinnant3e519522010-05-11 19:42:161// -*- C++ -*-
Louis Dionneeb8650a2021-11-17 21:25:012//===----------------------------------------------------------------------===//
Howard Hinnant3e519522010-05-11 19:42:163//
Chandler Carruth57b08b02019-01-19 10:56:404// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
Howard Hinnant3e519522010-05-11 19:42:167//
8//===----------------------------------------------------------------------===//
9
10#ifndef _LIBCPP_IOSTREAM
11#define _LIBCPP_IOSTREAM
12
13/*
14 iostream synopsis
15
16#include <ios>
Howard Hinnant3e519522010-05-11 19:42:1617#include <istream>
18#include <ostream>
Arthur O'Dwyerbfbd73f2021-05-19 15:57:0419#include <streambuf>
Howard Hinnant3e519522010-05-11 19:42:1620
21namespace std {
22
23extern istream cin;
24extern ostream cout;
25extern ostream cerr;
26extern ostream clog;
27extern wistream wcin;
28extern wostream wcout;
29extern wostream wcerr;
30extern wostream wclog;
31
32} // std
33
34*/
35
Nikolas Klauserb9a26582024-12-21 12:01:4836#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
37# include <__cxx03/iostream>
38#else
Nikolas Klauserc166a9c2024-12-10 15:02:1239# include <__config>
40# include <version>
Nikolas Klauserdb1978b2022-06-16 20:43:4641
42// standard-mandated includes
Nikolas Klauser473a1602022-09-22 16:05:0843
44// [iostream.syn]
Nikolas Klauserc166a9c2024-12-10 15:02:1245# include <ios>
46# include <istream>
47# include <ostream>
48# include <streambuf>
Howard Hinnant3e519522010-05-11 19:42:1649
Nikolas Klauserc166a9c2024-12-10 15:02:1250# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
51# pragma GCC system_header
52# endif
Howard Hinnant3e519522010-05-11 19:42:1653
54_LIBCPP_BEGIN_NAMESPACE_STD
55
Nikolas Klauserf1ea0b12023-06-14 17:17:5056extern _LIBCPP_EXPORTED_FROM_ABI istream cin;
57extern _LIBCPP_EXPORTED_FROM_ABI ostream cout;
58extern _LIBCPP_EXPORTED_FROM_ABI ostream cerr;
59extern _LIBCPP_EXPORTED_FROM_ABI ostream clog;
Louis Dionnef4c12582021-08-23 19:32:3660
Nikolas Klauserc166a9c2024-12-10 15:02:1261# if _LIBCPP_HAS_WIDE_CHARACTERS
Nikolas Klauserf1ea0b12023-06-14 17:17:5062extern _LIBCPP_EXPORTED_FROM_ABI wistream wcin;
63extern _LIBCPP_EXPORTED_FROM_ABI wostream wcout;
64extern _LIBCPP_EXPORTED_FROM_ABI wostream wcerr;
65extern _LIBCPP_EXPORTED_FROM_ABI wostream wclog;
Nikolas Klauserc166a9c2024-12-10 15:02:1266# endif
Howard Hinnant3e519522010-05-11 19:42:1667
68_LIBCPP_END_NAMESPACE_STD
69
Nikolas Klauserb9a26582024-12-21 12:01:4870#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
Nikolas Klauserc166a9c2024-12-10 15:02:1271
Louis Dionne4cd6ca12021-04-20 16:03:3272#endif // _LIBCPP_IOSTREAM