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 *);
111 _CRTIMP2_PURE int __CLRCALL_PURE_OR_CDECL _Wcrtomb(_Out_ char *, wchar_t, mbstate_t *,
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 _Success_(return != 0)
134 _Ret_z_
135 _ACRTIMP char *__cdecl _Getdays(void);
136 
137 _Success_(return != 0)
138 _Ret_z_
139 _ACRTIMP char *__cdecl _Getmonths(void);
140 
141 _ACRTIMP void *__cdecl _Gettnames(void);
142 
143 _Success_(return > 0)
144 _ACRTIMP size_t __cdecl _Strftime(_Out_writes_z_(_Maxsize) char *,
145  _In_ size_t _Maxsize, _In_z_ const char *, _In_ const struct tm *,
146  _In_opt_ void *);
147 
148 _Success_(return != 0)
149 _Ret_z_
150 _ACRTIMP wchar_t *__cdecl _W_Getdays(void);
151 
152 _Success_(return != 0)
153 _Ret_z_
154 _ACRTIMP wchar_t *__cdecl _W_Getmonths(void);
155 
156 _ACRTIMP void *__cdecl _W_Gettnames(void);
157 
158 _Success_(return > 0)
159 _ACRTIMP size_t __cdecl _Wcsftime(_Out_writes_z_(_Maxsize) wchar_t *,
160  _In_ size_t _Maxsize, _In_z_ const wchar_t *, _In_ const struct tm *,
161  _In_opt_ void *);
163 
164  #ifdef _M_CEE_PURE
165 [System::Runtime::InteropServices::DllImport(_CRT_MSVCP_CURRENT,
166  EntryPoint = "_GetLocaleForCP",
167  CallingConvention =
168  System::Runtime::InteropServices::CallingConvention::Cdecl)]
169 extern "C" _locale_t _GetLocaleForCP(unsigned int);
170 
171  #else /* _M_CEE_PURE */
172 _MRTIMP2 _locale_t __cdecl _GetLocaleForCP(unsigned int);
173  #endif /* _M_CEE_PURE */
174 
175  #pragma pop_macro("new")
176  #pragma warning(pop)
177  #pragma pack(pop)
178 #endif /* RC_INVOKED */
179 #endif /* _XLOCINFO */
180 
181 /*
182  * Copyright (c) by P.J. Plauger. All rights reserved.
183  * Consult your license regarding permissions and restrictions.
184 V6.50:0009 */
unsigned int _Page
Definition: xlocinfo.h:72
#define _Out_
Definition: sal.h:342
#define _C_STD_BEGIN
Definition: yvals.h:568
_ACRTIMP void *__cdecl _Gettnames(void)
_CRTIMP2_PURE long double __CLRCALL_PURE_OR_CDECL _Stold(const char *, _Out_opt_ _Deref_post_opt_valid_ char **, long)
#define __CLRCALL_PURE_OR_CDECL
Definition: vcruntime.h:153
int _Isclocale
Definition: xlocinfo.h:74
_CRTIMP2_PURE int __CLRCALL_PURE_OR_CDECL _Toupper(int, const _Ctypevec *)
#define _Out_opt_
Definition: sal.h:343
#define _Ret_z_
Definition: sal.h:521
unsigned char _Isleadbyte[32]
Definition: xlocinfo.h:75
_CRTIMP2_PURE int __CLRCALL_PURE_OR_CDECL _Wcrtomb(_Out_ char *, wchar_t, mbstate_t *, const _Cvtvec *)
#define _Out_writes_z_(size)
Definition: sal.h:349
int _Delfl
Definition: xlocinfo.h:66
_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 *)
_CRTIMP2_PURE _Ctypevec __CLRCALL_PURE_OR_CDECL _Getctype(void)
struct _Ctypevec _Ctypevec
_In_ size_t _In_z_ const wchar_t _In_ const struct tm _In_opt_ void *_END_C_LIB_DECL _MRTIMP2 _locale_t __cdecl _GetLocaleForCP(unsigned int)
#define _MRTIMP2
Definition: crtdefs.h:62
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 *)
Definition: xlocinfo.h:70
unsigned int _Page
Definition: xlocinfo.h:64
_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:569
#define _In_z_
Definition: sal.h:310
#define _In_
Definition: sal.h:305
#define _In_opt_
Definition: sal.h:306
_CRTIMP2_PURE int __CLRCALL_PURE_OR_CDECL _Getdateorder(void)
const short * _Table
Definition: xlocinfo.h:65
_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:154
wchar_t * _LocaleName
Definition: xlocinfo.h:59
_In_ size_t _Maxsize
Definition: xlocinfo.h:145
Definition: xlocinfo.h:56
_END_C_LIB_DECL _C_STD_END _C_LIB_DECL _Success_(return!=0) _Ret_z_ _ACRTIMP char *__cdecl _Getdays(void)
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 *)
#define _Out_writes_(size)
Definition: sal.h:345
#define _Post_readable_size_(size)
Definition: sal.h:646
return(_PAIR_TYPE(_FwdIt)(_First, _First))
unsigned int _Mbcurmax
Definition: xlocinfo.h:73
_CRTIMP2_PURE int __CLRCALL_PURE_OR_CDECL _Tolower(int, const _Ctypevec *)
_CRTIMP2_PURE _Cvtvec __CLRCALL_PURE_OR_CDECL _Getcvt(void)
_CRTIMP2_PURE float __CLRCALL_PURE_OR_CDECL _Stof(const char *, _Out_opt_ _Deref_post_opt_valid_ char **, long)
_CRTIMP2_PURE _Collvec __CLRCALL_PURE_OR_CDECL _Getcoll(void)
#define _END_C_LIB_DECL
Definition: yvals.h:573
_CRTIMP2_PURE wchar_t __CLRCALL_PURE_OR_CDECL _Towupper(wchar_t, const _Ctypevec *)
#define _C_LIB_DECL
Definition: yvals.h:572
#define _CRTIMP2_PURE
Definition: yvals.h:494
_ACRTIMP void *__cdecl _W_Gettnames(void)
#define _Deref_post_opt_valid_
Definition: sal.h:1193
unsigned int _Page
Definition: xlocinfo.h:58