aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Kosnik <bkoz@purist.soma.redhat.com>2000-09-09 22:41:22 +0000
committerBenjamin Kosnik <bkoz@gcc.gnu.org>2000-09-09 22:41:22 +0000
commit8a019bcf78138e8b202cf5a2f9164451fa335fac (patch)
tree88c6a70b2e97da71b2b87807a4e46911fa1ff2f5
parent63883fc3124c94e1ebd24558d7089970b064c2c4 (diff)
downloadgcc-8a019bcf78138e8b202cf5a2f9164451fa335fac.zip
gcc-8a019bcf78138e8b202cf5a2f9164451fa335fac.tar.gz
gcc-8a019bcf78138e8b202cf5a2f9164451fa335fac.tar.bz2
localefwd.h (locale::_Impl): Scope out types to public.
2000-09-09 Benjamin Kosnik <bkoz@purist.soma.redhat.com> * bits/localefwd.h (locale::_Impl): Scope out types to public. (locale): Make _Impl declaration public. From-SVN: r36283
-rw-r--r--libstdc++-v3/ChangeLog5
-rw-r--r--libstdc++-v3/bits/localefwd.h46
2 files changed, 29 insertions, 22 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index f50c647..f7ea5ee 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,8 @@
+2000-09-09 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
+
+ * bits/localefwd.h (locale::_Impl): Scope out types to public.
+ (locale): Make _Impl declaration public.
+
2000-09-08 Felix Natter <fnatter@gmx.net>
* docs/17_intro/porting-howto.html: New version.
diff --git a/libstdc++-v3/bits/localefwd.h b/libstdc++-v3/bits/localefwd.h
index e7cbd1d..a23369b 100644
--- a/libstdc++-v3/bits/localefwd.h
+++ b/libstdc++-v3/bits/localefwd.h
@@ -209,8 +209,15 @@ namespace std
// 22.1.1 Class locale
class locale
{
- // Forwrd decls and friends:
+ public:
+ // Types:
+ typedef int category;
+
+ // Forward decls and friends:
+ class facet;
+ class id;
class _Impl;
+
friend class _Impl;
template<typename _Facet>
@@ -221,12 +228,6 @@ namespace std
friend bool
has_facet(const locale&) throw();
- public:
- // Types:
- class facet;
- class id;
- typedef int category;
-
// Category values:
// NB much depends on the order in which these appear:
static const category none = 0;
@@ -317,13 +318,14 @@ namespace std
// locale implementation object
class locale::_Impl
{
+ public:
// Types.
typedef vector<facet*, allocator<facet*> > __vec_facet;
typedef vector<string, allocator<string> > __vec_string;
// Friends.
friend class locale;
- friend class facet;
+ friend class locale::facet;
template<typename _Facet>
friend const _Facet&
@@ -333,13 +335,21 @@ namespace std
friend bool
has_facet(const locale&) throw();
+ private:
// Data Members.
- size_t _M_num_references;
- __vec_facet* _M_facets;
- __vec_string* _M_category_names;
- bool _M_has_name;
- bool _M_cached_name_ok;
- string _M_cached_name;
+ size_t _M_num_references;
+ __vec_facet* _M_facets;
+ __vec_string* _M_category_names;
+ bool _M_has_name;
+ bool _M_cached_name_ok;
+ string _M_cached_name;
+ static const locale::id* const _S_id_collate[];
+ static const locale::id* const _S_id_ctype[];
+ static const locale::id* const _S_id_monetary[];
+ static const locale::id* const _S_id_numeric[];
+ static const locale::id* const _S_id_time[];
+ static const locale::id* const _S_id_messages[];
+ static const locale::id* const* const _S_facet_categories[];
inline void
_M_add_reference() throw()
@@ -400,14 +410,6 @@ namespace std
category
_M_normalize_category_names(const string&, category __cats);
-
- static const locale::id* const _S_id_collate[];
- static const locale::id* const _S_id_ctype[];
- static const locale::id* const _S_id_monetary[];
- static const locale::id* const _S_id_numeric[];
- static const locale::id* const _S_id_time[];
- static const locale::id* const _S_id_messages[];
- static const locale::id* const* const _S_facet_categories[];
};
// class locale inlines, that need declaration of locale::_Imp