epoc32/include/stdapis/stlport/locale
branchSymbian2
changeset 2 2fe1408b6811
parent 0 061f57f2323e
--- a/epoc32/include/stdapis/stlport/locale	Tue Nov 24 13:55:44 2009 +0000
+++ b/epoc32/include/stdapis/stlport/locale	Tue Mar 16 16:12:26 2010 +0000
@@ -1,1 +1,175 @@
-locale
+/*
+ * © Portions copyright (c) 2006-2007 Nokia Corporation.  All rights reserved.
+ *
+ * Copyright (c) 1999
+ * Silicon Graphics Computer Systems, Inc.
+ *
+ * Copyright (c) 1999 
+ * Boris Fomitchev
+ *
+ * This material is provided "as is", with absolutely no warranty expressed
+ * or implied. Any use is at your own risk.
+ *
+ * Permission to use or copy this software for any purpose is hereby granted 
+ * without fee, provided the above notices are retained on all copies.
+ * Permission to modify the code and to distribute modified code is granted,
+ * provided the above notices are retained, and a notice that the code was
+ * modified is included with the above copyright notice.
+ *
+ */ 
+#ifndef _STLP_LOCALE
+#define _STLP_LOCALE
+
+// Basic framework: class locale and class locale::facet
+
+# ifndef _STLP_OUTERMOST_HEADER_ID
+#  define _STLP_OUTERMOST_HEADER_ID 0x1041
+#  include <stl/_prolog.h>
+# endif
+
+# ifdef _STLP_PRAGMA_ONCE
+#  pragma once
+# endif
+# if defined (__SYMBIAN32__)
+#  include <clocale>
+# endif
+
+# if defined (_STLP_OWN_IOSTREAMS)
+
+// Individual facets
+#ifndef _STLP_INTERNAL_CTYPE_H
+#include <stl/_ctype.h>
+#endif
+#ifndef _STLP_INTERNAL_CODECVT_H
+#include <stl/_codecvt.h>
+#endif
+#ifndef _STLP_INTERNAL_COLLATE_H
+#include <stl/_collate.h>
+#endif
+#ifndef _STLP_INTERNAL_NUM_PUT_H
+# include <stl/_num_put.h>
+#endif
+
+#ifndef _STLP_INTERNAL_NUM_GET_H
+# include <stl/_num_get.h>
+#endif
+
+// those never included separately anyway
+#include <stl/_monetary.h>
+#include <stl/_time_facets.h>
+#include <stl/_messages_facets.h>
+
+// some stuff for streambuf iterators ended up defined there
+// Strictly speaking, _istream.h portion is only required for <iterator>, but it may break too many 
+// programs if we omit it
+#ifndef _STLP_ISTREAM_H
+# include <stl/_istream.h>
+#endif
+
+// Convenience interfaces
+#undef isspace
+#undef isprint
+#undef iscntrl
+#undef isupper
+#undef islower
+#undef isalpha
+#undef isdigit
+#undef ispunct
+#undef isxdigit
+#undef isalnum
+#undef isgraph
+#undef toupper
+#undef tolower
+
+_STLP_BEGIN_NAMESPACE
+
+template <class _CharT> 
+inline bool isspace (_CharT c, const locale& loc) {
+  return (use_facet<ctype<_CharT> >(loc)).is(ctype_base::space, c);
+}
+
+template <class _CharT> 
+inline bool isprint (_CharT c, const locale& loc) {
+  return (use_facet<ctype<_CharT> >(loc)).is(ctype_base::print, c);
+}
+
+template <class _CharT> 
+inline bool iscntrl (_CharT c, const locale& loc) {
+  return (use_facet<ctype<_CharT> >(loc)).is(ctype_base::cntrl, c);
+}
+
+template <class _CharT> 
+inline bool isupper (_CharT c, const locale& loc) {
+  return (use_facet<ctype<_CharT> >(loc)).is(ctype_base::upper, c);
+}
+
+template <class _CharT> 
+inline bool islower (_CharT c, const locale& loc) {
+  return (use_facet<ctype<_CharT> >(loc)).is(ctype_base::lower, c);
+}
+
+template <class _CharT> 
+inline bool isalpha (_CharT c, const locale& loc) {
+  return (use_facet<ctype<_CharT> >(loc)).is(ctype_base::alpha, c);
+}
+
+template <class _CharT> 
+inline bool isdigit (_CharT c, const locale& loc) {
+  return (use_facet<ctype<_CharT> >(loc)).is(ctype_base::digit, c);
+}
+
+template <class _CharT> 
+inline bool ispunct (_CharT c, const locale& loc) {
+  return (use_facet<ctype<_CharT> >(loc)).is(ctype_base::punct, c);
+}
+
+template <class _CharT> 
+inline bool isxdigit (_CharT c, const locale& loc) {
+  return (use_facet<ctype<_CharT> >(loc)).is(ctype_base::xdigit, c);
+}
+
+template <class _CharT> 
+inline bool isalnum (_CharT c, const locale& loc) {
+  return (use_facet<ctype<_CharT> >(loc)).is(ctype_base::alnum, c);
+}
+
+template <class _CharT> 
+inline bool isgraph (_CharT c, const locale& loc) {
+  return (use_facet<ctype<_CharT> >(loc)).is(ctype_base::graph, c);
+}
+
+template <class _CharT>
+inline _CharT toupper(_CharT c, const locale& loc) {
+  return (use_facet<ctype<_CharT> >(loc)).toupper(c);
+}
+
+template <class _CharT>
+inline _CharT tolower(_CharT c, const locale& loc) {
+  return (use_facet<ctype<_CharT> >(loc)).tolower(c);
+}
+
+# ifndef __LOCALE_INITIALIZED
+#  define __LOCALE_INITIALIZED
+# if !defined(__LIBSTD_CPP_SYMBIAN32_WSD__) && !defined(_STLP_LIBSTD_CPP_NO_STATIC_VAR_)
+// Global initializer object, to ensure initialization of locale subsystem.
+static ios_base::_Loc_init _LocInit;
+# endif
+# endif
+
+_STLP_END_NAMESPACE
+
+# elif !defined (_STLP_USE_NO_IOSTREAMS)
+#  include <wrap_std/locale> 
+# endif
+
+# if (_STLP_OUTERMOST_HEADER_ID == 0x1041)
+#  include <stl/_epilog.h>
+#  undef _STLP_OUTERMOST_HEADER_ID
+# endif
+
+#endif /* _STLP_LOCALE */
+
+
+// Local Variables:
+// mode:C++
+// End: