epoc32/include/stdapis/stlport/iostream
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:27:01 +0100
branchSymbian2
changeset 3 e1b950c65cb4
parent 0 061f57f2323e
permissions -rw-r--r--
Attempt to represent the S^2->S^3 header reorganisation as a series of "hg rename" operations
williamr@2
     1
/*
williamr@2
     2
 * © Portions copyright (c) 2006-2007 Nokia Corporation.  All rights reserved.
williamr@2
     3
 *
williamr@2
     4
 * Copyright (c) 1999
williamr@2
     5
 * Silicon Graphics Computer Systems, Inc.
williamr@2
     6
 *
williamr@2
     7
 * Copyright (c) 1999 
williamr@2
     8
 * Boris Fomitchev
williamr@2
     9
 *
williamr@2
    10
 * This material is provided "as is", with absolutely no warranty expressed
williamr@2
    11
 * or implied. Any use is at your own risk.
williamr@2
    12
 *
williamr@2
    13
 * Permission to use or copy this software for any purpose is hereby granted 
williamr@2
    14
 * without fee, provided the above notices are retained on all copies.
williamr@2
    15
 * Permission to modify the code and to distribute modified code is granted,
williamr@2
    16
 * provided the above notices are retained, and a notice that the code was
williamr@2
    17
 * modified is included with the above copyright notice.
williamr@2
    18
 *
williamr@2
    19
 */ 
williamr@2
    20
williamr@2
    21
#ifndef _STLP_IOSTREAM
williamr@2
    22
#define _STLP_IOSTREAM
williamr@2
    23
williamr@2
    24
# ifndef _STLP_OUTERMOST_HEADER_ID
williamr@2
    25
#  define _STLP_OUTERMOST_HEADER_ID 0x1037
williamr@2
    26
#  include <stl/_prolog.h>
williamr@2
    27
# endif
williamr@2
    28
williamr@2
    29
# ifdef _STLP_PRAGMA_ONCE
williamr@2
    30
#  pragma once
williamr@2
    31
# endif
williamr@2
    32
williamr@2
    33
# if defined (_STLP_OWN_IOSTREAMS)
williamr@2
    34
williamr@2
    35
#include <stl/_iosfwd.h>
williamr@2
    36
#include <stl/_istream.h>
williamr@2
    37
williamr@2
    38
_STLP_BEGIN_NAMESPACE
williamr@2
    39
williamr@2
    40
#ifndef _STLP_USE_NAMESPACES
williamr@2
    41
// in case of SGI iostreams, we have to rename our streams not to clash with those
williamr@2
    42
// provided in native lib
williamr@2
    43
# define cin _STLP_cin
williamr@2
    44
# define cout _STLP_cout
williamr@2
    45
# define cerr _STLP_cerr
williamr@2
    46
# define clog _STLP_clog
williamr@2
    47
#endif
williamr@2
    48
williamr@2
    49
// Note: cin and wcin are both associated with stdio.  The C standard
williamr@2
    50
// (Amendment 1, section 4.6.2.1) says that it is an error to mix
williamr@2
    51
// wide- and narrow-oriented I/O on the same stream.  This implies
williamr@2
    52
// that it is an error to use both cin and wcin in the same C++
williamr@2
    53
// program; the same applies to cout and wcout, and cerr/clog and
williamr@2
    54
// wcerr/wclog.
williamr@2
    55
#if defined(__LIBSTD_CPP_SYMBIAN32_WSD__) || defined(_STLP_LIBSTD_CPP_NO_STATIC_VAR_)
williamr@2
    56
_STLP_DECLSPEC ostream& GetCErrStream();
williamr@2
    57
_STLP_DECLSPEC ostream& GetCoutStream();
williamr@2
    58
_STLP_DECLSPEC ostream& GetClogStream();
williamr@2
    59
_STLP_DECLSPEC istream& GetCinStream(); 
williamr@2
    60
williamr@2
    61
//#define std::cerr (std::GetCErrStream())
williamr@2
    62
#define cerr GetCErrStream()
williamr@2
    63
//#define std::cin (std::GetCinStream())
williamr@2
    64
#define cin GetCinStream()
williamr@2
    65
//#define std::cout (std::GetCoutStream())
williamr@2
    66
