ReactOS 0.4.15-dev-7934-g1dc8d80
locale_catalog.cpp File Reference
#include "stlport_prefix.h"
#include <hash_map>
#include <string>
#include <locale>
#include <istream>
#include "c_locale.h"
#include "locale_impl.h"
#include "acquire_release.h"
Include dependency graph for locale_catalog.cpp:

Go to the source code of this file.

Typedefs

typedef void *(* loc_create_func_t) (const char *, _Locale_name_hint *, int *__err_code)
 
typedef char const *(* loc_name_func_t) (void *l, char *s)
 
typedef void(* loc_destroy_func_t) (void *l)
 
typedef const char *(* loc_default_name_func_t) (char *s)
 
typedef char const *(* loc_extract_name_func_t) (const char *, char *, _Locale_name_hint *, int *__err_code)
 
typedef hash_map< string, pair< void *, size_t >, hash< string >, equal_to< string > > Category_Map
 

Functions

_STLP_BEGIN_NAMESPACE static _STLP_MOVE_TO_PRIV_NAMESPACE void_Loc_ctype_create (const char *s, _Locale_name_hint *hint, int *__err_code)
 
static void_Loc_codecvt_create (const char *s, _Locale_name_hint *hint, int *__err_code)
 
static void_Loc_numeric_create (const char *s, _Locale_name_hint *hint, int *__err_code)
 
static void_Loc_time_create (const char *s, _Locale_name_hint *hint, int *__err_code)
 
static void_Loc_collate_create (const char *s, _Locale_name_hint *hint, int *__err_code)
 
static void_Loc_monetary_create (const char *s, _Locale_name_hint *hint, int *__err_code)
 
static void_Loc_messages_create (const char *s, _Locale_name_hint *hint, int *__err_code)
 
static char const_Loc_ctype_name (void *l, char *s)
 
static char const_Loc_codecvt_name (void *l, char *s)
 
static char const_Loc_numeric_name (void *l, char *s)
 
static char const_Loc_time_name (void *l, char *s)
 
static char const_Loc_collate_name (void *l, char *s)
 
static char const_Loc_monetary_name (void *l, char *s)
 
static char const_Loc_messages_name (void *l, char *s)
 
static const char_Loc_ctype_default (char *p)
 
static const char_Loc_numeric_default (char *p)
 
static const char_Loc_time_default (char *p)
 
static const char_Loc_collate_default (char *p)
 
static const char_Loc_monetary_default (char *p)
 
static const char_Loc_messages_default (char *p)
 
static void _Loc_ctype_destroy (void *p)
 
static void _Loc_codecvt_destroy (void *p)
 
static void _Loc_numeric_destroy (void *p)
 
static void _Loc_time_destroy (void *p)
 
static void _Loc_collate_destroy (void *p)
 
static void _Loc_monetary_destroy (void *p)
 
static void _Loc_messages_destroy (void *p)
 
static Category_Map ** ctype_hash ()
 
static Category_Map ** codecvt_hash ()
 
static Category_Map ** numeric_hash ()
 
static Category_Map ** time_hash ()
 
static Category_Map ** collate_hash ()
 
static Category_Map ** monetary_hash ()
 
static Category_Map ** messages_hash ()
 
static _STLP_STATIC_MUTEXcategory_hash_mutex ()
 
static void__acquire_category (const char *&name, char *buf, _Locale_name_hint *hint, loc_extract_name_func_t extract_name, loc_create_func_t create_obj, loc_default_name_func_t default_name, Category_Map **M, int *__err_code)
 
static void __release_category (void *cat, loc_destroy_func_t destroy_fun, loc_name_func_t get_name, Category_Map **M)
 
_Locale_ctype *_STLP_CALL __acquire_ctype (const char *&name, char *buf, _Locale_name_hint *hint, int *__err_code)
 
_Locale_codecvt *_STLP_CALL __acquire_codecvt (const char *&name, char *buf, _Locale_name_hint *hint, int *__err_code)
 
