ZFFramework
 
Loading...
Searching...
No Matches
zfstringW.h
Go to the documentation of this file.
1
5
6#ifndef _ZFI_zfstringW_h_
7#define _ZFI_zfstringW_h_
8
9#include "ZFObject.h"
10#include <cwchar>
12
13// ============================================================
15#ifndef _ZFT_zfcharW
16 typedef wchar_t zfcharW;
17#else
18 typedef _ZFT_zfcharW zfcharW;
19#endif
20
22#ifndef _ZFT_zfstringW
24#else
25 typedef _ZFT_zfstringW zfstringW;
26#endif
27
28// ============================================================
60 ZFENUM_VALUE(UTF8 = 1)
61 ZFENUM_VALUE(UTF16LE = 2)
62 ZFENUM_VALUE(UTF16BE = 3)
66 ZFENUM_VALUE_REGISTER_WITH_NAME(UTF16LE, "UTF16")
67 ZFENUM_VALUE_REGISTER_WITH_NAME(UTF16BE, "UTF16BE")
71
72// ============================================================
73// conversion
80 ZF_OUT zfstring &result
81 , ZF_IN const void *s
82 , ZF_IN ZFStringEncoding srcEncoding
83 );
86 ZF_IN const void *s
87 , ZF_IN ZFStringEncoding srcEncoding
88 , ZF_OUT_OPT zfbool *success = zfnull
89 ) {
90 zfstring ret;
91 zfbool t = zfstringToUTF8(ret, s, srcEncoding);
92 if(success != zfnull) {*success = t;}
93 return ret;
94}
95
98 ZF_OUT zfstringW &result
99 , ZF_IN const void *s
100 , ZF_IN ZFStringEncoding srcEncoding
101 );
104 ZF_IN const void *s
105 , ZF_IN ZFStringEncoding srcEncoding
106 , ZF_OUT_OPT zfbool *success = zfnull
107 ) {
108 zfstringW ret;
109 zfbool t = zfstringToUTF16(ret, s, srcEncoding);
110 if(success != zfnull) {*success = t;}
111 return ret;
112}
113
115 ZF_OUT zfstringW &result
116 , ZF_IN const void *s
117 , ZF_IN ZFStringEncoding srcEncoding
118 );
121 ZF_IN const void *s
122 , ZF_IN ZFStringEncoding srcEncoding
123 , ZF_OUT_OPT zfbool *success = zfnull
124 ) {
125 zfstringW ret;
126 zfbool t = zfstringToUTF16BE(ret, s, srcEncoding);
127 if(success != zfnull) {*success = t;}
128 return ret;
129}
130
132#endif // #ifndef _ZFI_zfstringW_h_
133
#define ZFLIB_ZFCore
used to export symbols
Definition ZFCoreEnvDef.h:30
#define ZF_OUT_OPT
dummy macro that shows the param used as optional output
Definition ZFCoreTypeDef_ClassType.h:192
#define ZF_IN
dummy macro that shows the param used as required input
Definition ZFCoreTypeDef_ClassType.h:180
#define ZF_OUT
dummy macro that shows the param used as required output
Definition ZFCoreTypeDef_ClassType.h:188
_ZFT_t_zfbool zfbool
bool type
Definition ZFCoreTypeDef_CoreType.h:103
#define zfnull
same as NULL, defined for future use
Definition ZFCoreTypeDef_CoreType.h:88
zft_zfstring< zfchar > zfstring
see zft_zfstring
Definition ZFCoreTypeDef_StringType.h:15
#define ZFENUM_VALUE_REGISTER_WITH_NAME(Value, Name)
see ZFENUM_BEGIN
Definition ZFEnumDeclare.h:165
#define ZFENUM_VALUE_REGISTER(Value)
see ZFENUM_BEGIN
Definition ZFEnumDeclare.h:168
#define ZFENUM_REG(ZFLIB_, EnumName,...)
see ZFENUM_BEGIN
Definition ZFEnumDeclare.h:186
#define ZFENUM_SEPARATOR_ALLOW_DUPLICATE_VALUE()
see ZFENUM_BEGIN
Definition ZFEnumDeclare.h:161
#define ZFENUM_VALUE(Value)
see ZFENUM_BEGIN
Definition ZFEnumDeclare.h:151
#define ZFENUM_BEGIN(ZFLIB_, EnumName)
macros to define reflectable enum type
Definition ZFEnumDeclare.h:147
#define ZFENUM_END(ZFLIB_, EnumName)
see ZFENUM_BEGIN
Definition ZFEnumDeclare.h:172
#define ZF_NAMESPACE_GLOBAL_BEGIN
begin namespace ZFFramework
Definition ZFNamespace.h:97
#define ZF_NAMESPACE_GLOBAL_END
end namespace ZFFramework
Definition ZFNamespace.h:98
ZFObject related include.
@ e_UTF16LE
Definition zfstringW.h:61
low level string container
Definition zfstring.h:89
zfbool zfstringToUTF16BE(zfstringW &result, const void *s, ZFStringEncoding srcEncoding)
see zfstringToUTF8
zft_zfstring< zfcharW > zfstringW
wstring wrapper
Definition zfstringW.h:23
zfbool zfstringToUTF8(zfstring &result, const void *s, ZFStringEncoding srcEncoding)
convert to deisred encoding, or empty string if failed
zfbool zfstringToUTF16(zfstringW &result, const void *s, ZFStringEncoding srcEncoding)
see zfstringToUTF8
v_ZFStringEncoding::ZFEnumType ZFStringEncoding
see v_ZFStringEncoding
Definition zfstringW.h:69
wchar_t zfcharW
wchar_t wrapper
Definition zfstringW.h:16