epoc32/include/stdapis/stlportv5/stl/_ios.h
branchSymbian3
changeset 4 837f303aceeb
parent 3 e1b950c65cb4
     1.1 --- a/epoc32/include/stdapis/stlportv5/stl/_ios.h	Wed Mar 31 12:27:01 2010 +0100
     1.2 +++ b/epoc32/include/stdapis/stlportv5/stl/_ios.h	Wed Mar 31 12:33:34 2010 +0100
     1.3 @@ -1,21 +1,20 @@
     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 + * Copyright (c) 1999
    1.11   * Boris Fomitchev
    1.12   *
    1.13   * This material is provided "as is", with absolutely no warranty expressed
    1.14   * or implied. Any use is at your own risk.
    1.15   *
    1.16 - * Permission to use or copy this software for any purpose is hereby granted 
    1.17 + * Permission to use or copy this software for any purpose is hereby granted
    1.18   * without fee, provided the above notices are retained on all copies.
    1.19   * Permission to modify the code and to distribute modified code is granted,
    1.20   * provided the above notices are retained, and a notice that the code was
    1.21   * modified is included with the above copyright notice.
    1.22   *
    1.23 - */ 
    1.24 + */
    1.25  #ifndef _STLP_INTERNAL_IOS_H
    1.26  #define _STLP_INTERNAL_IOS_H
    1.27  
    1.28 @@ -45,11 +44,7 @@
    1.29  // because C++ language rules do not allow it to be declared twice.
    1.30  
    1.31  template <class _CharT, class _Traits>
    1.32 -#ifdef __SYMBIAN32__
    1.33  class basic_ios : public ios_base {
    1.34 -#else
    1.35 -class basic_ios : public ios_base {
    1.36 -#endif
    1.37    friend class ios_base;
    1.38  public:                         // Synonyms for types.
    1.39    typedef _CharT                     char_type;
    1.40 @@ -108,7 +103,7 @@
    1.41    locale imbue(const locale&);
    1.42  
    1.43    inline char narrow(_CharT, char) const ;
    1.44 -  inline _CharT widen(char) const; 
    1.45 +  inline _CharT widen(char) const;
    1.46  
    1.47    // Helper function that makes testing for EOF more convenient.
    1.48    static bool _STLP_CALL _S_eof(int_type __c) {
    1.49 @@ -122,11 +117,11 @@
    1.50    void init(basic_streambuf<_CharT, _Traits>* __streambuf);
    1.51  
    1.52  public:
    1.53 -  
    1.54 +
    1.55    // Helper function used in istream and ostream.  It is called only from
    1.56    // a catch clause.
    1.57    void _M_handle_exception(ios_base::iostate __flag);
    1.58 -  
    1.59 +
    1.60  private:                        // Data members
    1.61    char_type _M_fill;            // The fill character, used for padding.
    1.62  
    1.63 @@ -137,22 +132,14 @@
    1.64  
    1.65  
    1.66  template <class _CharT, class _Traits>
    1.67 -inline char 
    1.68 +inline char
    1.69  basic_ios<_CharT, _Traits>::narrow(_CharT __c, char __default) const
    1.70 -{ return ((const ctype<_CharT>*)this->_M_ctype_facet())->narrow(__c, __default); }
    1.71 +{ return __STATIC_CAST(const ctype<_CharT>*, this->_M_ctype_facet())->narrow(__c, __default); }
    1.72  
    1.73  template <class _CharT, class _Traits>
    1.74 -inline _CharT 
    1.75 +inline _CharT
    1.76  basic_ios<_CharT, _Traits>::widen(char __c) const
    1.77 -{ 
    1.78 -  return ((const ctype<_CharT>*)this->_M_ctype_facet())->widen(__c); }
    1.79 -
    1.80 -# if defined (_STLP_USE_TEMPLATE_EXPORT)
    1.81 -_STLP_EXPORT_TEMPLATE_CLASS basic_ios<char, char_traits<char> >;
    1.82 -#  if ! defined (_STLP_NO_WCHAR_T)
    1.83 -_STLP_EXPORT_TEMPLATE_CLASS basic_ios<wchar_t, char_traits<wchar_t> >;
    1.84 -#  endif
    1.85 -# endif /* _STLP_USE_TEMPLATE_EXPORT */
    1.86 +{ return __STATIC_CAST(const ctype<_CharT>*, this->_M_ctype_facet())->widen(__c); }
    1.87  
    1.88  # if !defined (_STLP_NO_METHOD_SPECIALIZATION)
    1.89  _STLP_TEMPLATE_NULL
    1.90 @@ -170,30 +157,17 @@
    1.91  }
    1.92  # endif /* _STLP_NO_METHOD_SPECIALIZATION */
    1.93  
    1.94 +# if defined (_STLP_USE_TEMPLATE_EXPORT)
    1.95 +_STLP_EXPORT_TEMPLATE_CLASS basic_ios<char, char_traits<char> >;
    1.96 +#  if ! defined (_STLP_NO_WCHAR_T)
    1.97 +_STLP_EXPORT_TEMPLATE_CLASS basic_ios<wchar_t, char_traits<wchar_t> >;
    1.98 +#  endif
    1.99 +# endif /* _STLP_USE_TEMPLATE_EXPORT */
   1.100  
   1.101  _STLP_END_NAMESPACE
   1.102  
   1.103  #if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) && !defined (_STLP_LINK_TIME_INSTANTIATION)
   1.104  #  include <stl/_ios.c>
   1.105 -# endif
   1.106 -
   1.107 -// The following is needed to ensure that the inlined _Stl_loc_init functions
   1.108 -// that ios_base::_Loc_init::_Loc_init() calls are found eventually.
   1.109 -// Otherwise, undefined externs may be caused.
   1.110 -
   1.111 -#if defined(__BORLANDC__) && defined(_RTLDLL)
   1.112 -# ifndef _STLP_INTERNAL_NUM_PUT_H
   1.113 -#  include <stl/_num_put.h>
   1.114 -# endif
   1.115 -# ifndef _STLP_INTERNAL_NUM_GET_H
   1.116 -#   include <stl/_num_get.h>
   1.117 -# endif
   1.118 -# ifndef _STLP_INTERNAL_MONETARY_H
   1.119 -#  include <stl/_monetary.h>
   1.120 -# endif
   1.121 -# ifndef _STLP_INTERNAL_TIME_FACETS_H
   1.122 -#  include <stl/_time_facets.h>
   1.123 -# endif
   1.124  #endif
   1.125  
   1.126  #endif /* _STLP_IOS */