_Locale_numeric *_STLP_CALL __acquire_numeric (const char *&name, char *buf, _Locale_name_hint *hint, int *__err_code)
 
_Locale_time *_STLP_CALL __acquire_time (const char *&name, char *buf, _Locale_name_hint *hint, int *__err_code)
 
_Locale_collate *_STLP_CALL __acquire_collate (const char *&name, char *buf, _Locale_name_hint *hint, int *__err_code)
 
_Locale_monetary *_STLP_CALL __acquire_monetary (const char *&name, char *buf, _Locale_name_hint *hint, int *__err_code)
 
_Locale_messages *_STLP_CALL __acquire_messages (const char *&name, char *buf, _Locale_name_hint *hint, int *__err_code)
 
void _STLP_CALL __release_ctype (_Locale_ctype *cat)
 
void _STLP_CALL __release_codecvt (_Locale_codecvt *cat)
 
void _STLP_CALL __release_numeric (_Locale_numeric *cat)
 
void _STLP_CALL __release_time (_Locale_time *cat)
 
void _STLP_CALL __release_collate (_Locale_collate *cat)
 
void _STLP_CALL __release_monetary (_Locale_monetary *cat)
 
void _STLP_CALL __release_messages (_Locale_messages *cat)
 

Typedef Documentation

◆ Category_Map

Definition at line 99 of file locale_catalog.cpp.

◆ loc_create_func_t

typedef void *(* loc_create_func_t) (const char *, _Locale_name_hint *, int *__err_code)

Definition at line 87 of file locale_catalog.cpp.

◆ loc_default_name_func_t

typedef const char *(* loc_default_name_func_t) (char *s)

Definition at line 90 of file locale_catalog.cpp.

◆ loc_destroy_func_t

typedef void(* loc_destroy_func_t) (void *l)

Definition at line 89 of file locale_catalog.cpp.

◆ loc_extract_name_func_t

typedef char const *(* loc_extract_name_func_t) (const char *, char *, _Locale_name_hint *, int *__err_code)

Definition at line 91 of file locale_catalog.cpp.

◆ loc_name_func_t

typedef char const *(* loc_name_func_t) (void *l, char *s)

Definition at line 88 of file locale_catalog.cpp.

Function Documentation

◆ __acquire_category()

static void * __acquire_category ( const char *&  name,
char buf,
_Locale_name_hint hint,
loc_extract_name_func_t  extract_name,
loc_create_func_t  create_obj,
loc_default_name_func_t  default_name,
Category_Map **  M,
int __err_code 
)
static

Definition at line 140 of file locale_catalog.cpp.

