1.1 --- a/epoc32/include/stdapis/stlport/stl/_codecvt.h Tue Mar 16 16:12:26 2010 +0000
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,323 +0,0 @@
1.4 -/*
1.5 - * © Portions copyright (c) 2006-2007 Nokia Corporation. All rights reserved.
1.6 - *
1.7 - * Copyright (c) 1999
1.8 - * Silicon Graphics Computer Systems, Inc.
1.9 - *
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 - * without fee, provided the above notices are retained on all copies.
1.18 - * Permission to modify the code and to distribute modified code is granted,
1.19 - * provided the above notices are retained, and a notice that the code was
1.20 - * modified is included with the above copyright notice.
1.21 - *
1.22 - */
1.23 -// WARNING: This is an internal header file, included by other C++
1.24 -// standard library headers. You should not attempt to use this header
1.25 -// file directly.
1.26 -
1.27 -
1.28 -#ifndef _STLP_INTERNAL_CODECVT_H
1.29 -#define _STLP_INTERNAL_CODECVT_H
1.30 -
1.31 -# ifndef _STLP_C_LOCALE_H
1.32 -# include <stl/c_locale.h>
1.33 -# endif
1.34 -# ifndef _STLP_INTERNAL_LOCALE_H
1.35 -# include <stl/_locale.h>
1.36 -# endif
1.37 -
1.38 -_STLP_BEGIN_NAMESPACE
1.39 -
1.40 -class _STLP_CLASS_DECLSPEC codecvt_base {
1.41 -public:
1.42 - enum result {ok, partial, error, noconv};
1.43 -};
1.44 -
1.45 -template <class _InternT, class _ExternT, class _StateT>
1.46 -class codecvt : public locale::facet, public codecvt_base {
1.47 - typedef _InternT intern_type;
1.48 - typedef _ExternT extern_type;
1.49 - typedef _StateT state_type;
1.50 -};
1.51 -
1.52 -template <class _InternT, class _ExternT, class _StateT>
1.53 -class codecvt_byname : public codecvt<_InternT, _ExternT, _StateT> {};
1.54 -
1.55 -_STLP_TEMPLATE_NULL
1.56 -#ifdef __SYMBIAN32__
1.57 -class codecvt<char, char, mbstate_t> : public locale::facet, public codecvt_base
1.58 -#else
1.59 -class _STLP_CLASS_DECLSPEC codecvt<char, char, mbstate_t> : public locale::facet, public codecvt_base
1.60 -#endif
1.61 -{
1.62 - friend class _Locale;
1.63 -public:
1.64 - typedef char intern_type;
1.65 - typedef char extern_type;
1.66 - typedef mbstate_t state_type;
1.67 -
1.68 - explicit codecvt(size_t __refs = 0) : _BaseFacet(__refs) {}
1.69 -
1.70 - result out(state_type& __state,
1.71 - const char* __from,
1.72 - const char* __from_end,
1.73 - const char*& __from_next,
1.74 - char* __to,
1.75 - char* __to_limit,
1.76 - char*& __to_next) const {
1.77 - return do_out(__state,
1.78 - __from, __from_end, __from_next,
1.79 - __to, __to_limit, __to_next);
1.80 - }
1.81 -
1.82 - result unshift(mbstate_t& __state,
1.83 - char* __to, char* __to_limit, char*& __to_next) const
1.84 - { return do_unshift(__state, __to, __to_limit, __to_next); }
1.85 -
1.86 - result in(state_type& __state,
1.87 - const char* __from,
1.88 - const char* __from_end,
1.89 - const char*& __from_next,
1.90 - char* __to,
1.91 - char* __to_limit,
1.92 - char*& __to_next) const {
1.93 - return do_in(__state,
1.94 - __from, __from_end, __from_next,
1.95 - __to, __to_limit, __to_next);
1.96 - }
1.97 -
1.98 - int encoding() const _STLP_NOTHROW { return do_encoding(); }
1.99 -
1.100 - bool always_noconv() const _STLP_NOTHROW { return do_always_noconv(); }
1.101 -
1.102 - int length(const state_type& __state,
1.103 - const char* __from, const char* __end,
1.104 - size_t __max) const
1.105 - { return do_length(__state, __from, __end, __max); }
1.106 -
1.107 - int max_length() const _STLP_NOTHROW { return do_max_length(); }
1.108 -
1.109 -#if defined(__LIBSTD_CPP_SYMBIAN32_WSD__) || defined(_STLP_LIBSTD_CPP_NO_STATIC_VAR_)
1.110 - _STLP_STATIC_MEMBER_DECLSPEC static locale::id& GetFacetLocaleId();
1.111 -#else
1.112 - _STLP_STATIC_MEMBER_DECLSPEC static locale::id id;
1.113 -#endif
1.114 -
1.115 -protected:
1.116 -_STLP_DECLSPEC ~codecvt();
1.117 -
1.118 - _STLP_DECLSPEC virtual result do_out(mbstate_t& /* __state */,
1.119 - const char* __from,
1.120 - const char* /* __from_end */,
1.121 - const char*& __from_next,
1.122 - char* __to,
1.123 - char* /* __to_limit */,
1.124 - char*& __to_next) const;
1.125 -
1.126 - _STLP_DECLSPEC virtual result do_in (mbstate_t& /* __state */ ,
1.127 - const char* __from,
1.128 - const char* /* __from_end */,
1.129 - const char*& __from_next,
1.130 - char* __to,
1.131 - char* /* __to_end */,
1.132 - char*& __to_next) const;
1.133 -
1.134 - _STLP_DECLSPEC virtual result do_unshift(mbstate_t& /* __state */,
1.135 - char* __to,
1.136 - char* /* __to_limit */,
1.137 - char*& __to_next) const;
1.138 -
1.139 - _STLP_DECLSPEC virtual int do_encoding() const _STLP_NOTHROW;
1.140 - _STLP_DECLSPEC virtual bool do_always_noconv() const _STLP_NOTHROW;
1.141 - _STLP_DECLSPEC virtual int do_length(const mbstate_t& __state,
1.142 - const char* __from,
1.143 - const char* __end,
1.144 - size_t __max) const;
1.145 - _STLP_DECLSPEC virtual int do_max_length() const _STLP_NOTHROW;
1.146 -private:
1.147 - codecvt(const codecvt<char, char, mbstate_t>&);
1.148 - codecvt<char, char, mbstate_t>& operator =(const codecvt<char, char, mbstate_t>&);
1.149 -};
1.150 -
1.151 -# ifndef _STLP_NO_WCHAR_T
1.152 -
1.153 -_STLP_TEMPLATE_NULL
1.154 -#if defined(__LIBSTD_CPP_SYMBIAN32_WSD__) || defined(_STLP_LIBSTD_CPP_NO_STATIC_VAR_)
1.155 -class codecvt<wchar_t, char, mbstate_t> : public locale::facet, public codecvt_base
1.156 -#else
1.157 -class _STLP_CLASS_DECLSPEC codecvt<wchar_t, char, mbstate_t> : public locale::facet, public codecvt_base
1.158 -#endif
1.159 -{
1.160 - friend class _Locale;
1.161 -public:
1.162 - typedef wchar_t intern_type;
1.163 - typedef char extern_type;
1.164 - typedef mbstate_t state_type;
1.165 -
1.166 - explicit codecvt(size_t __refs = 0) : _BaseFacet(__refs) {}
1.167 -
1.168 - result out(mbstate_t& __state,
1.169 - const wchar_t* __from,
1.170 - const wchar_t* __from_end,
1.171 - const wchar_t*& __from_next,
1.172 - char* __to,
1.173 - char* __to_limit,
1.174 - char*& __to_next) const {
1.175 - return do_out(__state,
1.176 - __from, __from_end, __from_next,
1.177 - __to, __to_limit, __to_next);
1.178 - }
1.179 -
1.180 - result unshift(mbstate_t& __state,
1.181 - char* __to, char* __to_limit, char*& __to_next) const {
1.182 - return do_unshift(__state, __to, __to_limit, __to_next);
1.183 - }
1.184 -
1.185 - result in(mbstate_t& __state,
1.186 - const char* __from,
1.187 - const char* __from_end,
1.188 - const char*& __from_next,
1.189 - wchar_t* __to,
1.190 - wchar_t* __to_limit,
1.191 - wchar_t*& __to_next) const {
1.192 - return do_in(__state,
1.193 - __from, __from_end, __from_next,
1.194 - __to, __to_limit, __to_next);
1.195 - }
1.196 -
1.197 - int encoding() const _STLP_NOTHROW { return do_encoding(); }
1.198 -
1.199 - bool always_noconv() const _STLP_NOTHROW { return do_always_noconv(); }
1.200 -
1.201 - int length(const mbstate_t& __state,
1.202 - const char* __from,
1.203 - const char* __end,
1.204 - size_t __max) const
1.205 - { return do_length(__state, __from, __end, __max); }
1.206 -
1.207 - int max_length() const _STLP_NOTHROW { return do_max_length(); }
1.208 -
1.209 -#if defined(__LIBSTD_CPP_SYMBIAN32_WSD__) || defined(_STLP_LIBSTD_CPP_NO_STATIC_VAR_)
1.210 - _STLP_STATIC_MEMBER_DECLSPEC static locale::id& GetFacetLocaleId();
1.211 -#else
1.212 - _STLP_STATIC_MEMBER_DECLSPEC static locale::id id;
1.213 -#endif
1.214 -
1.215 -protected:
1.216 - _STLP_DECLSPEC ~codecvt();
1.217 -
1.218 - _STLP_DECLSPEC virtual result do_out(mbstate_t& __state,
1.219 - const wchar_t* __from,
1.220 - const wchar_t* __from_end,
1.221 - const wchar_t*& __from_next,
1.222 - char* __to,
1.223 - char* __to_limit,
1.224 - char*& __to_next) const;
1.225 -
1.226 - _STLP_DECLSPEC virtual result do_in (mbstate_t& __state,
1.227 - const char* __from,
1.228 - const char* __from_end,
1.229 - const char*& __from_next,
1.230 - wchar_t* __to,
1.231 - wchar_t* __to_limit,
1.232 - wchar_t*& __to_next) const;
1.233 -
1.234 - _STLP_DECLSPEC virtual result do_unshift(mbstate_t& __state,
1.235 - char* __to,
1.236 - char* __to_limit,
1.237 - char*& __to_next) const;
1.238 -
1.239 - _STLP_DECLSPEC virtual int do_encoding() const _STLP_NOTHROW;
1.240 -
1.241 - _STLP_DECLSPEC virtual bool do_always_noconv() const _STLP_NOTHROW;
1.242 -
1.243 - _STLP_DECLSPEC virtual int do_length(const mbstate_t& __state,
1.244 - const char* __from,
1.245 - const char* __end,
1.246 - size_t __max) const;
1.247 -
1.248 - _STLP_DECLSPEC virtual int do_max_length() const _STLP_NOTHROW;
1.249 -
1.250 -private:
1.251 - codecvt(const codecvt<wchar_t, char, mbstate_t>&);
1.252 - codecvt<wchar_t, char, mbstate_t>& operator = (const codecvt<wchar_t, char, mbstate_t>&);
1.253 -};
1.254 -
1.255 -# endif
1.256 -
1.257 -_STLP_TEMPLATE_NULL
1.258 -class _STLP_CLASS_DECLSPEC codecvt_byname<char, char, mbstate_t>
1.259 - : public codecvt<char, char, mbstate_t> {
1.260 -public:
1.261 - explicit _STLP_DECLSPEC codecvt_byname(const char* __name, size_t __refs = 0);
1.262 - ~codecvt_byname();
1.263 -private:
1.264 - codecvt_byname(const codecvt_byname<char, char, mbstate_t>&);
1.265 - codecvt_byname<char, char, mbstate_t>& operator =(const codecvt_byname<char, char, mbstate_t>&);
1.266 -};
1.267 -
1.268 -# ifndef _STLP_NO_WCHAR_T
1.269 -_STLP_TEMPLATE_NULL
1.270 -class codecvt_byname<wchar_t, char, mbstate_t>
1.271 - : public codecvt<wchar_t, char, mbstate_t>
1.272 -{
1.273 -public:
1.274 - explicit _STLP_DECLSPEC codecvt_byname(const char * __name, size_t __refs = 0);
1.275 -
1.276 -protected:
1.277 - _STLP_DECLSPEC ~codecvt_byname();
1.278 -
1.279 - _STLP_DECLSPEC virtual result do_out(mbstate_t& __state,
1.280 - const wchar_t* __from,
1.281 - const wchar_t* __from_end,
1.282 - const wchar_t*& __from_next,
1.283 - char* __to,
1.284 - char* __to_limit,
1.285 - char*& __to_next) const;
1.286 -
1.287 - _STLP_DECLSPEC virtual result do_in (mbstate_t& __state,
1.288 - const char* __from,
1.289 - const char* __from_end,
1.290 - const char*& __from_next,
1.291 - wchar_t* __to,
1.292 - wchar_t* __to_limit,
1.293 - wchar_t*& __to_next) const;
1.294 -
1.295 - _STLP_DECLSPEC virtual result do_unshift(mbstate_t& __state,
1.296 - char* __to,
1.297 - char* __to_limit,
1.298 - char*& __to_next) const;
1.299 -
1.300 - _STLP_DECLSPEC virtual int do_encoding() const _STLP_NOTHROW;
1.301 -
1.302 - _STLP_DECLSPEC virtual bool do_always_noconv() const _STLP_NOTHROW;
1.303 -
1.304 - _STLP_DECLSPEC virtual int do_length(const mbstate_t& __state,
1.305 - const char* __from,
1.306 - const char* __end,
1.307 - size_t __max) const;
1.308 -
1.309 - _STLP_DECLSPEC virtual int do_max_length() const _STLP_NOTHROW;
1.310 -
1.311 -private:
1.312 - _Locale_ctype* _M_ctype;
1.313 - codecvt_byname(const codecvt_byname<wchar_t, char, mbstate_t>&);
1.314 - codecvt_byname<wchar_t, char, mbstate_t>& operator =(const codecvt_byname<wchar_t, char, mbstate_t>&);
1.315 -};
1.316 -
1.317 -# endif
1.318 -
1.319 -_STLP_END_NAMESPACE
1.320 -
1.321 -#endif /* _STLP_INTERNAL_CODECVT_H */
1.322 -
1.323 -// Local Variables:
1.324 -// mode:C++
1.325 -// End:
1.326 -