epoc32/include/stdapis/stlport/stl/_ios.h
branchSymbian2
changeset 3 e1b950c65cb4
parent 2 2fe1408b6811
child 4 837f303aceeb
     1.1 --- a/epoc32/include/stdapis/stlport/stl/_ios.h	Tue Mar 16 16:12:26 2010 +0000
     1.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.3 @@ -1,204 +0,0 @@
     1.4 -/*
     1.5 - * © Portions copyright (c) 2006-2007 Nokia Corporation.  All rights reserved.
     1.6 - * Copyright (c) 1999
     1.7 - * Silicon Graphics Computer Systems, Inc.
     1.8 - *
     1.9 - * Copyright (c) 1999 
    1.10 - * Boris Fomitchev
    1.11 - *
    1.12 - * This material is provided "as is", with absolutely no warranty expressed
    1.13 - * or implied. Any use is at your own risk.
    1.14 - *
    1.15 - * Permission to use or copy this software for any purpose is hereby granted 
    1.16 - * without fee, provided the above notices are retained on all copies.
    1.17 - * Permission to modify the code and to distribute modified code is granted,
    1.18 - * provided the above notices are retained, and a notice that the code was
    1.19 - * modified is included with the above copyright notice.
    1.20 - *
    1.21 - */ 
    1.22 -#ifndef _STLP_INTERNAL_IOS_H
    1.23 -#define _STLP_INTERNAL_IOS_H
    1.24 -
    1.25 -
    1.26 -#ifndef _STLP_IOS_BASE_H
    1.27 -# include <stl/_ios_base.h>
    1.28 -#endif
    1.29 -
    1.30 -#ifndef _STLP_INTERNAL_CTYPE_H
    1.31 -# include <stl/_ctype.h>
    1.32 -#endif
    1.33 -#ifndef _STLP_INTERNAL_NUMPUNCT_H
    1.34 -# include <stl/_numpunct.h>
    1.35 -#endif
    1.36 -
    1.37 -_STLP_BEGIN_NAMESPACE
    1.38 -
    1.39 -// ----------------------------------------------------------------------
    1.40 -
    1.41 -// Class basic_ios, a subclass of ios_base.  The only important difference
    1.42 -// between the two is that basic_ios is a class template, parameterized
    1.43 -// by the character type.  ios_base exists to factor out all of the
    1.44 -// common properties that don't depend on the character type.
    1.45 -
    1.46 -// The second template parameter, _Traits, defaults to char_traits<_CharT>.
    1.47 -// The default is declared in header <iosfwd>, and it isn't declared here
    1.48 -// because C++ language rules do not allow it to be declared twice.
    1.49 -
    1.50 -template <class _CharT, class _Traits>
    1.51 -#ifdef __SYMBIAN32__
    1.52 -class basic_ios : public ios_base {
    1.53 -#else
    1.54 -class basic_ios : public ios_base {
    1.55 -#endif
    1.56 -  friend class ios_base;
    1.57 -public:                         // Synonyms for types.
    1.58 -  typedef _CharT                     char_type;
    1.59 -  typedef typename _Traits::int_type int_type;
    1.60 -  typedef typename _Traits::pos_type pos_type;
    1.61 -  typedef typename _Traits::off_type off_type;
    1.62 -  typedef _Traits                    traits_type;
    1.63 -
    1.64 -public:                         // Constructor, destructor.
    1.65 -  explicit basic_ios(basic_streambuf<_CharT, _Traits>* __streambuf);
    1.66 -  virtual ~basic_ios() {}
    1.67 -
    1.68 -public:                         // Members from clause 27.4.4.2
    1.69 -  basic_ostream<_CharT, _Traits>* tie() const {
    1.70 -    return _M_tied_ostream;
    1.71 -  }
    1.72 -  basic_ostream<_CharT, _Traits>*
    1.73 -  tie(basic_ostream<char_type, traits_type>* __new_tied_ostream) {
    1.74 -    basic_ostream<char_type, traits_type>* __tmp = _M_tied_ostream;
    1.75 -    _M_tied_ostream = __new_tied_ostream;
    1.76 -    return __tmp;
    1.77 -  }
    1.78 -
    1.79 -  basic_streambuf<_CharT, _Traits>* rdbuf() const
    1.80 -    { return _M_streambuf; }
    1.81 -
    1.82 -  basic_streambuf<_CharT, _Traits>*
    1.83 -  rdbuf(basic_streambuf<char_type, traits_type>*);
    1.84 -
    1.85 -  // Copies __x's state to *this.
    1.86 -  basic_ios<_CharT, _Traits>& copyfmt(const basic_ios<_CharT, _Traits>& __x);
    1.87 -
    1.88 -  char_type fill() const { return _M_fill; }
    1.89 -  char_type fill(char_type __fill) {
    1.90 -    char_type __tmp(_M_fill);
    1.91 -    _M_fill = __fill;
    1.92 -    return __tmp;
    1.93 -  }
    1.94 -
    1.95 -public:                         // Members from 27.4.4.3.  These four functions
    1.96 -                                // can almost be defined in ios_base.
    1.97 -
    1.98 -  void clear(iostate __state = goodbit) {
    1.99 -    _M_clear_nothrow(this->rdbuf() ? __state : iostate(__state|ios_base::badbit));
   1.100 -    _M_check_exception_mask();
   1.101 -  }
   1.102 -  void setstate(iostate __state) { this->clear(rdstate() | __state); }
   1.103 -
   1.104 -  iostate exceptions() const { return this->_M_get_exception_mask(); }
   1.105 -  void exceptions(iostate __mask) {
   1.106 -    this->_M_set_exception_mask(__mask);
   1.107 -    this->clear(this->rdstate());
   1.108 -  }
   1.109 -
   1.110 -public:                         // Locale-related member functions.
   1.111 -  locale imbue(const locale&);
   1.112 -
   1.113 -  inline char narrow(_CharT, char) const ;
   1.114 -  inline _CharT widen(char) const; 
   1.115 -
   1.116 -  // Helper function that makes testing for EOF more convenient.
   1.117 -  static bool _STLP_CALL _S_eof(int_type __c) {
   1.118 -    const int_type __eof = _Traits::eof();
   1.119 -    return _Traits::eq_int_type(__c, __eof);
   1.120 -  }
   1.121 -
   1.122 -protected:
   1.123 -  basic_ios();
   1.124 -
   1.125 -  void init(basic_streambuf<_CharT, _Traits>* __streambuf);
   1.126 -
   1.127 -public:
   1.128 -  
   1.129 -  // Helper function used in istream and ostream.  It is called only from
   1.130 -  // a catch clause.
   1.131 -  void _M_handle_exception(ios_base::iostate __flag);
   1.132 -  
   1.133 -private:                        // Data members
   1.134 -  char_type _M_fill;            // The fill character, used for padding.
   1.135 -
   1.136 -  basic_streambuf<_CharT, _Traits>* _M_streambuf;
   1.137 -  basic_ostream<_CharT, _Traits>*   _M_tied_ostream;
   1.138 -
   1.139 -};
   1.140 -
   1.141 -
   1.142 -template <class _CharT, class _Traits>
   1.143 -inline char 
   1.144 -basic_ios<_CharT, _Traits>::narrow(_CharT __c, char __default) const
   1.145 -{ return ((const ctype<_CharT>*)this->_M_ctype_facet())->narrow(__c, __default); }
   1.146 -
   1.147 -template <class _CharT, class _Traits>
   1.148 -inline _CharT 
   1.149 -basic_ios<_CharT, _Traits>::widen(char __c) const
   1.150 -{ 
   1.151 -  return ((const ctype<_CharT>*)this->_M_ctype_facet())->widen(__c); }
   1.152 -
   1.153 -# if defined (_STLP_USE_TEMPLATE_EXPORT)
   1.154 -_STLP_EXPORT_TEMPLATE_CLASS basic_ios<char, char_traits<char> >;
   1.155 -#  if ! defined (_STLP_NO_WCHAR_T)
   1.156 -_STLP_EXPORT_TEMPLATE_CLASS basic_ios<wchar_t, char_traits<wchar_t> >;
   1.157 -#  endif
   1.158 -# endif /* _STLP_USE_TEMPLATE_EXPORT */
   1.159 -
   1.160 -# if !defined (_STLP_NO_METHOD_SPECIALIZATION)
   1.161 -_STLP_TEMPLATE_NULL
   1.162 -inline char
   1.163 -basic_ios<char, char_traits<char> >::narrow(char __c, char) const
   1.164 -{
   1.165 -  return __c;
   1.166 -}
   1.167 -
   1.168 -_STLP_TEMPLATE_NULL
   1.169 -inline char
   1.170 -basic_ios<char, char_traits<char> >::widen(char __c) const
   1.171 -{
   1.172 -  return __c;
   1.173 -}
   1.174 -# endif /* _STLP_NO_METHOD_SPECIALIZATION */
   1.175 -
   1.176 -
   1.177 -_STLP_END_NAMESPACE
   1.178 -
   1.179 -#if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) && !defined (_STLP_LINK_TIME_INSTANTIATION)
   1.180 -#  include <stl/_ios.c>
   1.181 -# endif
   1.182 -
   1.183 -// The following is needed to ensure that the inlined _Stl_loc_init functions
   1.184 -// that ios_base::_Loc_init::_Loc_init() calls are found eventually.
   1.185 -// Otherwise, undefined externs may be caused.
   1.186 -
   1.187 -#if defined(__BORLANDC__) && defined(_RTLDLL)
   1.188 -# ifndef _STLP_INTERNAL_NUM_PUT_H
   1.189 -#  include <stl/_num_put.h>
   1.190 -# endif
   1.191 -# ifndef _STLP_INTERNAL_NUM_GET_H
   1.192 -#   include <stl/_num_get.h>
   1.193 -# endif
   1.194 -# ifndef _STLP_INTERNAL_MONETARY_H
   1.195 -#  include <stl/_monetary.h>
   1.196 -# endif
   1.197 -# ifndef _STLP_INTERNAL_TIME_FACETS_H
   1.198 -#  include <stl/_time_facets.h>
   1.199 -# endif
   1.200 -#endif
   1.201 -
   1.202 -#endif /* _STLP_IOS */
   1.203 -
   1.204 -// Local Variables:
   1.205 -// mode:C++
   1.206 -// End:
   1.207 -