143 {
144#if !defined (__BORLANDC__) || (__BORLANDC__ >= 0x564)
145 typedef Category_Map::iterator Category_iterator;
147#else
148# if !defined(_STLP_DEBUG)
149 pair<_Ht_iterator<_Slist_iterator<pair<const string,pair<void *,unsigned int> >,_Nonconst_traits<pair<const string,pair<void *,unsigned int> > > >,_NonLocalHashMapTraitsT<pair<const string,pair<void *,unsigned int> > > >, bool> result;
150# else
151 pair<_DBG_iter<_NonDbg_hashtable<pair<const string,pair<void *,unsigned int> >,string,hash<string>,_HashMapTraitsT<pair<const string,pair<void *,unsigned int> > >,_Select1st<pair<const string,pair<void *,unsigned int> > >,_DbgEqual<string,equal_to<string> >,allocator<pair<const string,pair<void *,unsigned int> > > >,_DbgTraits<_NonLocalHashMapTraitsT<pair<const string,pair<void *,unsigned int> > > > >, bool> result;
152# endif
153#endif
154
155 *__err_code = _STLP_LOC_UNDEFINED;
156
157 // Find what name to look for. Be careful if user requests the default.
158 if (name[0] == 0) {
159 name = default_name(buf);
160 if (name == 0 || name[0] == 0)
161 name = "C";
162 }
163 else {
164 const char* cname = extract_name(name, buf, hint, __err_code);
165 if (cname == 0) {
166 return 0;
167 }
168 name = cname;
169 }
170
171 Category_Map::value_type __e(name, pair<void*,size_t>((void*)0,size_t(0)));
172
174
175 if (!*M)
176 *M = new Category_Map();
177
178 // Look for an existing entry with that name.
179 result = (*M)->insert_noresize(__e);
180
181 if (result.second) {
182 // There was no entry in the map already. Create the category.
183 (*result.first).second.first = create_obj(name, hint, __err_code);
184 if (!(*result.first).second.first) {
185 (*M)->erase(result.first);
186#if defined (_STLP_LEAKS_PEDANTIC)
187 if ((*M)->empty()) {
188 delete *M;
189 *M = 0;
190 }
191#endif
192 return 0;
193 }
194 }
195
196 // Increment the reference count.
197 ++((*result.first).second.second);
198
199 return (*result.first).second.first;
200}
_Ht::iterator iterator
Definition: _hash_map.h:75
#define M(row, col)
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
GLuint64EXT * result
Definition: glext.h:11304
#define _STLP_LOC_UNDEFINED
Definition: c_locale.h:99
static _STLP_STATIC_MUTEX & category_hash_mutex()
hash_map< string, pair< void *, size_t >, hash< string >, equal_to< string > > Category_Map
char string[160]
Definition: util.h:11
Definition: _hash_fun.h:40
Definition: name.c:39
Definition: _pair.h:47
DWORD hint
Definition: vfdcmd.c:88

Referenced by __acquire_codecvt(), __acquire_collate(), __acquire_ctype(), __acquire_messages(), __acquire_monetary(), __acquire_numeric(), and __acquire_time().

◆ __acquire_codecvt()

_Locale_codecvt *_STLP_CALL __acquire_codecvt ( const char *&  name,
char buf,
_Locale_name_hint hint,
int __err_code 
)

Definition at line 241 of file locale_catalog.cpp.

241 {
244 codecvt_hash(), __err_code));
245}
#define __REINTERPRET_CAST(__x, __y)
Definition: features.h:586
char const * _Locale_extract_ctype_name(const char *cname, char *__buf, struct _Locale_name_hint *__hint, int *__err_code)
static void * __acquire_category(const char *&name, char *buf, _Locale_name_hint *hint, loc_extract_name_func_t extract_name, loc_create_func_t create_obj, loc_default_name_func_t default_name, Category_Map **M, int *__err_code)
static const char * _Loc_ctype_default(char *p)
static Category_Map ** codecvt_hash()
static void * _Loc_codecvt_create(const char *s, _Locale_name_hint *hint, int *__err_code)

Referenced by codecvt_byname< wchar_t, char, mbstate_t >::codecvt_byname(), and _Locale_impl::insert_ctype_facets().

◆ __acquire_collate()

_Locale_collate *_STLP_CALL __acquire_collate ( const char *&  name,
char buf,
_Locale_name_hint hint,
int __err_code 
)

Definition at line 256 of file locale_catalog.cpp.

256 {
259 collate_hash(), __err_code));
260}
char const * _Locale_extract_collate_name(const char *cname, char *__buf, struct _Locale_name_hint *__hint, int *__err_code)
static void * _Loc_collate_create(const char *s, _Locale_name_hint *hint, int *__err_code)
static Category_Map ** collate_hash()
static const char * _Loc_collate_default(char *p)

Referenced by collate_byname< char >::collate_byname(), collate_byname< wchar_t >::collate_byname(), and _Locale_impl::insert_collate_facets().

◆ __acquire_ctype()

_Locale_ctype *_STLP_CALL __acquire_ctype ( const char *&  name,
char buf,
_Locale_name_hint hint,
int __err_code 
)

Definition at line 236 of file locale_catalog.cpp.

