LCOV - code coverage report
Current view: directory - cygdrive/c/program files/microsoft visual studio 9.0/vc/include - ios (source / functions) Found Hit Coverage
Test: coverage.lcov Lines: 49 34 69.4 %
Date: 2014-09-25 Functions: 0 0 -

       1                 : // ios standard header

       2                 : #pragma once
       3                 : #ifndef _IOS_
       4                 : #define _IOS_
       5                 : #ifndef RC_INVOKED
       6                 : #include <xlocnum>
       7                 : 
       8                 : #ifdef _MSC_VER
       9                 :  #pragma pack(push,_CRT_PACKING)
      10                 :  #pragma warning(push,3)
      11                 : #endif  /* _MSC_VER */
      12                 : 
      13                 : _STD_BEGIN
      14                 : 
      15                 :                 // TEMPLATE CLASS basic_ios
      16                 : template<class _Elem,
      17                 :         class _Traits>
      18                 :         class basic_ios
      19                 :                 : public ios_base
      20                 :         {       // base class for basic_istream/basic_ostream
      21                 : public:
      22                 :         typedef basic_ios<_Elem, _Traits> _Myt;
      23                 :         typedef basic_ostream<_Elem, _Traits> _Myos;
      24                 :         typedef basic_streambuf<_Elem, _Traits> _Mysb;
      25                 :         typedef ctype<_Elem> _Ctype;
      26                 :         typedef _Elem char_type;
      27                 :         typedef _Traits traits_type;
      28                 :         typedef typename _Traits::int_type int_type;
      29                 :         typedef typename _Traits::pos_type pos_type;
      30                 :         typedef typename _Traits::off_type off_type;
      31                 : 
      32                 :         explicit __CLR_OR_THIS_CALL basic_ios(_Mysb *_Strbuf)
      33                 :                 {       // construct from stream buffer pointer
      34                 :                 init(_Strbuf);
      35                 :                 }
      36                 : 
      37                 :         virtual __CLR_OR_THIS_CALL ~basic_ios()
      38              10 :                 {       // destroy the object

      39              10 :                 }

      40                 : 
      41                 :         void __CLR_OR_THIS_CALL clear(iostate _State = goodbit, bool _Reraise = false)
      42               0 :                 {       // set state, possibly reraise exception

      43                 :                 ios_base::clear((iostate)(_Mystrbuf == 0
      44               0 :                         ? (int)_State | (int)badbit : (int)_State), _Reraise);

      45               0 :                 }

      46                 : 
      47                 :         void __CLR_OR_THIS_CALL clear(io_state _State)
      48                 :                 {       // set state to _State
      49                 :                 clear((iostate)_State);
      50                 :                 }
      51                 : 
      52                 :         void __CLR_OR_THIS_CALL setstate(iostate _State, bool _Reraise = false)
      53              10 :                 {       // merge _State into state, possible reraise exception

      54              10 :                 if (_State != goodbit)

      55               0 :                         clear((iostate)((int)rdstate() | (int)_State), _Reraise);

      56              10 :                 }

      57                 : 
      58                 :         void __CLR_OR_THIS_CALL setstate(io_state _State)
      59                 :                 {       // merge _State into state
      60                 :                 setstate((iostate)_State);
      61                 :                 }
      62                 : 
      63                 :         _Myt& __CLR_OR_THIS_CALL copyfmt(const _Myt& _Right)
      64                 :                 {       // copy format parameters
      65                 :                 _Tiestr = _Right.tie();
      66                 :                 _Fillch = _Right.fill();
      67                 :                 ios_base::copyfmt(_Right);
      68                 :                 return (*this);
      69                 :                 }
      70                 : 
      71                 :         _Myos *__CLR_OR_THIS_CALL tie() const
      72              10 :                 {       // return tie pointer

      73              10 :                 return (_Tiestr);

      74              10 :                 }

      75                 : 
      76                 :         _Myos *__CLR_OR_THIS_CALL tie(_Myos *_Newtie)
      77                 :                 {       // set tie pointer
      78                 :                 _Myos *_Oldtie = _Tiestr;
      79                 :                 _Tiestr = _Newtie;
      80                 :                 return (_Oldtie);
      81                 :                 }
      82                 : 
      83                 :         _Mysb *__CLR_OR_THIS_CALL rdbuf() const
      84              10 :                 {       // return stream buffer pointer

      85              10 :                 return (_Mystrbuf);

      86              10 :                 }

      87                 : 
      88                 :         _Mysb *__CLR_OR_THIS_CALL rdbuf(_Mysb *_Strbuf)
      89                 :                 {       // set stream buffer pointer
      90                 :                 _Mysb *_Oldstrbuf = _Mystrbuf;
      91                 :                 _Mystrbuf = _Strbuf;
      92                 :                 clear();
      93                 :                 return (_Oldstrbuf);
      94                 :                 }
      95                 : 
      96                 :         locale __CLR_OR_THIS_CALL imbue(const locale& _Loc)
      97                 :                 {       // set locale to argument
      98                 :                 locale _Oldlocale = ios_base::imbue(_Loc);
      99                 :                 if (rdbuf() != 0)
     100                 :                         rdbuf()->pubimbue(_Loc);
     101                 :                 return (_Oldlocale);
     102                 :                 }
     103                 : 
     104                 :         _Elem __CLR_OR_THIS_CALL fill() const
     105               9 :                 {       // return fill character

     106               9 :                 return (_Fillch);

     107               9 :                 }

     108                 : 
     109                 :         _Elem __CLR_OR_THIS_CALL fill(_Elem _Newfill)
     110               3 :                 {       // set fill character

     111               3 :                 _Elem _Oldfill = _Fillch;

     112               3 :                 _Fillch = _Newfill;

     113               3 :                 return (_Oldfill);

     114               3 :                 }

     115                 : 
     116                 :         char __CLR_OR_THIS_CALL narrow(_Elem _Ch, char _Dflt = '\0') const
     117                 :                 {       // convert _Ch to byte using imbued locale
     118                 :                 const _Ctype& _Ctype_fac = _USE(getloc(), _Ctype);
     119                 :                 return (_Ctype_fac.narrow(_Ch, _Dflt));
     120                 :                 }
     121                 : 
     122                 :         _Elem __CLR_OR_THIS_CALL widen(char _Byte) const
     123              10 :                 {       // convert _Byte to character using imbued locale

     124              10 :                 const _Ctype& _Ctype_fac = _USE(getloc(), _Ctype);

     125              10 :                 return (_Ctype_fac.widen(_Byte));

     126              10 :                 }

     127                 : 
     128                 : protected:
     129                 :         void __CLR_OR_THIS_CALL init(_Mysb *_Strbuf = 0,
     130                 :                 bool _Isstd = false)
     131              10 :                 {       // initialize with stream buffer pointer

     132              10 :                 _Init();        // initialize ios_base

     133              10 :                 _Mystrbuf = _Strbuf;

     134              10 :                 _Tiestr = 0;

     135              10 :                 _Fillch = widen(' ');

     136                 : 
     137              10 :                 if (_Mystrbuf == 0)

     138               0 :                         setstate(badbit);

     139                 : 
     140              10 :                 if (_Isstd)

     141               0 :                         _Addstd(this);  // special handling for standard streams

     142               0 :                 else

     143              10 :                 _Stdstr = 0;

     144              10 :                 }

     145                 : 
     146              10 :         __CLR_OR_THIS_CALL basic_ios()

     147                 :                 {       // default constructor, do nothing
     148              10 :                 }

     149                 : 
     150                 : private:
     151                 :         __CLR_OR_THIS_CALL basic_ios(const _Myt&);  // not defined
     152                 :         _Myt& __CLR_OR_THIS_CALL operator=(const _Myt&);        // not defined
     153                 : 
     154                 :         _Mysb *_Mystrbuf;       // pointer to stream buffer
     155                 :         _Myos *_Tiestr; // pointer to tied output stream
     156                 :         _Elem _Fillch;  // the fill character
     157                 :         };
     158                 : 
     159                 :  #if defined(_DLL_CPPLIB) && !defined(_M_CEE_PURE)
     160                 : 
     161                 : template class _CRTIMP2_PURE basic_ios<char,
     162                 :         char_traits<char> >;
     163                 : template class _CRTIMP2_PURE basic_ios<wchar_t,
     164                 :         char_traits<wchar_t> >;
     165                 : 
     166                 : 
     167                 : 
     168                 :  #endif /* _DLL_CPPLIB */
     169                 : 
     170                 :                 // MANIPULATORS
     171                 : inline ios_base& __CLRCALL_OR_CDECL boolalpha(ios_base& _Iosbase)
     172                 :         {       // set boolalpha
     173                 :         _Iosbase.setf(ios_base::boolalpha);
     174                 :         return (_Iosbase);
     175                 :         }
     176                 : 
     177                 : inline ios_base& __CLRCALL_OR_CDECL dec(ios_base& _Iosbase)
     178                 :         {       // set basefield to dec
     179                 :         _Iosbase.setf(ios_base::dec, ios_base::basefield);
     180                 :         return (_Iosbase);
     181                 :         }
     182                 : 
     183                 : inline ios_base& __CLRCALL_OR_CDECL fixed(ios_base& _Iosbase)
     184                 :         {       // set floatfield to fixed
     185                 :         _Iosbase.setf(ios_base::fixed, ios_base::floatfield);
     186                 :         return (_Iosbase);
     187                 :         }
     188                 : 
     189                 : inline ios_base& __CLRCALL_OR_CDECL hex(ios_base& _Iosbase)
     190               0 :         {       // set basefield to hex

     191               0 :         _Iosbase.setf(ios_base::hex, ios_base::basefield);

     192               0 :         return (_Iosbase);

     193               0 :         }

     194                 : 
     195                 :         namespace tr1 { // added with TR1
     196                 : inline std::ios_base& __CLRCALL_OR_CDECL hexfloat(std::ios_base& _Iosbase)
     197                 :         {       // set floatfield to hexfloat
     198                 :         _Iosbase.setf(std::ios_base::hexfloat, std::ios_base::floatfield);
     199                 :         return (_Iosbase);
     200                 :         }
     201                 :         }       // namespace tr1
     202                 : using tr1::hexfloat;
     203                 : 
     204                 : inline ios_base& __CLRCALL_OR_CDECL internal(ios_base& _Iosbase)
     205                 :         {       // set adjustfield to internal
     206                 :         _Iosbase.setf(ios_base::internal, ios_base::adjustfield);
     207                 :         return (_Iosbase);
     208                 :         }
     209                 : 
     210                 : inline ios_base& __CLRCALL_OR_CDECL left(ios_base& _Iosbase)
     211                 :         {       // set adjustfield to left
     212                 :         _Iosbase.setf(ios_base::left, ios_base::adjustfield);
     213                 :         return (_Iosbase);
     214                 :         }
     215                 : 
     216                 : inline ios_base& __CLRCALL_OR_CDECL noboolalpha(ios_base& _Iosbase)
     217                 :         {       // clear boolalpha
     218                 :         _Iosbase.unsetf(ios_base::boolalpha);
     219                 :         return (_Iosbase);
     220                 :         }
     221                 : 
     222                 : inline ios_base& __CLRCALL_OR_CDECL noshowbase(ios_base& _Iosbase)
     223                 :         {       // clear showbase
     224                 :         _Iosbase.unsetf(ios_base::showbase);
     225                 :         return (_Iosbase);
     226                 :         }
     227                 : 
     228                 : inline ios_base& __CLRCALL_OR_CDECL noshowpoint(ios_base& _Iosbase)
     229                 :         {       // clear showpoint
     230                 :         _Iosbase.unsetf(ios_base::showpoint);
     231                 :         return (_Iosbase);
     232                 :         }
     233                 : 
     234                 : inline ios_base& __CLRCALL_OR_CDECL noshowpos(ios_base& _Iosbase)
     235                 :         {       // clear showpos
     236                 :         _Iosbase.unsetf(ios_base::showpos);
     237                 :         return (_Iosbase);
     238                 :         }
     239                 : 
     240                 : inline ios_base& __CLRCALL_OR_CDECL noskipws(ios_base& _Iosbase)
     241                 :         {       // clear skipws
     242                 :         _Iosbase.unsetf(ios_base::skipws);
     243                 :         return (_Iosbase);
     244                 :         }
     245                 : 
     246                 : inline ios_base& __CLRCALL_OR_CDECL nounitbuf(ios_base& _Iosbase)
     247                 :         {       // clear unitbuf
     248                 :         _Iosbase.unsetf(ios_base::unitbuf);
     249                 :         return (_Iosbase);
     250                 :         }
     251                 : 
     252                 : inline ios_base& __CLRCALL_OR_CDECL nouppercase(ios_base& _Iosbase)
     253                 :         {       // clear uppercase
     254                 :         _Iosbase.unsetf(ios_base::uppercase);
     255                 :         return (_Iosbase);
     256                 :         }
     257                 : 
     258                 : inline ios_base& __CLRCALL_OR_CDECL oct(ios_base& _Iosbase)
     259                 :         {       // set oct in basefield
     260                 :         _Iosbase.setf(ios_base::oct, ios_base::basefield);
     261                 :         return (_Iosbase);
     262                 :         }
     263                 : 
     264                 : inline ios_base& __CLRCALL_OR_CDECL right(ios_base& _Iosbase)
     265                 :         {       // set right in adjustfield
     266                 :         _Iosbase.setf(ios_base::right, ios_base::adjustfield);
     267                 :         return (_Iosbase);
     268                 :         }
     269                 : 
     270                 : inline ios_base& __CLRCALL_OR_CDECL scientific(ios_base& _Iosbase)
     271                 :         {       // set scientific in floatfield
     272                 :         _Iosbase.setf(ios_base::scientific, ios_base::floatfield);
     273                 :         return (_Iosbase);
     274                 :         }
     275                 : 
     276                 : inline ios_base& __CLRCALL_OR_CDECL showbase(ios_base& _Iosbase)
     277                 :         {       // set showbase
     278                 :         _Iosbase.setf(ios_base::showbase);
     279                 :         return (_Iosbase);
     280                 :         }
     281                 : 
     282                 : inline ios_base& __CLRCALL_OR_CDECL showpoint(ios_base& _Iosbase)
     283                 :         {       // set showpoint
     284                 :         _Iosbase.setf(ios_base::showpoint);
     285                 :         return (_Iosbase);
     286                 :         }
     287                 : 
     288                 : inline ios_base& __CLRCALL_OR_CDECL showpos(ios_base& _Iosbase)
     289                 :         {       // set showpos
     290                 :         _Iosbase.setf(ios_base::showpos);
     291                 :         return (_Iosbase);
     292                 :         }
     293                 : 
     294                 : inline ios_base& __CLRCALL_OR_CDECL skipws(ios_base& _Iosbase)
     295                 :         {       // set skipws
     296                 :         _Iosbase.setf(ios_base::skipws);
     297                 :         return (_Iosbase);
     298                 :         }
     299                 : 
     300                 : inline ios_base& __CLRCALL_OR_CDECL unitbuf(ios_base& _Iosbase)
     301                 :         {       // set unitbuf
     302                 :         _Iosbase.setf(ios_base::unitbuf);
     303                 :         return (_Iosbase);
     304                 :         }
     305                 : 
     306                 : inline ios_base& __CLRCALL_OR_CDECL uppercase(ios_base& _Iosbase)
     307               0 :         {       // set uppercase

     308               0 :         _Iosbase.setf(ios_base::uppercase);

     309               0 :         return (_Iosbase);

     310               0 :         }

     311                 : _STD_END
     312                 : 
     313                 : #ifdef _MSC_VER
     314                 :  #pragma warning(pop)
     315                 :  #pragma pack(pop)
     316                 : #endif  /* _MSC_VER */
     317                 : 
     318                 : #endif /* RC_INVOKED */
     319                 : #endif /* _IOS_ */
     320                 : 
     321                 : /*
     322                 :  * Copyright (c) 1992-2007 by P.J. Plauger.  ALL RIGHTS RESERVED.
     323                 :  * Consult your license regarding permissions and restrictions.
     324                 :  V5.03:0009 */

Generated by: LCOV version 1.7