epoc32/include/stdapis/stlport/stl/_cwchar.h
branchSymbian3
changeset 4 837f303aceeb
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/epoc32/include/stdapis/stlport/stl/_cwchar.h	Wed Mar 31 12:33:34 2010 +0100
     1.3 @@ -0,0 +1,119 @@
     1.4 +/*
     1.5 + * © Portions copyright (c) 2006-2007 Nokia Corporation.  All rights reserved.
     1.6 + * Copyright (c) 1999
     1.7 + * Boris Fomitchev
     1.8 + *
     1.9 + * This material is provided "as is", with absolutely no warranty expressed
    1.10 + * or implied. Any use is at your own risk.
    1.11 + *
    1.12 + * Permission to use or copy this software for any purpose is hereby granted 
    1.13 + * without fee, provided the above notices are retained on all copies.
    1.14 + * Permission to modify the code and to distribute modified code is granted,
    1.15 + * provided the above notices are retained, and a notice that the code was
    1.16 + * modified is included with the above copyright notice.
    1.17 + *
    1.18 + */
    1.19 +
    1.20 +#ifndef _STLP_CWCHAR_H
    1.21 +# define _STLP_CWCHAR_H
    1.22 +
    1.23 +#ifndef _STLP_NO_WCHAR_T
    1.24 +#ifdef __cplusplus
    1.25 +# include <cwchar>
    1.26 +#else
    1.27 +# include <wchar.h>
    1.28 +#endif
    1.29 +#endif
    1.30 +
    1.31 +# if defined (__MRC__) || defined (__SC__) || defined (__BORLANDC__) || defined(__FreeBSD__) || (defined (__GNUC__) && defined (__APPLE__) || defined( __Lynx__ )) || defined (_STLP_NO_WCHAR_T)
    1.32 +
    1.33 +#ifdef __SYMBIAN32__
    1.34 +#  include <stddef.h>
    1.35 +#else
    1.36 +# include _STLP_NATIVE_C_HEADER(stddef.h)
    1.37 +#endif
    1.38 +#  if defined (__FreeBSD__) || defined (__Lynx__)
    1.39 +#   ifndef _WINT_T
    1.40 +typedef long int wint_t;
    1.41 +#    define _WINT_T
    1.42 +#   endif /* _WINT_T */
    1.43 +#  endif
    1.44 +# endif
    1.45 +
    1.46 +# if defined ( _STLP_OWN_IOSTREAMS ) && defined (_STLP_NO_NATIVE_MBSTATE_T) && ! defined (_STLP_NO_MBSTATE_T) && ! defined (_MBSTATE_T) && ! defined (__mbstate_t_defined)
    1.47 +#  define _STLP_USE_OWN_MBSTATE_T
    1.48 +#  define _MBSTATE_T
    1.49 +# endif
    1.50 +
    1.51 +# ifdef _STLP_USE_OWN_MBSTATE_T
    1.52 +
    1.53 +#ifndef __SYMBIAN32__ //no more using the structure __stl_mbstate_t. usinfg _mb_state_t from _types.h.
    1.54 +// to be compatible across different SUN platforms
    1.55 +#ifdef __sun
    1.56 +# define __stl_mbstate_t __mbstate_t
    1.57 +#endif
    1.58 +
    1.59 +struct __stl_mbstate_t;
    1.60 +
    1.61 +# ifdef __cplusplus
    1.62 +struct __stl_mbstate_t { 
    1.63 +  __stl_mbstate_t( long __st = 0 ) { _M_state[0] = __st ; }
    1.64 +  __stl_mbstate_t& operator=(const long __st) {
    1.65 +    _M_state[0] = __st;              
    1.66 +    return *this;
    1.67 +  } 
    1.68 +  __stl_mbstate_t(const __stl_mbstate_t& __x) {_M_state[0]= __x._M_state[0]; }         
    1.69 +  __stl_mbstate_t& operator=(const __stl_mbstate_t& __x) {
    1.70 +    _M_state[0]= __x._M_state[0];              
    1.71 +    return *this;
    1.72 +  }
    1.73 +# if defined (__sun)
    1.74 +#  ifdef _LP64
    1.75 +  long _M_state[4];
    1.76 +#  else
    1.77 +  int _M_state[6];
    1.78 +#  endif
    1.79 +# else       
    1.80 +  long _M_state[1];
    1.81 +# endif
    1.82 +};          
    1.83 +
    1.84 +inline bool operator==(const __stl_mbstate_t& __x, const __stl_mbstate_t& __y) {
    1.85 +  return ( __x._M_state[0] == __y._M_state[0] );
    1.86 +}
    1.87 +
    1.88 +inline bool operator!=(const __stl_mbstate_t& __x, const __stl_mbstate_t& __y) {
    1.89 +  return ( __x._M_state[0] == __y._M_state[0] );
    1.90 +}
    1.91 +# endif
    1.92 +
    1.93 +
    1.94 +#endif //#if __SYMBIAN32__
    1.95 +_STLP_BEGIN_NAMESPACE
    1.96 +//typedef __mbstate_t __stl_mbstate_t;
    1.97 +//typedef __mbstate_t mbstate_t;
    1.98 +
    1.99 +_STLP_END_NAMESPACE
   1.100 +
   1.101 +# endif /* _STLP_USE_OWN_MBSTATE_T */
   1.102 +
   1.103 +#if !defined (_STLP_NO_WCHAR_T)
   1.104 +# ifndef WCHAR_MIN
   1.105 +#  define WCHAR_MIN 0
   1.106 +// SUNpro has some bugs with casts. wchar_t is size of int there anyway.
   1.107 +#  if defined (__SUNPRO_CC) || defined (__DJGPP)
   1.108 +#   define WCHAR_MAX (~0)
   1.109 +#  else
   1.110 +#   define WCHAR_MAX ((wchar_t)~0)
   1.111 +#  endif
   1.112 +# endif
   1.113 +#endif
   1.114 +
   1.115 +# if defined  (_STLP_IMPORT_VENDOR_CSTD) && ! defined (_STLP_VENDOR_GLOBAL_CSTD)
   1.116 +_STLP_BEGIN_NAMESPACE  
   1.117 +using namespace _STLP_VENDOR_CSTD;
   1.118 +_STLP_END_NAMESPACE
   1.119 +#endif /* _STLP_IMPORT_VENDOR_CSTD */
   1.120 +
   1.121 +#endif /* _STLP_CWCHAR_H */
   1.122 +