236 {
239 ctype_hash(), __err_code));
240}
_STLP_BEGIN_NAMESPACE static _STLP_MOVE_TO_PRIV_NAMESPACE void * _Loc_ctype_create(const char *s, _Locale_name_hint *hint, int *__err_code)
static Category_Map ** ctype_hash()

Referenced by ctype_byname< char >::ctype_byname(), ctype_byname< wchar_t >::ctype_byname(), and _Locale_impl::insert_ctype_facets().

◆ __acquire_messages()

_Locale_messages *_STLP_CALL __acquire_messages ( const char *&  name,
char buf,
_Locale_name_hint hint,
int __err_code 
)

Definition at line 266 of file locale_catalog.cpp.

266 {
267 return __REINTERPRET_CAST(_Locale_messages*, __acquire_category(name, buf, hint,
269 messages_hash(), __err_code));
270}
char const * _Locale_extract_messages_name(const char *cname, char *__buf, struct _Locale_name_hint *__hint, int *__err_code)
static Category_Map ** messages_hash()
static void * _Loc_messages_create(const char *s, _Locale_name_hint *hint, int *__err_code)
static const char * _Loc_messages_default(char *p)

Referenced by _Messages::_Messages(), and _Locale_impl::insert_messages_facets().

◆ __acquire_monetary()

_Locale_monetary *_STLP_CALL __acquire_monetary ( const char *&  name,
char buf,
_Locale_name_hint hint,
int __err_code 
)

Definition at line 261 of file locale_catalog.cpp.

261 {
264 monetary_hash(), __err_code));
265}
char const * _Locale_extract_monetary_name(const char *cname, char *__buf, struct _Locale_name_hint *__hint, int *__err_code)
static Category_Map ** monetary_hash()
static void * _Loc_monetary_create(const char *s, _Locale_name_hint *hint, int *__err_code)
static const char * _Loc_monetary_default(char *p)

Referenced by _Locale_impl::insert_monetary_facets(), moneypunct_byname< char, true >::moneypunct_byname(), moneypunct_byname< char, false >::moneypunct_byname(), moneypunct_byname< wchar_t, true >::moneypunct_byname(), and moneypunct_byname< wchar_t, false >::moneypunct_byname().

◆ __acquire_numeric()

_Locale_numeric *_STLP_CALL __acquire_numeric ( const char *&  name,
char buf,
_Locale_name_hint hint,
int __err_code 
)

Definition at line 246 of file locale_catalog.cpp.

246 {
249 numeric_hash(), __err_code));
250}
char const * _Locale_extract_numeric_name(const char *cname, char *__buf, struct _Locale_name_hint *__hint, int *__err_code)
static Category_Map ** numeric_hash()
static void * _Loc_numeric_create(const char *s, _Locale_name_hint *hint, int *__err_code)
static const char * _Loc_numeric_default(char *p)

Referenced by _Locale_impl::insert_numeric_facets(), numpunct_byname< char >::numpunct_byname(), and numpunct_byname< wchar_t >::numpunct_byname().

◆ __acquire_time()

_Locale_time *_STLP_CALL __acquire_time ( const char *&  name,
char buf,
_Locale_name_hint hint,
int __err_code 
)

Definition at line 251 of file locale_catalog.cpp.

251 {
254 time_hash(), __err_code));
255}
char const * _Locale_extract_time_name(const char *cname, char *__buf, struct _Locale_name_hint *__hint, int *__err_code)
static void * _Loc_time_create(const char *s, _Locale_name_hint *hint, int *__err_code)
static Category_Map ** time_hash()
static const char * _Loc_time_default(char *p)

Referenced by _Locale_impl::insert_time_facets(), time_init< char >::time_init(), and time_init< wchar_t >::time_init().

◆ __release_category()

static void __release_category ( void cat,
loc_destroy_func_t  destroy_fun,
loc_name_func_t  get_name,
Category_Map **  M 
)
static

