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 +