STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
xlocinfo.h
Go to the documentation of this file.
1 /* xlocinfo.h internal header for Microsoft */
2 #pragma once
3 #ifndef _XLOCINFO
4 #define _XLOCINFO
5 #ifndef RC_INVOKED
6 #include <ctype.h>
7 #include <locale.h>
8 #include <wchar.h>
9 #include <yvals.h>
10 
11  #pragma pack(push,_CRT_PACKING)
12  #pragma warning(push,3)
13  #pragma push_macro("new")
14  #undef new
15 
17  #if !defined(MRTDLL) || !defined(_CRTBLD)
18  #ifndef _M_CEE_PURE
20  #endif /* _M_CEE_PURE */
21  #endif /* !MRTDLL || !_CRTBLD */
22 
23  /* CTYPE CODE BITS */
24 #define _XB 0x000 /* extra blank */
25 #define _XA 0x100 /* extra alphabetic */
26 #define _XS 0x000 /* extra space */
27 #define _BB _CONTROL /* BEL, BS, etc. */
28 #define _CN _SPACE /* CR, FF, HT, NL, VT */
29 #define _DI _DIGIT /* '0'-'9' */
30 #define _LO _LOWER /* 'a'-'z' */
31 #define _PU _PUNCT /* punctuation */
32 #define _SP _BLANK /* space */
33 #define _UP _UPPER /* 'A'-'Z' */
34 #define _XD _HEX /* '0'-'9', 'A'-'F', 'a'-'f' */
35 
36  /* SUPPLEMENTAL LOCALE MACROS AND DECLARATIONS */
37 #define _X_ALL LC_ALL
38 #define _X_COLLATE LC_COLLATE
39 #define _X_CTYPE LC_CTYPE
40 #define _X_MONETARY LC_MONETARY
41 #define _X_NUMERIC LC_NUMERIC
42 #define _X_TIME LC_TIME
43 #define _X_MAX LC_MAX
44 #define _X_MESSAGES 6
45 #define _NCAT (_X_MESSAGES + 1) /* maximum + 1 */
46 
47  #define _CATMASK(n) ((1 << (n)) >> 1)
48  #define _M_COLLATE _CATMASK(_X_COLLATE)
49  #define _M_CTYPE _CATMASK(_X_CTYPE)
50  #define _M_MONETARY _CATMASK(_X_MONETARY)
51  #define _M_NUMERIC _CATMASK(_X_NUMERIC)
52  #define _M_TIME _CATMASK(_X_TIME)
53  #define _M_MESSAGES _CATMASK(_X_MESSAGES)
54  #define _M_ALL (_CATMASK(_NCAT) - 1)
55 
56 typedef struct _Collvec
57  { /* stuff needed by _Strcoll, etc. */
58  unsigned int _Page; // UINT
59  wchar_t *_LocaleName;
60  } _Collvec;
61 
62 typedef struct _Ctypevec
63  { /* stuff needed by _Tolower, etc. */
64  unsigned int _Page; // UINT
65  const short *_Table;
66  int _Delfl;
67  wchar_t *_LocaleName;
68  } _Ctypevec;
69 
70 typedef struct _Cvtvec
71  { /* stuff needed by _Mbrtowc, etc. */
72  unsigned int _Page; // UINT
73  unsigned int _Mbcurmax;
74  int _Isclocale; // LCID == _CLOCALEHANDLE
75  unsigned char _Isleadbyte[32]; // 256 bits
76  } _Cvtvec;
77 
78  /* FUNCTION DECLARATIONS */
83 
84  #ifdef _M_CEE_PURE
85 [System::Runtime::InteropServices::DllImport(_CRT_MSVCP_CURRENT,
86  EntryPoint = "_Mbrtowc",
87  CallingConvention =
88  System::Runtime::InteropServices::CallingConvention::Cdecl)]
89 extern "C" int _Mbrtowc(_Out_opt_ wchar_t *, const char *, size_t,
90  mbstate_t *, const _Cvtvec *);
91 
92  #else /* _M_CEE_PURE */
93 _MRTIMP2 int __cdecl _Mbrtowc(_Out_opt_ wchar_t *, const char *, size_t,
94  mbstate_t *, const _Cvtvec *);
95  #endif /* _M_CEE_PURE */
96 
98  _Out_opt_ _Deref_post_opt_valid_ char **, long);
99 _CRTIMP2_PURE double __CLRCALL_PURE_OR_CDECL _Stod(const char *,
100  _Out_opt_ _Deref_post_opt_valid_ char **, long);
101 _CRTIMP2_PURE long double __CLRCALL_PURE_OR_CDECL _Stold(const char *,
102  _Out_opt_ _Deref_post_opt_valid_ char **, long);
103 
104 _CRTIMP2_PURE int __CLRCALL_PURE_OR_CDECL _Strcoll(const char *, const char *,
105  const char *, const char *, const _Collvec *);
107  _Out_writes_(_End1 - _String1) _Post_readable_size_(return) char *_String1,
108  _In_z_ char *_End1, const char *, const char *, const _Collvec *);
112  const _Cvtvec *);
113 _CRTIMP2_PURE int __CLRCALL_PURE_OR_CDECL _Wcscoll(const wchar_t *, const wchar_t *,
114  const wchar_t *, const wchar_t *, const _Collvec *);
116  _Out_writes_(_End1 - _String1) _Post_readable_size_(return) wchar_t *_String1,
117  _In_z_ wchar_t *_End1, const wchar_t *, const wchar_t *, const _Collvec *);
118 
120 _CRTIMP2_PURE const wchar_t *__CLRCALL_PURE_OR_CDECL _Getwctypes(const wchar_t *,
121  const wchar_t *, short *, const _Ctypevec *);
122 _CRTIMP2_PURE wchar_t __CLRCALL_PURE_OR_CDECL _Towlower(wchar_t, const _Ctypevec *);
123 _CRTIMP2_PURE wchar_t __CLRCALL_PURE_OR_CDECL _Towupper(wchar_t, const _Ctypevec *);
124 
125  #if !defined(MRTDLL) || !defined(_CRTBLD)
126  #ifndef _M_CEE_PURE
128  #endif /* _M_CEE_PURE */
129  #endif /* !MRTDLL || !_CRTBLD */
131 
133 _CRTIMP char *__cdecl _Getdays();
134 _CRTIMP char *__cdecl _Getmonths();
135 _CRTIMP void *__cdecl _Gettnames();
136 _CRTIMP size_t __cdecl _Strftime(_Out_writes_(_Maxsize) char *,
137  _In_ size_t _Maxsize, _In_z_ _Printf_format_string_ const char *,
138  _In_ const struct tm *, void *);
139 
140 _CRTIMP wchar_t *__cdecl _W_Getdays();
141 _CRTIMP wchar_t *__cdecl _W_Getmonths();
142 _CRTIMP void *__cdecl _W_Gettnames();
143 _CRTIMP size_t __cdecl _Wcsftime(_Out_writes_(_Maxsize) wchar_t *,
144  _In_ size_t _Maxsize, _In_z_ _Printf_format_string_ const wchar_t *,
145  _In_ const struct tm *, void *);
147 
148  #ifdef _M_CEE_PURE
149 [System::Runtime::InteropServices::DllImport(_CRT_MSVCP_CURRENT,
150  EntryPoint = "_GetLocaleForCP",
151  CallingConvention =
152  System::Runtime::InteropServices::CallingConvention::Cdecl)]
153 extern "C" _locale_t _GetLocaleForCP(unsigned int);
154 
155  #else /* _M_CEE_PURE */
156 _MRTIMP2 _locale_t __cdecl _GetLocaleForCP(unsigned int);
157  #endif /* _M_CEE_PURE */
158 
159  #pragma pop_macro("new")
160  #pragma warning(pop)
161  #pragma pack(pop)
162 #endif /* RC_INVOKED */
163 #endif /* _XLOCINFO */
164 
165 /*
166  * Copyright (c) 1992-2012 by P.J. Plauger. ALL RIGHTS RESERVED.
167  * Consult your license regarding permissions and restrictions.
168 V6.00:0009 */
unsigned int _Page
Definition: xlocinfo.h:72
#define _Out_
Definition: sal.h:351
#define _C_STD_BEGIN
Definition: yvals.h:557
_CRTIMP2_PURE long double __CLRCALL_PURE_OR_CDECL _Stold(const char *, _Out_opt_ _Deref_post_opt_valid_ char **, long)
int _Isclocale
Definition: xlocinfo.h:74
_CRTIMP2_PURE int __CLRCALL_PURE_OR_CDECL _Toupper(int, const _Ctypevec *)
_CRTIMP char *__cdecl _Getmonths()
#define _Out_opt_
Definition: sal.h:352
#define _CRTIMP
Definition: crtdefs.h:23
unsigned char _Isleadbyte[32]
Definition: xlocinfo.h:75
_CRTIMP2_PURE int __CLRCALL_PURE_OR_CDECL _Wcrtomb(_Out_ char *, wchar_t, mbstate_t *, const _Cvtvec *)
int _Delfl
Definition: xlocinfo.h:66
_CRTIMP size_t __cdecl _Wcsftime(_Out_writes_(_Maxsize) wchar_t *, _In_ size_t _Maxsize, _In_z_ _Printf_format_string_ const wchar_t *, _In_ const struct tm *, void *)
_CRTIMP2_PURE double __CLRCALL_PURE_OR_CDECL _Stod(const char *, _Out_opt_ _Deref_post_opt_valid_ char **, long)
_CRTIMP2_PURE int __CLRCALL_PURE_OR_CDECL _Strcoll(const char *, const char *, const char *, const char *, const _Collvec *)
struct _Ctypevec _Ctypevec
#define _MRTIMP2
Definition: crtdefs.h:191
_CRTIMP wchar_t *__cdecl _W_Getmonths()
Definition: xlocinfo.h:62
_CRTIMP2_PURE size_t __CLRCALL_PURE_OR_CDECL _Wcsxfrm(_Out_writes_(_End1-_String1) _Post_readable_size_(return) wchar_t *_String1, _In_z_ wchar_t *_End1, const wchar_t *, const wchar_t *, const _Collvec *)
_CRTIMP wchar_t *__cdecl _W_Getdays()
Definition: xlocinfo.h:70
unsigned int _Page
Definition: xlocinfo.h:64
int mbstate_t
Definition: wchar.h:1219
_CRTIMP2_PURE wchar_t __CLRCALL_PURE_OR_CDECL _Towlower(wchar_t, const _Ctypevec *)
_CRTIMP2_PURE int __CLRCALL_PURE_OR_CDECL _Wcscoll(const wchar_t *, const wchar_t *, const wchar_t *, const wchar_t *, const _Collvec *)
_CRTIMP2_PURE size_t __CLRCALL_PURE_OR_CDECL _Strxfrm(_Out_writes_(_End1-_String1) _Post_readable_size_(return) char *_String1, _In_z_ char *_End1, const char *, const char *, const _Collvec *)
#define _C_STD_END
Definition: yvals.h:558
_CRTIMP2_PURE _Collvec __CLRCALL_PURE_OR_CDECL _Getcoll()
#define _In_z_
Definition: sal.h:319
#define _In_
Definition: sal.h:314
const short * _Table
Definition: xlocinfo.h:65
_CRTIMP size_t __cdecl _Strftime(_Out_writes_(_Maxsize) char *, _In_ size_t _Maxsize, _In_z_ _Printf_format_string_ const char *, _In_ const struct tm *, void *)
_CRTIMP2_PURE short __CLRCALL_PURE_OR_CDECL _Getwctype(wchar_t, const _Ctypevec *)
wchar_t * _LocaleName
Definition: xlocinfo.h:67
#define _CRT_MSVCP_CURRENT
Definition: yvals.h:88
wchar_t * _LocaleName
Definition: xlocinfo.h:59
Definition: xlocinfo.h:56
#define _Printf_format_string_
Definition: sal.h:567
_CRTIMP void *__cdecl _W_Gettnames()
struct _Collvec _Collvec
struct _Cvtvec _Cvtvec
_CRTIMP2_PURE const wchar_t *__CLRCALL_PURE_OR_CDECL _Getwctypes(const wchar_t *, const wchar_t *, short *, const _Ctypevec *)
_MRTIMP2 int __cdecl _Mbrtowc(_Out_opt_ wchar_t *, const char *, size_t, mbstate_t *, const _Cvtvec *)
Definition: time.h:113
#define _Out_writes_(size)
Definition: sal.h:354
#define _Post_readable_size_(size)
Definition: sal.h:655
_END_C_LIB_DECL _C_STD_END _C_LIB_DECL _CRTIMP char *__cdecl _Getdays()
_CRTIMP2_PURE _Cvtvec __CLRCALL_PURE_OR_CDECL _Getcvt()
unsigned int _Mbcurmax
Definition: xlocinfo.h:73
_CRTIMP2_PURE int __CLRCALL_PURE_OR_CDECL _Tolower(int, const _Ctypevec *)
_CRTIMP2_PURE _Ctypevec __CLRCALL_PURE_OR_CDECL _Getctype()
_CRTIMP2_PURE int __CLRCALL_PURE_OR_CDECL _Getdateorder()
_CRTIMP2_PURE float __CLRCALL_PURE_OR_CDECL _Stof(const char *, _Out_opt_ _Deref_post_opt_valid_ char **, long)
#define __CLRCALL_PURE_OR_CDECL
Definition: yvals.h:79
#define _END_C_LIB_DECL
Definition: yvals.h:562
_CRTIMP2_PURE wchar_t __CLRCALL_PURE_OR_CDECL _Towupper(wchar_t, const _Ctypevec *)
#define _C_LIB_DECL
Definition: yvals.h:561
#define _CRTIMP2_PURE
Definition: yvals.h:483
#define _Deref_post_opt_valid_
Definition: sal.h:1202
Definition: crtdefs.h:2078
_END_C_LIB_DECL _MRTIMP2 _locale_t __cdecl _GetLocaleForCP(unsigned int)
unsigned int _Page
Definition: xlocinfo.h:58
_CRTIMP void *__cdecl _Gettnames()