Definition at line 203 of file locale_catalog.cpp.

206 {
207 Category_Map *pM = *M;
208
209 if (cat && pM) {
210 // Find the name of the category object.
212 char const* name = get_name(cat, buf);
213
214 if (name != 0) {
217 if (it != pM->end()) {
218 // Decrement the ref count. If it goes to zero, delete this category
219 // from the map.
220 if (--((*it).second.second) == 0) {
221 void* cat1 = (*it).second.first;
222 destroy_fun(cat1);
223 pM->erase(it);
224#if defined (_STLP_LEAKS_PEDANTIC)
225 if (pM->empty()) {
226 delete pM;
227 *M = 0;
228 }
229#endif
230 }
231 }
232 }
233 }
234}
int get_name(unsigned char **pos, uint32_t *remaining, const char **out_name)
Definition: util.c:55
_STLP_TEMPLATE_FOR_CONT_EXT iterator find(const _KT &__key)
Definition: _hash_map.h:195
iterator end()
Definition: _hash_map.h:174
_STLP_TEMPLATE_FOR_CONT_EXT size_type erase(const _KT &__key)
Definition: _hash_map.h:218
bool empty() const
Definition: _hash_map.h:168
#define _Locale_MAX_SIMPLE_NAME
Definition: c_locale.h:54

Referenced by __release_codecvt(), __release_collate(), __release_ctype(), __release_messages(), __release_monetary(), __release_numeric(), and __release_time().

◆ __release_codecvt()

void _STLP_CALL __release_codecvt ( _Locale_codecvt cat)

Definition at line 274 of file locale_catalog.cpp.

static void __release_category(void *cat, loc_destroy_func_t destroy_fun, loc_name_func_t get_name, Category_Map **M)
static void _Loc_codecvt_destroy(void *p)
static char const * _Loc_codecvt_name(void *l, char *s)

Referenced by _Locale_impl::insert_ctype_facets(), and codecvt_byname< wchar_t, char, mbstate_t >::~codecvt_byname().

◆ __release_collate()

void _STLP_CALL __release_collate ( _Locale_collate cat)

Definition at line 280 of file locale_catalog.cpp.

static char const * _Loc_collate_name(void *l, char *s)
static void _Loc_collate_destroy(void *p)

Referenced by _Locale_impl::insert_collate_facets(), collate_byname< char >::~collate_byname(), and collate_byname< wchar_t >::~collate_byname().

◆ __release_ctype()

void _STLP_CALL __release_ctype ( _Locale_ctype cat)

Definition at line 272 of file locale_catalog.cpp.

static char const * _Loc_ctype_name(void *l, char *s)
static void _Loc_ctype_destroy(void *p)

Referenced by _Locale_impl::insert_ctype_facets(), ctype_byname< char >::~ctype_byname(), and ctype_byname< wchar_t >::~ctype_byname().

◆ __release_messages()

void _STLP_CALL __release_messages ( _Locale_messages *  cat)

Definition at line 284 of file locale_catalog.cpp.

static void _Loc_messages_destroy(void *p)
static char const * _Loc_messages_name(void *l, char *s)

Referenced by _Locale_impl::insert_messages_facets(), and _Messages::~_Messages().

◆ __release_monetary()

void _STLP_CALL __release_monetary ( _Locale_monetary cat)

Definition at line 282 of file locale_catalog.cpp.

static char const * _Loc_monetary_name(void *l, char *s)
static void _Loc_monetary_destroy(void *p)

Referenced by _Locale_impl::insert_monetary_facets().

◆ __release_numeric()

void _STLP_CALL __release_numeric ( _Locale_numeric cat)

Definition at line 276 of file locale_catalog.cpp.

static void _Loc_numeric_destroy(void *p)
static char const * _Loc_numeric_name(void *l, char *s)

Referenced by _Locale_impl::insert_numeric_facets(), numpunct_byname< char >::~numpunct_byname(), and numpunct_byname< wchar_t >::~numpunct_byname().

