asiucode.h 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549
  1. //////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright 2015 Autodesk, Inc. All rights reserved.
  4. //
  5. // Use of this software is subject to the terms of the Autodesk license
  6. // agreement provided at the time of installation or download, or which
  7. // otherwise accompanies this software in either electronic or hard copy form.
  8. //
  9. //////////////////////////////////////////////////////////////////////////////
  10. //
  11. // Name: asiucode.h ast_asi_inc_appl_asiucode_h
  12. //
  13. // Description: This file contains definitions of classes and
  14. // function prototypes, that support a UniCode
  15. // facility in ASI. These definitions are used by
  16. // all ASI components to meet the goals of
  17. // globalization.
  18. #ifndef ASI_ASIUCODE_H
  19. #define ASI_ASIUCODE_H asiucodeh
  20. /***************************************************************************/
  21. /* INCLUDES */
  22. /***************************************************************************/
  23. #include <asisys.h>
  24. /***************************************************************************/
  25. /* DEFINES */
  26. /***************************************************************************/
  27. #ifndef _MSUC_
  28. #define _MSUC_
  29. #endif // #ifndef _MSUC_
  30. // ASCII sort order Id
  31. #define LC_ASCII 0xffffffff
  32. // ASCII emulate code page Id
  33. #define ASI_ASCII_CODEPAGE 1252
  34. // Unsupported Code Page Id
  35. #define ASI_UNSUPPORTED_CODEPAGE_ID 0xFFFFFFFE
  36. // Unsupported sort order Id
  37. #define ASI_UNSUPPORTED_LOCALE_ID 0xFFFFFFFE
  38. /****************************************************************************/
  39. /* FORWARD DEFINITIONS */
  40. /****************************************************************************/
  41. /***************************************************************************/
  42. /* TYPEDEFS */
  43. /***************************************************************************/
  44. typedef wchar_t AsiUcChar;
  45. typedef AsiUcChar* AsiUcStr;
  46. typedef const AsiUcChar* AsiCUcStr;
  47. typedef unsigned long AsiUcIdCCT; /* Id of the CodePage */
  48. typedef const char* AsiUcNmCCT; /* Name of the CodePage */
  49. typedef unsigned long AsiUcIdCLT; /* Id of the Collation */
  50. /* LCID win alalog */
  51. typedef const char* AsiUcNmCLT; /* Name of the Collation */
  52. /***************************************************************************/
  53. /* Class definitions */
  54. /***************************************************************************/
  55. #pragma pack (push, 8)
  56. #if defined(__cplusplus)
  57. class DLLScope CAsiUcStr;
  58. class DLLScope CAsiUcChar;
  59. class CAsiUcStr
  60. {
  61. public:
  62. // Construction/descriptor
  63. //
  64. CAsiUcStr(); // CAsiUcStr x;
  65. CAsiUcStr(const char*,AsiUcNmCCT);
  66. CAsiUcStr(const char*,AsiUcIdCCT); // CAsiUcStr x = (char)"abc"+CCT;
  67. CAsiUcStr(const char*); // CAsiUcStr x = (char)"abc";
  68. CAsiUcStr(AsiCUcStr); // CAsiUcStr x = (AsiUcStr) y;
  69. CAsiUcStr(const CAsiUcStr&); // CAsiUcStr x = (CAsiUcStr) y;
  70. CAsiUcStr(const CAsiUcStr*); // CAsiUcStr x = (CAsiUcStr*) y;
  71. ~CAsiUcStr();
  72. //////////////////////////////////////////////////////////////////
  73. // Member functions
  74. //
  75. // Utility functions
  76. //
  77. void Clear(void); // Clear object data
  78. const AsiUcStr UcStr(void) const; // Return pointer to Unicode string
  79. int Size(void) const; // Size of string in memory
  80. int Length(void) const; // Size of string in symbols
  81. int Chlen(void) const;
  82. int Chlen(AsiUcNmCCT) const;
  83. int Chlen(AsiUcIdCCT) const;
  84. int MultibyteLen() const;
  85. int MultibyteLen(AsiUcNmCCT) const;
  86. int MultibyteLen(AsiUcIdCCT) const;
  87. int ChlenChk(void) const;
  88. int ChlenChk(AsiUcNmCCT) const;
  89. int ChlenChk(AsiUcIdCCT) const;
  90. void Update(int,int);
  91. void Update(int,int,AsiUcNmCCT);
  92. void Update(int,int,AsiUcIdCCT);
  93. void Update(int,AsiUcChar);
  94. void Update(int,const CAsiUcChar&);
  95. void Update(int,const CAsiUcChar*);
  96. void toLower(void); // Convert to upper case
  97. void toUpper(void); // Convert to lower case
  98. double Atof(void) const;
  99. int Atoi(void) const;
  100. long Atol(void) const;
  101. double Strtod(int*) const;
  102. long Strtol(int*,int) const;
  103. int Sprintf(const AsiUcStr,...);
  104. // Getting string into user buffer
  105. //
  106. char* getToChar(char*,int) const;
  107. char* getToChar(char*,int,AsiUcNmCCT) const;
  108. char* getToChar(char*,int,AsiUcIdCCT) const;
  109. wchar_t* getToChar(wchar_t*,int) const;
  110. wchar_t* getToChar(wchar_t*,int,AsiUcNmCCT) const;
  111. wchar_t* getToChar(wchar_t*,int,AsiUcIdCCT) const;
  112. char* getToCharChk(char*,int) const;
  113. char* getToCharChk(char*,int,AsiUcNmCCT) const;
  114. char* getToCharChk(char*,int,AsiUcIdCCT) const;
  115. AsiUcStr getToUcChar(AsiUcStr,int) const;
  116. // Append string or character to another string
  117. // strcat(), strncat()
  118. void Append(const char*);
  119. void Append(const char*,AsiUcNmCCT);
  120. void Append(const char*,AsiUcIdCCT);
  121. void Append(const wchar_t*,AsiUcNmCCT);
  122. void Append(const wchar_t*,AsiUcIdCCT);
  123. void Append(const AsiUcStr);
  124. void Append(const CAsiUcStr&);
  125. void Append(const CAsiUcStr*);
  126. void Append(const char*,int);
  127. void Append(const char*,int,AsiUcNmCCT);
  128. void Append(const char*,int,AsiUcIdCCT);
  129. void Append(const wchar_t*,int,AsiUcNmCCT);
  130. void Append(const wchar_t*,int,AsiUcIdCCT);
  131. void Append(const AsiUcStr,int);
  132. void Append(const CAsiUcStr&,int);
  133. void Append(const CAsiUcStr*,int);
  134. void Append(int);
  135. void Append(int,AsiUcNmCCT);
  136. void Append(int,AsiUcIdCCT);
  137. void Append(AsiUcChar);
  138. void Append(const CAsiUcChar&);
  139. void Append(const CAsiUcChar*);
  140. // Find first occurrence of a given string in a string
  141. // strstr()
  142. int FindFirst(const char*) const;
  143. int FindFirst(const char*,AsiUcNmCCT) const;
  144. int FindFirst(const char*,AsiUcIdCCT) const;
  145. int FindFirst(const AsiUcStr) const;
  146. int FindFirst(const CAsiUcStr&) const;
  147. int FindFirst(const CAsiUcStr*) const;
  148. // Find last occurrence of a given character or string in a string
  149. // strrstr()
  150. int FindLast(const char*) const;
  151. int FindLast(const char*,AsiUcNmCCT) const;
  152. int FindLast(const char*,AsiUcIdCCT) const;
  153. int FindLast(const AsiUcStr) const;
  154. int FindLast(const CAsiUcStr&) const;
  155. int FindLast(const CAsiUcStr*) const;
  156. // Find first occurrence of a given character or string in a string
  157. // strchr(), strrchr()
  158. int FindFirst(int) const;
  159. int FindFirst(int,AsiUcNmCCT) const;
  160. int FindFirst(int,AsiUcIdCCT) const;
  161. int FindFirst(AsiUcChar) const;
  162. int FindFirst(const CAsiUcChar&) const;
  163. int FindFirst(const CAsiUcChar*) const;
  164. // Find last occurrence of a given character in a string
  165. // strrchr()
  166. int FindLast(int) const;
  167. int FindLast(int,AsiUcNmCCT) const;
  168. int FindLast(int,AsiUcIdCCT) const;
  169. int FindLast(AsiUcChar) const;
  170. int FindLast(const CAsiUcChar&) const;
  171. int FindLast(const CAsiUcChar*) const;
  172. // Compare two strings
  173. // strcmp(), strncmp(), stricmp(), strincmp()
  174. int Comp(const char*) const;
  175. int Comp(const char*,AsiUcNmCCT) const;
  176. int Comp(const char*,AsiUcIdCCT) const;
  177. int Comp(const AsiUcStr) const;
  178. int Comp(const CAsiUcStr&) const;
  179. int Comp(const CAsiUcStr*) const;
  180. int Comp(const char*,int) const;
  181. int Comp(const char*,int,AsiUcNmCCT) const;
  182. int Comp(const char*,int,AsiUcIdCCT) const;
  183. int Comp(const AsiUcStr,int) const;
  184. int Comp(const CAsiUcStr&,int) const;
  185. int Comp(const CAsiUcStr*,int) const;
  186. int Compi(const char*) const;
  187. int Compi(const char*,AsiUcNmCCT) const;
  188. int Compi(const char*,AsiUcIdCCT) const;
  189. int Compi(const wchar_t*,AsiUcNmCCT) const;
  190. int Compi(const wchar_t*,AsiUcIdCCT) const;
  191. int Compi(const AsiUcStr) const;
  192. int Compi(const CAsiUcStr&) const;
  193. int Compi(const CAsiUcStr*) const;
  194. int Compi(const char*,int) const;
  195. int Compi(const char*,int,AsiUcNmCCT) const;
  196. int Compi(const char*,int,AsiUcIdCCT) const;
  197. int Compi(const wchar_t*,int,AsiUcNmCCT) const;
  198. int Compi(const wchar_t*,int,AsiUcIdCCT) const;
  199. int Compi(const AsiUcStr,int) const;
  200. int Compi(const CAsiUcStr&,int) const;
  201. int Compi(const CAsiUcStr*,int) const;
  202. // Copy string
  203. // strcpy(), strncpy()
  204. void Copy(const char*);
  205. void Copy(const char*,AsiUcNmCCT);
  206. void Copy(const char*,AsiUcIdCCT);
  207. void Copy(const wchar_t*);
  208. void Copy(const wchar_t*,AsiUcNmCCT);
  209. void Copy(const wchar_t*,AsiUcIdCCT);
  210. void Copy(const AsiUcStr);
  211. void Copy(const CAsiUcStr&);
  212. void Copy(const CAsiUcStr*);
  213. void Copy(const char*,int);
  214. void Copy(const char*,int,AsiUcNmCCT);
  215. void Copy(const char*,int,AsiUcIdCCT);
  216. void Copy(const wchar_t*,int,AsiUcNmCCT);
  217. void Copy(const wchar_t*,int,AsiUcIdCCT);
  218. void Copy(const AsiUcStr,int);
  219. void Copy(const CAsiUcStr&,int);
  220. void Copy(const CAsiUcStr*,int);
  221. ////////////////////////////////////////////////////
  222. // Operators
  223. //
  224. const CAsiUcChar & operator [] (int) const;
  225. // Assigned
  226. //
  227. CAsiUcStr& operator = (const char*);
  228. CAsiUcStr& operator = (const AsiUcStr);
  229. CAsiUcStr& operator = (const CAsiUcStr &);
  230. CAsiUcStr& operator = (const CAsiUcStr *);
  231. // Compare
  232. //
  233. friend int DLLScope operator == (const CAsiUcStr&, const char*);
  234. friend int DLLScope operator == (const char*, const CAsiUcStr&);
  235. friend int DLLScope operator == (const CAsiUcStr&, const CAsiUcStr&);
  236. friend int DLLScope operator == (const CAsiUcStr*, const CAsiUcStr&);
  237. friend int DLLScope operator == (const AsiUcStr, const CAsiUcStr&);
  238. friend int DLLScope operator == (const CAsiUcStr&, const CAsiUcStr*);
  239. friend int DLLScope operator == (const CAsiUcStr&, const AsiUcStr);
  240. friend int DLLScope operator != (const CAsiUcStr&, const char*);
  241. friend int DLLScope operator != (const char*, const CAsiUcStr&);
  242. friend int DLLScope operator != (const CAsiUcStr&, const CAsiUcStr&);
  243. friend int DLLScope operator != (const CAsiUcStr*, const CAsiUcStr&);
  244. friend int DLLScope operator != (const AsiUcStr, const CAsiUcStr&);
  245. friend int DLLScope operator != (const CAsiUcStr&, const CAsiUcStr*);
  246. friend int DLLScope operator != (const CAsiUcStr&, const AsiUcStr);
  247. friend int DLLScope operator > (const CAsiUcStr&, const char*);
  248. friend int DLLScope operator > (const char*, const CAsiUcStr&);
  249. friend int DLLScope operator > (const CAsiUcStr&, const CAsiUcStr&);
  250. friend int DLLScope operator > (const CAsiUcStr*, const CAsiUcStr&);
  251. friend int DLLScope operator > (const AsiUcStr, const CAsiUcStr&);
  252. friend int DLLScope operator > (const CAsiUcStr&, const CAsiUcStr*);
  253. friend int DLLScope operator > (const CAsiUcStr&, const AsiUcStr);
  254. friend int DLLScope operator < (const CAsiUcStr&, const char*);
  255. friend int DLLScope operator < (const char*, const CAsiUcStr&);
  256. friend int DLLScope operator < (const CAsiUcStr&, const CAsiUcStr&);
  257. friend int DLLScope operator < (const CAsiUcStr*, const CAsiUcStr&);
  258. friend int DLLScope operator < (const AsiUcStr, const CAsiUcStr&);
  259. friend int DLLScope operator < (const CAsiUcStr&, const CAsiUcStr*);
  260. friend int DLLScope operator < (const CAsiUcStr&, const AsiUcStr);
  261. friend int DLLScope operator >= (const CAsiUcStr&, const char*);
  262. friend int DLLScope operator >= (const char*, const CAsiUcStr&);
  263. friend int DLLScope operator >= (const CAsiUcStr&, const CAsiUcStr&);
  264. friend int DLLScope operator >= (const CAsiUcStr*, const CAsiUcStr&);
  265. friend int DLLScope operator >= (const AsiUcStr, const CAsiUcStr&);
  266. friend int DLLScope operator >= (const CAsiUcStr&, const CAsiUcStr*);
  267. friend int DLLScope operator >= (const CAsiUcStr&, const AsiUcStr);
  268. friend int DLLScope operator <= (const CAsiUcStr&, const char*);
  269. friend int DLLScope operator <= (const char*, const CAsiUcStr&);
  270. friend int DLLScope operator <= (const CAsiUcStr&, const CAsiUcStr&);
  271. friend int DLLScope operator <= (const CAsiUcStr*, const CAsiUcStr&);
  272. friend int DLLScope operator <= (const AsiUcStr, const CAsiUcStr&);
  273. friend int DLLScope operator <= (const CAsiUcStr&, const CAsiUcStr*);
  274. friend int DLLScope operator <= (const CAsiUcStr&, const AsiUcStr);
  275. // New/Delete
  276. //
  277. #ifdef ibmrs
  278. void* operator new(unsigned long);
  279. #else
  280. void* operator new(size_t);
  281. #endif
  282. void operator delete(void*);
  283. #if defined(__WATCOMC__)
  284. void* operator new[](unsigned int);
  285. void operator delete[](void*);
  286. #endif /* __WATCOMC__ */
  287. private:
  288. void *pUcStrData;
  289. };
  290. class CAsiUcChar
  291. {
  292. public:
  293. // Unicode character
  294. //
  295. AsiUcChar Symbol;
  296. //////////////////////////////////////////////////////////////////
  297. // Member functions
  298. //
  299. // is functions
  300. //
  301. int isUpper(void) const;
  302. int isLower(void) const;
  303. int isAlpha(void) const;
  304. int isDigit(void) const;
  305. int isXdigit(void) const;
  306. int isSpace(void) const;
  307. int isPunct(void) const;
  308. int isAlnum(void) const;
  309. int isGraph(void) const;
  310. int isPrint(void) const;
  311. int isCntrl(void) const;
  312. // set functions
  313. //
  314. void setUpper(void);
  315. void setLower(void);
  316. void setChar(int,AsiUcIdCCT);
  317. void setChar(int,AsiUcNmCCT);
  318. void setChar(AsiUcChar);
  319. // get functions
  320. int getChar(void) const;
  321. int getChar(AsiUcIdCCT) const;
  322. int getChar(AsiUcNmCCT) const;
  323. AsiUcChar getUcChar(void) const;
  324. // return character in upper/lower form
  325. //
  326. CAsiUcChar Upper(void) const;
  327. CAsiUcChar Lower(void) const;
  328. // Compare functions
  329. //
  330. int Comp(int) const;
  331. int Comp(int,AsiUcIdCCT) const;
  332. int Comp(int,AsiUcNmCCT) const;
  333. int Comp(AsiUcChar) const;
  334. int Comp(CAsiUcChar*) const;
  335. int Comp(const CAsiUcChar&) const;
  336. int Compi(int) const;
  337. int Compi(int,AsiUcIdCCT) const;
  338. int Compi(int,AsiUcNmCCT) const;
  339. int Compi(AsiUcChar) const;
  340. int Compi(CAsiUcChar*) const;
  341. int Compi(const CAsiUcChar&) const;
  342. ////////////////////////////////////////////////////
  343. // Operators
  344. //
  345. // Assigned
  346. //
  347. CAsiUcChar& operator = (const char);
  348. CAsiUcChar& operator = (const AsiUcChar);
  349. CAsiUcChar& operator = (const CAsiUcChar&);
  350. // Compare
  351. //
  352. friend DLLScope int operator == (const CAsiUcChar&, const char);
  353. friend DLLScope int operator == (const char, const CAsiUcChar&);
  354. friend DLLScope int operator == (const CAsiUcChar&, const AsiUcChar);
  355. friend DLLScope int operator == (const AsiUcChar, const CAsiUcChar&);
  356. friend DLLScope int operator == (const CAsiUcChar&, const CAsiUcChar&);
  357. friend DLLScope int operator != (const CAsiUcChar&, const char);
  358. friend DLLScope int operator != (const char, const CAsiUcChar&);
  359. friend DLLScope int operator != (const CAsiUcChar&, const AsiUcChar);
  360. friend DLLScope int operator != (const AsiUcChar, const CAsiUcChar&);
  361. friend DLLScope int operator != (const CAsiUcChar&, const CAsiUcChar&);
  362. friend DLLScope int operator > (const CAsiUcChar&, const char);
  363. friend DLLScope int operator > (const char, const CAsiUcChar&);
  364. friend DLLScope int operator > (const CAsiUcChar&, const AsiUcChar);
  365. friend DLLScope int operator > (const AsiUcChar, const CAsiUcChar&);
  366. friend DLLScope int operator > (const CAsiUcChar&, const CAsiUcChar&);
  367. friend DLLScope int operator < (const CAsiUcChar&, const char);
  368. friend DLLScope int operator < (const char, const CAsiUcChar&);
  369. friend DLLScope int operator < (const CAsiUcChar&, const AsiUcChar);
  370. friend DLLScope int operator < (const AsiUcChar, const CAsiUcChar&);
  371. friend DLLScope int operator < (const CAsiUcChar&, const CAsiUcChar&);
  372. friend DLLScope int operator >= (const CAsiUcChar&, const char);
  373. friend DLLScope int operator >= (const char, const CAsiUcChar&);
  374. friend DLLScope int operator >= (const CAsiUcChar&, const AsiUcChar);
  375. friend DLLScope int operator >= (const AsiUcChar, const CAsiUcChar&);
  376. friend DLLScope int operator >= (const CAsiUcChar&, const CAsiUcChar&);
  377. friend DLLScope int operator <= (const CAsiUcChar&, const char);
  378. friend DLLScope int operator <= (const char, const CAsiUcChar&);
  379. friend DLLScope int operator <= (const CAsiUcChar&, const AsiUcChar);
  380. friend DLLScope int operator <= (const AsiUcChar, const CAsiUcChar&);
  381. friend DLLScope int operator <= (const CAsiUcChar&, const CAsiUcChar&);
  382. // New/Delete
  383. //
  384. #ifdef ibmrs
  385. void* operator new(unsigned long);
  386. #else
  387. void* operator new(size_t);
  388. #endif
  389. void operator delete(void*);
  390. #if defined(__WATCOMC__)
  391. void* operator new[](unsigned int);
  392. void operator delete[](void*);
  393. #endif /* __WATCOMC__ */
  394. };
  395. #endif /* __cplusplus */
  396. /***************************************************************************/
  397. /* FUNCTION PROTOTYPES */
  398. /***************************************************************************/
  399. DLLScope int AsiUcIsAlnum (AsiUcChar);
  400. DLLScope int AsiUcIsAlpha (AsiUcChar);
  401. DLLScope int AsiUcIsCntrl (AsiUcChar);
  402. DLLScope int AsiUcIsDigit (AsiUcChar);
  403. DLLScope int AsiUcIsGraph (AsiUcChar);
  404. DLLScope int AsiUcIsLower (AsiUcChar);
  405. DLLScope int AsiUcIsPrint (AsiUcChar);
  406. DLLScope int AsiUcIsPunct (AsiUcChar);
  407. DLLScope int AsiUcIsSpace (AsiUcChar);
  408. DLLScope int AsiUcIsUpper (AsiUcChar);
  409. DLLScope int AsiUcIsXdigit (AsiUcChar);
  410. DLLScope AsiUcChar AsiUcToLower (AsiUcChar);
  411. DLLScope AsiUcChar AsiUcToUpper (AsiUcChar);
  412. DLLScope int AsiUcSprintf (AsiUcStr,const AsiUcStr, ...);
  413. DLLScope double AsiUcAtof (const AsiUcStr);
  414. DLLScope int AsiUcAtoi (const AsiUcStr);
  415. DLLScope long AsiUcAtol (const AsiUcStr);
  416. DLLScope double AsiUcStrtod (const AsiUcStr,AsiUcStr*);
  417. DLLScope long AsiUcStrtol (const AsiUcStr,AsiUcStr*,int);
  418. DLLScope AsiUcStr AsiUcStrcpy (AsiUcStr,const AsiUcStr);
  419. DLLScope AsiUcStr AsiUcStrncpy (AsiUcStr,const AsiUcStr,int);
  420. DLLScope AsiUcStr AsiUcStrcat (AsiUcStr,const AsiUcStr);
  421. DLLScope AsiUcStr AsiUcStrncat (AsiUcStr,const AsiUcStr,int);
  422. DLLScope int AsiUcCmpUCandUC (const AsiUcStr,const AsiUcStr);
  423. DLLScope int AsiUcStrcmp (const AsiUcStr,const AsiUcStr);
  424. DLLScope int AsiUcStrncmp (const AsiUcStr,const AsiUcStr,int);
  425. DLLScope int AsiUcStricmp (const AsiUcStr,const AsiUcStr);
  426. DLLScope int AsiUcStrnicmp (const AsiUcStr,const AsiUcStr,int);
  427. DLLScope AsiUcStr AsiUcStrstr (const AsiUcStr,const AsiUcStr);
  428. DLLScope AsiUcStr AsiUcStrrstr (const AsiUcStr,const AsiUcStr);
  429. DLLScope AsiUcStr AsiUcStrchr (const AsiUcStr,AsiUcChar);
  430. DLLScope AsiUcStr AsiUcStrrchr (const AsiUcStr,AsiUcChar);
  431. DLLScope AsiUcStr AsiUcStrLower (AsiUcStr);
  432. DLLScope AsiUcStr AsiUcStrUpper (AsiUcStr);
  433. // ucct.cpp
  434. DLLScope char *AsiUcStrUc2Ch (char*,int,const AsiUcStr,int,AsiUcNmCCT);
  435. DLLScope AsiUcStr AsiUcStrCh2Uc (AsiUcStr,int,const char*,int,AsiUcNmCCT);
  436. DLLScope int AsiUcUc2ChCCT (char*,int,const AsiUcStr,int,AsiUcIdCCT);
  437. DLLScope int AsiUcCh2UcCCT (AsiUcStr,int,const char*,int,AsiUcIdCCT);
  438. DLLScope int AsiUc2Ch (AsiUcChar,AsiUcNmCCT);
  439. DLLScope AsiUcChar AsiCh2Uc (int,AsiUcNmCCT);
  440. DLLScope int AsiUcStrlen (const AsiUcStr);
  441. DLLScope int AsiUcStrsize (const AsiUcStr);
  442. DLLScope int AsiUcStrchln (const AsiUcStr,AsiUcNmCCT);
  443. DLLScope int AsiUcStrchlnIdCCT (const AsiUcStr,AsiUcIdCCT);
  444. DLLScope int AsiChStrUclnIdCCT (const char*,AsiUcIdCCT);
  445. DLLScope AsiUcIdCCT AsiUcGetIdCCT (AsiUcNmCCT);
  446. DLLScope AsiUcNmCCT AsiUcGetNmCCT (AsiUcIdCCT);
  447. DLLScope AsiUcNmCCT AsiUcDefaultCCT (void);
  448. DLLScope AsiUcIdCLT AsiUcGetIdCLT (AsiUcNmCLT);
  449. DLLScope AsiUcNmCLT AsiUcGetNmCLT (AsiUcIdCLT);
  450. DLLScope AsiUcNmCLT AsiUcDefaultCLT (void);
  451. DLLScope int AsiUcCnChcmp (AsiUcNmCLT,AsiUcChar,AsiUcChar);
  452. DLLScope int AsiUcCnStrcmp (AsiUcNmCLT,const AsiUcStr,const AsiUcStr);
  453. DLLScope int AsiUcCnStrncmp (AsiUcNmCLT,const AsiUcStr,const AsiUcStr,int);
  454. DLLScope int AsiUcCiStrweight (AsiUcIdCLT,const AsiUcStr,unsigned char *,int);
  455. DLLScope int AsiUcCiChcmp (AsiUcIdCLT,AsiUcChar,AsiUcChar);
  456. DLLScope int AsiUcCiStrcmp (AsiUcIdCLT,const AsiUcStr,const AsiUcStr);
  457. DLLScope int AsiUcCiStrIcmp (AsiUcIdCLT,const AsiUcStr,const AsiUcStr);
  458. DLLScope int AsiUcCiStrncmp (AsiUcIdCLT,const AsiUcStr,const AsiUcStr,int);
  459. DLLScope int AsiUcCiUcChStrcmp (AsiUcIdCLT,AsiUcIdCCT,const AsiUcStr,const char*);
  460. DLLScope int AsiUcCiStrStrcmpA (AsiUcIdCLT,AsiUcIdCCT,const char*,const char*);
  461. DLLScope int AsiUcCiStrStrIcmpA(AsiUcIdCLT,AsiUcIdCCT,const char*,const char*);
  462. DLLScope int AsiUcCiStrStrcmpW (AsiUcIdCLT,AsiUcIdCCT,const wchar_t*,const wchar_t*);
  463. DLLScope int AsiUcCiStrStrIcmpW(AsiUcIdCLT,AsiUcIdCCT,const wchar_t*,const wchar_t*);
  464. #ifndef UNICODE
  465. #define AsiUcCiStrStrcmp AsiUcCiStrStrcmpA
  466. #else
  467. #define AsiUcCiStrStrcmp AsiUcCiStrStrcmpW
  468. #endif
  469. #pragma pack (pop)
  470. #endif /* ASI_ASIUCODE_H */
  471. /*EOF*/