00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef __ALICEML_STRING_H__
00028 #define __ALICEML_STRING_H__
00029
00030 #include "aliceml.h"
00031
00032 #ifdef __cplusplus
00033 extern "C" {
00034 #endif
00035
00036
00038 ALICEMLAPI ML_size ALICEMLCALL ML_GetStrLength32(const ML_char32 *str);
00039
00043 typedef struct ML_String32 ML_String32;
00044
00046 ALICEMLAPI ML_String32 * ALICEMLCALL ML_String32_Create(const ML_char32 *str);
00047
00049 ALICEMLAPI ML_String32 * ALICEMLCALL ML_String32_CreateFromChar(ML_char32 ch, int size);
00050
00052 ALICEMLAPI ML_String32 * ALICEMLCALL ML_String32_CreateShared(ML_String32 *self);
00053
00058 ALICEMLAPI int ALICEMLCALL ML_String32_MakeTmp(ML_String32 *self, const ML_char32 *str);
00059
00061 ALICEMLAPI void ALICEMLCALL ML_String32_Destroy(ML_String32 *self);
00062
00064 ALICEMLAPI void ALICEMLCALL ML_String32_Swap(ML_String32 *string1, ML_String32 *string2);
00065
00067 ALICEMLAPI ML_String32 * ALICEMLCALL ML_String32_Clone(ML_String32 *self);
00068
00070 ALICEMLAPI int ALICEMLCALL ML_String32_Assign(ML_String32 *self, const ML_char32 *str);
00071
00073 ALICEMLAPI ML_size ALICEMLCALL ML_String32_GetLength(ML_String32 *self);
00074
00076 ALICEMLAPI const ML_char32 * ALICEMLCALL ML_String32_GetStr(ML_String32 *self);
00077
00079 ALICEMLAPI ML_char32 ALICEMLCALL ML_String32_GetChar(ML_String32 *self, int index);
00080
00082 ALICEMLAPI int ALICEMLCALL ML_String32_SetChar(ML_String32 *self, int index, ML_char32 ch);
00083
00085 ALICEMLAPI int ALICEMLCALL ML_String32_InsertChar(ML_String32 *self, ML_size index, ML_char32 ch);
00086
00088 ALICEMLAPI int ALICEMLCALL ML_String32_InsertStr(ML_String32 *self, ML_size index, const ML_char32 *str);
00089
00091 ALICEMLAPI int ALICEMLCALL ML_String32_InsertString(ML_String32 *self, ML_size index, ML_String32 *string);
00092
00094 ALICEMLAPI int ALICEMLCALL ML_String32_AppendChar(ML_String32 *self, ML_char32 ch);
00095
00097 ALICEMLAPI int ALICEMLCALL ML_String32_AppendStr(ML_String32 *self, const ML_char32 *str);
00098
00100 ALICEMLAPI int ALICEMLCALL ML_String32_AppendString(ML_String32 *self, ML_String32 *string);
00101
00103 ALICEMLAPI int ALICEMLCALL ML_String32_FindFromChar(ML_String32 *self, ML_char32 ch);
00104
00106 ALICEMLAPI int ALICEMLCALL ML_String32_FindFromStr(ML_String32 *self, const ML_char32 *substr);
00107
00109 ALICEMLAPI int ALICEMLCALL ML_String32_FindFromString(ML_String32 *self, ML_String32 *substr);
00110
00112 ALICEMLAPI int ALICEMLCALL ML_String32_Compare(ML_String32 *string1, ML_String32 *string2);
00113
00115 ALICEMLAPI int ALICEMLCALL ML_String32_CompareStr(ML_String32 *string1, const ML_char32 *str2);
00116
00117
00118
00119
00121 ALICEMLAPI ML_size ALICEMLCALL ML_GetStrLength16(const ML_char16 *str);
00122
00126 typedef struct ML_String16 ML_String16;
00127
00129 ALICEMLAPI ML_String16 * ALICEMLCALL ML_String16_Create(const ML_char16 *str);
00130
00132 ALICEMLAPI ML_String16 * ALICEMLCALL ML_String16_CreateFromChar(ML_char16 ch, int size);
00133
00135 ALICEMLAPI ML_String16 * ALICEMLCALL ML_String16_CreateShared(ML_String16 *self);
00136
00141 ALICEMLAPI int ALICEMLCALL ML_String16_MakeTmp(ML_String16 *self, const ML_char16 *str);
00142
00144 ALICEMLAPI void ALICEMLCALL ML_String16_Destroy(ML_String16 *self);
00145
00147 ALICEMLAPI void ALICEMLCALL ML_String16_Swap(ML_String16 *string1, ML_String16 *string2);
00148
00150 ALICEMLAPI ML_String16 * ALICEMLCALL ML_String16_Clone(ML_String16 *self);
00151
00153 ALICEMLAPI int ALICEMLCALL ML_String16_Assign(ML_String16 *self, const ML_char16 *str);
00154
00156 ALICEMLAPI ML_size ALICEMLCALL ML_String16_GetLength(ML_String16 *self);
00157
00159 ALICEMLAPI const ML_char16 * ALICEMLCALL ML_String16_GetStr(ML_String16 *self);
00160
00162 ALICEMLAPI ML_char16 ALICEMLCALL ML_String16_GetChar(ML_String16 *self, int index);
00163
00165 ALICEMLAPI int ALICEMLCALL ML_String16_SetChar(ML_String16 *self, int index, ML_char16 ch);
00166
00168 ALICEMLAPI int ALICEMLCALL ML_String16_InsertChar(ML_String16 *self, ML_size index, ML_char16 ch);
00169
00171 ALICEMLAPI int ALICEMLCALL ML_String16_InsertStr(ML_String16 *self, ML_size index, const ML_char16 *str);
00172
00174 ALICEMLAPI int ALICEMLCALL ML_String16_InsertString(ML_String16 *self, ML_size index, ML_String16 *string);
00175
00177 ALICEMLAPI int ALICEMLCALL ML_String16_AppendChar(ML_String16 *self, ML_char16 ch);
00178
00180 ALICEMLAPI int ALICEMLCALL ML_String16_AppendStr(ML_String16 *self, const ML_char16 *str);
00181
00183 ALICEMLAPI int ALICEMLCALL ML_String16_AppendString(ML_String16 *self, ML_String16 *string);
00184
00186 ALICEMLAPI int ALICEMLCALL ML_String16_FindFromChar(ML_String16 *self, ML_char16 ch);
00187
00189 ALICEMLAPI int ALICEMLCALL ML_String16_FindFromStr(ML_String16 *self, const ML_char16 *substr);
00190
00192 ALICEMLAPI int ALICEMLCALL ML_String16_FindFromString(ML_String16 *self, ML_String16 *substr);
00193
00195 ALICEMLAPI int ALICEMLCALL ML_String16_Compare(ML_String16 *string1, ML_String16 *string2);
00196
00198 ALICEMLAPI int ALICEMLCALL ML_String16_CompareStr(ML_String16 *string1, const ML_char16 *str2);
00199
00200
00201
00202
00204 ALICEMLAPI ML_size ALICEMLCALL ML_GetStrLength8(const ML_char8 *str);
00205
00209 typedef struct ML_String8 ML_String8;
00210
00212 ALICEMLAPI ML_String8 * ALICEMLCALL ML_String8_Create(const ML_char8 *str);
00213
00215 ALICEMLAPI ML_String8 * ALICEMLCALL ML_String8_CreateFromChar(ML_char8 ch, int size);
00216
00218 ALICEMLAPI ML_String8 * ALICEMLCALL ML_String8_CreateShared(ML_String8 *self);
00219
00224 ALICEMLAPI int ALICEMLCALL ML_String8_MakeTmp(ML_String8 *self, const ML_char8 *str);
00225
00227 ALICEMLAPI void ALICEMLCALL ML_String8_Destroy(ML_String8 *self);
00228
00230 ALICEMLAPI void ALICEMLCALL ML_String8_Swap(ML_String8 *string1, ML_String8 *string2);
00231
00233 ALICEMLAPI ML_String8 * ALICEMLCALL ML_String8_Clone(ML_String8 *self);
00234
00236 ALICEMLAPI int ALICEMLCALL ML_String8_Assign(ML_String8 *self, const ML_char8 *str);
00237
00239 ALICEMLAPI ML_size ALICEMLCALL ML_String8_GetLength(ML_String8 *self);
00240
00242 ALICEMLAPI const ML_char8 * ALICEMLCALL ML_String8_GetStr(ML_String8 *self);
00243
00245 ALICEMLAPI ML_char8 ALICEMLCALL ML_String8_GetChar(ML_String8 *self, int index);
00246
00248 ALICEMLAPI int ALICEMLCALL ML_String8_SetChar(ML_String8 *self, int index, ML_char8 ch);
00249
00251 ALICEMLAPI int ALICEMLCALL ML_String8_InsertChar(ML_String8 *self, ML_size index, ML_char8 ch);
00252
00254 ALICEMLAPI int ALICEMLCALL ML_String8_InsertStr(ML_String8 *self, ML_size index, const ML_char8 *str);
00255
00257 ALICEMLAPI int ALICEMLCALL ML_String8_InsertString(ML_String8 *self, ML_size index, ML_String8 *string);
00258
00260 ALICEMLAPI int ALICEMLCALL ML_String8_AppendChar(ML_String8 *self, ML_char8 ch);
00261
00263 ALICEMLAPI int ALICEMLCALL ML_String8_AppendStr(ML_String8 *self, const ML_char8 *str);
00264
00266 ALICEMLAPI int ALICEMLCALL ML_String8_AppendString(ML_String8 *self, ML_String8 *string);
00267
00269 ALICEMLAPI int ALICEMLCALL ML_String8_FindFromChar(ML_String8 *self, ML_char8 ch);
00270
00272 ALICEMLAPI int ALICEMLCALL ML_String8_FindFromStr(ML_String8 *self, const ML_char8 *substr);
00273
00275 ALICEMLAPI int ALICEMLCALL ML_String8_FindFromString(ML_String8 *self, ML_String8 *substr);
00276
00278 ALICEMLAPI int ALICEMLCALL ML_String8_Compare(ML_String8 *string1, ML_String8 *string2);
00279
00281 ALICEMLAPI int ALICEMLCALL ML_String8_CompareStr(ML_String8 *string1, const ML_char8 *str2);
00282
00283
00284
00285
00287 ALICEMLAPI ML_String16 * ALICEMLCALL ML_String32_UCS4ToUTF16(ML_String32 *self);
00288
00290 ALICEMLAPI ML_String8 * ALICEMLCALL ML_String32_UCS4ToUTF8(ML_String32 *self);
00291
00293 ALICEMLAPI ML_String32 * ALICEMLCALL ML_String16_UTF16ToUCS4(ML_String16 *self);
00294
00296 ALICEMLAPI ML_String8 * ALICEMLCALL ML_String16_UTF16ToUTF8(ML_String16 *self);
00297
00299 ALICEMLAPI ML_String32 * ALICEMLCALL ML_String8_UTF8ToUCS4(ML_String8 *self);
00300
00302 ALICEMLAPI ML_String16 * ALICEMLCALL ML_String8_UTF8ToUTF16(ML_String8 *self);
00303
00304 #ifdef __cplusplus
00305 }
00306 #endif
00307
00308 #endif