◆ __release_time()

void _STLP_CALL __release_time ( _Locale_time cat)

Definition at line 278 of file locale_catalog.cpp.

static void _Loc_time_destroy(void *p)
static char const * _Loc_time_name(void *l, char *s)

Referenced by _Locale_impl::insert_time_facets(), time_init< char >::time_init(), and time_init< wchar_t >::time_init().

◆ _Loc_codecvt_create()

static void * _Loc_codecvt_create ( const char s,
_Locale_name_hint hint,
int __err_code 
)
static

Definition at line 38 of file locale_catalog.cpp.

39{ return _Locale_codecvt_create(s, hint, __err_code); }
GLdouble s
Definition: gl.h:2039
struct _Locale_codecvt * _Locale_codecvt_create(const char *, struct _Locale_name_hint *, int *)

Referenced by __acquire_codecvt().

◆ _Loc_codecvt_destroy()

static void _Loc_codecvt_destroy ( void p)
static

Definition at line 80 of file locale_catalog.cpp.

GLfloat GLfloat p
Definition: glext.h:8902
void _Locale_codecvt_destroy(struct _Locale_codecvt *)

Referenced by __release_codecvt().

◆ _Loc_codecvt_name()

static char const * _Loc_codecvt_name ( void l,
char s 
)
static

Definition at line 53 of file locale_catalog.cpp.

r l[0]
Definition: byte_order.h:168
char const * _Locale_codecvt_name(const struct _Locale_codecvt *, char *__buf)

Referenced by __release_codecvt().

◆ _Loc_collate_create()

static void * _Loc_collate_create ( const char s,
_Locale_name_hint hint,
int __err_code 
)
static

Definition at line 44 of file locale_catalog.cpp.

45{ return _Locale_collate_create(s, hint, __err_code); }
struct _Locale_collate * _Locale_collate_create(const char *, struct _Locale_name_hint *, int *)

Referenced by __acquire_collate().

◆ _Loc_collate_default()

static const char * _Loc_collate_default ( char p)
static

Definition at line 72 of file locale_catalog.cpp.

73{ return _Locale_collate_default(p); }
const char * _Locale_collate_default(char *__buf)

Referenced by __acquire_collate().

◆ _Loc_collate_destroy()

static void _Loc_collate_destroy ( void p)
static

Definition at line 83 of file locale_catalog.cpp.

void _Locale_collate_destroy(struct _Locale_collate *)

Referenced by __release_collate().

◆ _Loc_collate_name()

static char const * _Loc_collate_name ( void l,
char s 
)
static

Definition at line 59 of file locale_catalog.cpp.

char const * _Locale_collate_name(const struct _Locale_collate *, char *__buf)

Referenced by __release_collate().

◆ _Loc_ctype_create()

_STLP_BEGIN_NAMESPACE static _STLP_MOVE_TO_PRIV_NAMESPACE void * _Loc_ctype_create ( const char s,
_Locale_name_hint hint,
int __err_code 
)
static

Definition at line 36 of file locale_catalog.cpp.

37{ return _Locale_ctype_create(s, hint, __err_code); }
struct _Locale_ctype * _Locale_ctype_create(const char *, struct _Locale_name_hint *, int *)

Referenced by __acquire_ctype().

◆ _Loc_ctype_default()

static const char * _Loc_ctype_default ( char p)
static

Definition at line 66 of file locale_catalog.cpp.

67{ return _Locale_ctype_default(p); }
const char * _Locale_ctype_default(char *__buf)

Referenced by __acquire_codecvt(), and __acquire_ctype().

◆ _Loc_ctype_destroy()

static void _Loc_ctype_destroy ( void p)
static

Definition at line 79 of file locale_catalog.cpp.

void _Locale_ctype_destroy(struct _Locale_ctype *)

Referenced by __release_ctype().

◆ _Loc_ctype_name()

static char const * _Loc_ctype_name ( void l,
char s 
)
static

Definition at line 51 of file locale_catalog.cpp.

52{ return _Locale_ctype_name((_Locale_ctype*)l, s); }
char const * _Locale_ctype_name(const struct _Locale_ctype *, char *__buf)

Referenced by __release_ctype().

◆ _Loc_messages_create()

static void * _Loc_messages_create ( const char s,
_Locale_name_hint hint,
int __err_code 
)
static

Definition at line 48 of file locale_catalog.cpp.

49{ return _Locale_messages_create(s, hint, __err_code); }
struct _Locale_messages * _Locale_messages_create(const char *, struct _Locale_name_hint *, int *)

Referenced by __acquire_messages().

◆ _Loc_messages_default()

static const char * _Loc_messages_default ( char p)
static

Definition at line 76 of file locale_catalog.cpp.

77{ return _Locale_messages_default(p); }
const char * _Locale_messages_default(char *__buf)

Referenced by __acquire_messages().

◆ _Loc_messages_destroy()

static void _Loc_messages_destroy ( void p)
static

Definition at line 85 of file locale_catalog.cpp.

85{_Locale_messages_destroy((_Locale_messages*)p);}
void _Locale_messages_destroy(struct _Locale_messages *)

Referenced by __release_messages().

◆ _Loc_messages_name()

static char const * _Loc_messages_name ( void l,
char s 
)
static

Definition at line 63 of file locale_catalog.cpp.

64{ return _Locale_messages_name((_Locale_messages*)l, s); }
char const * _Locale_messages_name(const struct _Locale_messages *, char *__buf)

Referenced by __release_messages().

◆ _Loc_monetary_create()

static void * _Loc_monetary_create ( const char s,
_Locale_name_hint hint,
int __err_code 
)
static

Definition at line 46 of file locale_catalog.cpp.

47{ return _Locale_monetary_create(s, hint, __err_code); }
struct _Locale_monetary * _Locale_monetary_create(const char *, struct _Locale_name_hint *, int *)

Referenced by __acquire_monetary().

◆ _Loc_monetary_default()

static const char * _Loc_monetary_default ( char p)
static

Definition at line 74 of file locale_catalog.cpp.

75{ return _Locale_monetary_default(p); }
const char * _Locale_monetary_default(char *__buf)

Referenced by __acquire_monetary().

◆ _Loc_monetary_destroy()

static void _Loc_monetary_destroy ( void p)
static

Definition at line 84 of file locale_catalog.cpp.

void _Locale_monetary_destroy(struct _Locale_monetary *)

Referenced by __release_monetary().

◆ _Loc_monetary_name()

static char const * _Loc_monetary_name ( void l,
char s 
)
static

Definition at line 61 of file locale_catalog.cpp.

char const * _Locale_monetary_name(const struct _Locale_monetary *, char *__buf)

Referenced by __release_monetary().

◆ _Loc_numeric_create()

static void * _Loc_numeric_create ( const char s,
_Locale_name_hint hint,
int __err_code 
)
static

Definition at line 40 of file locale_catalog.cpp.

41{ return _Locale_numeric_create(s, hint, __err_code); }
struct _Locale_numeric * _Locale_numeric_create(const char *, struct _Locale_name_hint *, int *)

Referenced by __acquire_numeric().

◆ _Loc_numeric_default()

static const char * _Loc_numeric_default ( char p)
static

Definition at line 68 of file locale_catalog.cpp.

69{ return _Locale_numeric_default(p); }
const char * _Locale_numeric_default(char *__buf)

Referenced by __acquire_numeric().

◆ _Loc_numeric_destroy()

static void _Loc_numeric_destroy ( void p)
static

Definition at line 81 of file locale_catalog.cpp.

void _Locale_numeric_destroy(struct _Locale_numeric *)

Referenced by __release_numeric().

◆ _Loc_numeric_name()

static char const * _Loc_numeric_name ( void l,
char s 
)
static

Definition at line 55 of file locale_catalog.cpp.

char const * _Locale_numeric_name(const struct _Locale_numeric *, char *__buf)

Referenced by __release_numeric().

◆ _Loc_time_create()

static void * _Loc_time_create ( const char s,
_Locale_name_hint hint,
int __err_code 
)
static

Definition at line 42 of file locale_catalog.cpp.

43{ return _Locale_time_create(s, hint, __err_code); }
struct _Locale_time * _Locale_time_create(const char *, struct _Locale_name_hint *, int *)

Referenced by __acquire_time().

◆ _Loc_time_default()

static const char * _Loc_time_default ( char p)
static

Definition at line 70 of file locale_catalog.cpp.

71{ return _Locale_time_default(p); }
const char * _Locale_time_default(char *__buf)

Referenced by __acquire_time().

◆ _Loc_time_destroy()

static void _Loc_time_destroy ( void p)
static

Definition at line 82 of file locale_catalog.cpp.

void _Locale_time_destroy(struct _Locale_time *)

Referenced by __release_time().

◆ _Loc_time_name()

static char const * _Loc_time_name ( void l,
char s 
)
static

Definition at line 57 of file locale_catalog.cpp.

58{ return _Locale_time_name((_Locale_time*)l, s); }
char const * _Locale_time_name(const struct _Locale_time *, char *__buf)

Referenced by __release_time().

◆ category_hash_mutex()

static _STLP_STATIC_MUTEX & category_hash_mutex ( )
static

Definition at line 134 of file locale_catalog.cpp.

134 {
136 return lock;
137}
#define _STLP_MUTEX_INITIALIZER
Definition: _threads.h:241
#define _STLP_STATIC_MUTEX
Definition: features.h:267
rwlock_t lock
Definition: tcpcore.h:0

Referenced by __acquire_category(), and __release_category().

◆ codecvt_hash()

static Category_Map ** codecvt_hash ( )
static

Definition at line 106 of file locale_catalog.cpp.

106 {
107 static Category_Map *_S_codecvt_hash = 0;
108 return &_S_codecvt_hash;
109}

Referenced by __acquire_codecvt(), and __release_codecvt().

◆ collate_hash()

static Category_Map ** collate_hash ( )
static

Definition at line 118 of file locale_catalog.cpp.

118 {
119 static Category_Map *_S_collate_hash = 0;
120 return &_S_collate_hash;
121}

Referenced by __acquire_collate(), and __release_collate().

◆ ctype_hash()

static Category_Map ** ctype_hash ( )
static

Definition at line 102 of file locale_catalog.cpp.

102 {
103 static Category_Map *_S_ctype_hash = 0;
104 return &_S_ctype_hash;
105}

Referenced by __acquire_ctype(), and __release_ctype().

◆ messages_hash()

static Category_Map ** messages_hash ( )
static

Definition at line 126 of file locale_catalog.cpp.

126 {
127 static Category_Map *_S_messages_hash;
128 return &_S_messages_hash;
129}

Referenced by __acquire_messages(), and __release_messages().

◆ monetary_hash()

static Category_Map ** monetary_hash ( )
static

Definition at line 122 of file locale_catalog.cpp.

122 {
123 static Category_Map *_S_monetary_hash = 0;
124 return &_S_monetary_hash;
125}

Referenced by __acquire_monetary(), and __release_monetary().

◆ numeric_hash()

static Category_Map ** numeric_hash ( )
static

Definition at line 110 of file locale_catalog.cpp.

110 {
111 static Category_Map *_S_numeric_hash = 0;
112 return &_S_numeric_hash;
113}

Referenced by __acquire_numeric(), and __release_numeric().

◆ time_hash()

static Category_Map ** time_hash ( )
static

Definition at line 114 of file locale_catalog.cpp.

114 {
115 static Category_Map *_S_time_hash = 0;
116 return &_S_time_hash;
117}

Referenced by __acquire_time(), and __release_time().