Commit 8a019bcf by Benjamin Kosnik Committed by Benjamin Kosnik

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
parent 63883fc3
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> 2000-09-08 Felix Natter <fnatter@gmx.net>
* docs/17_intro/porting-howto.html: New version. * docs/17_intro/porting-howto.html: New version.
......
...@@ -209,8 +209,15 @@ namespace std ...@@ -209,8 +209,15 @@ namespace std
// 22.1.1 Class locale // 22.1.1 Class locale
class locale class locale
{ {
// Forwrd decls and friends: public:
// Types:
typedef int category;
// Forward decls and friends:
class facet;
class id;
class _Impl; class _Impl;
friend class _Impl; friend class _Impl;
template<typename _Facet> template<typename _Facet>
...@@ -221,12 +228,6 @@ namespace std ...@@ -221,12 +228,6 @@ namespace std
friend bool friend bool
has_facet(const locale&) throw(); has_facet(const locale&) throw();
public:
// Types:
class facet;
class id;
typedef int category;
// Category values: // Category values:
// NB much depends on the order in which these appear: // NB much depends on the order in which these appear:
static const category none = 0; static const category none = 0;
...@@ -317,13 +318,14 @@ namespace std ...@@ -317,13 +318,14 @@ namespace std
// locale implementation object // locale implementation object
class locale::_Impl class locale::_Impl
{ {
public:
// Types. // Types.
typedef vector<facet*, allocator<facet*> > __vec_facet; typedef vector<facet*, allocator<facet*> > __vec_facet;
typedef vector<string, allocator<string> > __vec_string; typedef vector<string, allocator<string> > __vec_string;
// Friends. // Friends.
friend class locale; friend class locale;
friend class facet; friend class locale::facet;
template<typename _Facet> template<typename _Facet>
friend const _Facet& friend const _Facet&
...@@ -333,13 +335,21 @@ namespace std ...@@ -333,13 +335,21 @@ namespace std
friend bool friend bool
has_facet(const locale&) throw(); has_facet(const locale&) throw();
private:
// Data Members. // Data Members.
size_t _M_num_references; size_t _M_num_references;
__vec_facet* _M_facets; __vec_facet* _M_facets;
__vec_string* _M_category_names; __vec_string* _M_category_names;
bool _M_has_name; bool _M_has_name;
bool _M_cached_name_ok; bool _M_cached_name_ok;
string _M_cached_name; 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 inline void
_M_add_reference() throw() _M_add_reference() throw()
...@@ -400,14 +410,6 @@ namespace std ...@@ -400,14 +410,6 @@ namespace std
category category
_M_normalize_category_names(const string&, category __cats); _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 // class locale inlines, that need declaration of locale::_Imp
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment