/docs/MyDocs

To get this branch, use:
bzr branch http://darksoft.org/webbzr/docs/MyDocs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Facets
======
 The key to understanding the C++ locale library is the facet. A facet, 
informally, is a class interface for a service that may be obtained from 
a locale object. 

num_get<> 	- numerical values formated input
num_put<> 	- numerical values formated output
time_get<>	- time values formated input
time_put<>	- time values formated output
numpunct<>	- numeric punctuation
moneypunct<>	- money punctuation
collate<> 	- ordering for string values
ctype<>
codecvt<>
message<>

* It is possible to register new application dependent facets in locale

Overriding
==========
 * The classes for overriding are found in locale_facets.h
 * Some of overrloading features are disabled in template specializations
 * It is possible to overload in certain locales, using  _byname base classes 
   (ctype_byname for example) accepting locale names as parameter.
 * Control of overriding /adding is carried out by id. For overriding,
     We're also inheriting the static member variable id from the base class, 
     instead of defining id ourselves. That's important. We want the system to 
     put my_ctype in the same slot that it would normally use for 
     std::ctype<char>, so the two must use the same id.
 
see examples, in locale_facets.cpp