#define cout GetCoutStream()
williamr@2
    67
//#define std::clog (std::GetClogStream())
williamr@2
    68
#define clog GetClogStream()
williamr@2
    69
#else //__LIBSTD_CPP_SYMBIAN32_WSD__
williamr@2
    70
extern _STLP_DECLSPEC istream cin;
williamr@2
    71
extern _STLP_DECLSPEC ostream cout;
williamr@2
    72
extern _STLP_DECLSPEC ostream cerr;
williamr@2
    73
extern _STLP_DECLSPEC ostream clog;
williamr@2
    74
#endif //__LIBSTD_CPP_SYMBIAN32_WSD__
williamr@2
    75
williamr@2
    76
# ifndef _STLP_NO_WCHAR_T
williamr@2
    77
# if defined(__LIBSTD_CPP_SYMBIAN32_WSD__) || defined(_STLP_LIBSTD_CPP_NO_STATIC_VAR_)
williamr@2
    78
_STLP_DECLSPEC wostream& GetWCErrStream();
williamr@2
    79
_STLP_DECLSPEC wostream& GetWCoutStream();
williamr@2
    80
_STLP_DECLSPEC wostream& GetWClogStream();
williamr@2
    81
_STLP_DECLSPEC wistream& GetWCinStream(); 
williamr@2
    82
williamr@2
    83
#define wcerr GetWCErrStream()
williamr@2
    84
#define wcin GetWCinStream()
williamr@2
    85
#define wcout GetWCoutStream()
williamr@2
    86
#define wclog GetWClogStream()
williamr@2
    87
#else //__LIBSTD_CPP_SYMBIAN32_WSD__
williamr@2
    88
extern _STLP_DECLSPEC wistream wcin;
williamr@2
    89
extern _STLP_DECLSPEC wostream wcout;
williamr@2
    90
extern _STLP_DECLSPEC wostream wcerr;
williamr@2
    91
extern _STLP_DECLSPEC wostream wclog;
williamr@2
    92
#endif //__LIBSTD_CPP_SYMBIAN32_WSD__
williamr@2
    93
# endif
williamr@2
    94
williamr@2
    95
# ifndef __LOCALE_INITIALIZED
williamr@2
    96
#  define __LOCALE_INITIALIZED
williamr@2
    97
# if !defined(__LIBSTD_CPP_SYMBIAN32_WSD__) && !defined(_STLP_LIBSTD_CPP_NO_STATIC_VAR_)
williamr@2
    98
// Global initializer object, to ensure initialization of locale subsystem.
williamr@2
    99
static ios_base::_Loc_init _LocInit;
williamr@2
   100
# endif
williamr@2
   101
# endif
williamr@2
   102
williamr@2
   103
# ifndef __IOS_BASE_INITIALIZED
williamr@2
   104
#  define __IOS_BASE_INITIALIZED
williamr@2
   105
# if !defined(__LIBSTD_CPP_SYMBIAN32_WSD__) && !defined(_STLP_LIBSTD_CPP_NO_STATIC_VAR_)
williamr@2
   106
// Global initializer object, to ensure construction of static objects.
williamr@2
   107
static ios_base::Init _IosInit;
williamr@2
   108
# endif
williamr@2
   109
# endif
williamr@2
   110
williamr@2
   111
_STLP_END_NAMESPACE
williamr@2
   112
williamr@2
   113
# elif defined ( _STLP_USE_NO_IOSTREAMS )
williamr@2
   114
#  include <stl/_null_stream.h>
williamr@2
   115
# else
williamr@2
   116
williamr@2
   117
#  include <wrap_std/iostream>
williamr@2
   118
williamr@2
   119
# endif /* STL_USE_NO_IOSTREAMS */
williamr@2
   120
williamr@2
   121
# if (_STLP_OUTERMOST_HEADER_ID == 0x1037)
williamr@2
   122
#  include <stl/_epilog.h>
williamr@2
   123
#  undef _STLP_OUTERMOST_HEADER_ID
williamr@2
   124
# endif
williamr@2
   125
williamr@2
   126
#endif /* _STLP_IOSTREAM */
williamr@2
   127
williamr@2
   128
// Local Variables:
williamr@2
   129
// mode:C++
williamr@2
   130
// End: