1#ifndef __SSTRING_I__H__
2#define __SSTRING_I__H__
5#include <utilities-def.h>
10#define INTERFACE IStringA
11DECLARE_INTERFACE(IStringA)
17 STDMETHOD_(
int, GetLength)() SCONST PURE;
23 STDMETHOD_(BOOL, IsEmpty)(CTHIS) SCONST PURE;
28 STDMETHOD_(
void, Empty)(THIS) PURE;
35 STDMETHOD_(
char, GetAt)(CTHIS_
int nIndex) SCONST PURE;
42 STDMETHOD_(
void, SetAt)(THIS_
int nIndex,
char ch) PURE;
48 STDMETHOD_(
const char *, c_str)(CTHIS) SCONST PURE;
55 STDMETHOD_(
int, Compare)(CTHIS_
const char* psz) SCONST PURE;
62 STDMETHOD_(
int, CompareNoCase)(CTHIS_
const char* psz) SCONST PURE;
67 STDMETHOD_(
void, TrimBlank)(THIS) PURE;
75 STDMETHOD_(
int, InsertChar)(THIS_
int nIndex,
char ch) PURE;
83 STDMETHOD_(
int, Insert)(THIS_
int nIndex,
const char* psz) PURE;
91 STDMETHOD_(
int, Delete)(THIS_
int nIndex,
int nCount) PURE;
99 STDMETHOD_(
int, ReplaceChar)(THIS_
char chOld,
char chNew) PURE;
107 STDMETHOD_(
int, Replace)(THIS_
const char* pszOld,
const char* pszNew) PURE;
114 STDMETHOD_(
int, Remove)(THIS_
char chRemove) PURE;
122 STDMETHOD_(
int, FindChar)(CTHIS_
char ch,
int nStart DEF_VAL(0)) SCONST PURE;
129 STDMETHOD_(
int, ReverseFind)(CTHIS_
char ch) SCONST PURE;
137 STDMETHOD_(
int, Find)(CTHIS_
const char* pszSub,
int nStart DEF_VAL(0)) SCONST PURE;
144 STDMETHOD_(
char*, GetBuffer)(THIS_
int nMinBufLength DEF_VAL(-1)) PURE;
150 STDMETHOD_(
void, ReleaseBuffer)(THIS_
int nNewLength DEF_VAL(-1)) PURE;
157 STDMETHOD_(
char*, GetBufferSetLength)(THIS_
int nNewLength) PURE;
163 STDMETHOD_(
void, SetLength)(THIS_
int nLength) PURE;
169 STDMETHOD_(
void, Copy)(THIS_
const IStringA * src) PURE;
175 STDMETHOD_(
void, Assign)(THIS_ LPCSTR src) PURE;
182 STDMETHOD_(
void, Assign2)(THIS_ LPCSTR src,
int nLen DEF_VAL(-1)) PURE;
188 STDMETHOD_(LPVOID, GetPrivData)(CTHIS) SCONST PURE;
193 STDMETHOD_(
void, ToUpper)(THIS) PURE;
198 STDMETHOD_(
void, ToLower)(THIS) PURE;
204 STDMETHOD_(
void, TrimRight)(THIS_
char chTarget DEF_VAL(VK_SPACE)) PURE;
210 STDMETHOD_(
void, TrimLeft)(THIS_
char chTarget DEF_VAL(VK_SPACE)) PURE;
216 STDMETHOD_(
void, Trim)(THIS_
char chTarget DEF_VAL(VK_SPACE)) PURE;
222 STDMETHOD_(
void, AppendChar)(THIS_
char ch) PURE;
229 STDMETHOD_(
void, AppendStr)(THIS_
const char *pszStr,
int nLen DEF_VAL(-1)) PURE;
234 STDMETHOD_(
void, Release)(THIS) PURE;
240 STDMETHOD_(UINT, ToUint)(CTHIS) SCONST PURE;
246 STDMETHOD_(
long, ToLong)(CTHIS) SCONST PURE;
252 STDMETHOD_(
int, ToInt)(CTHIS) SCONST PURE;
258 STDMETHOD_(
float, ToFloat)(CTHIS) SCONST PURE;
264 STDMETHOD_(
double, ToDouble)(CTHIS) SCONST PURE;
270 STDMETHOD_(BOOL, ToBool)(CTHIS) SCONST PURE;
274#define INTERFACE IStringW
275DECLARE_INTERFACE(IStringW)
281 STDMETHOD_(
int, GetLength)(CTHIS) SCONST PURE;
287 STDMETHOD_(BOOL, IsEmpty)(CTHIS) SCONST PURE;
292 STDMETHOD_(
void, Empty)(THIS) PURE;
299 STDMETHOD_(
wchar_t, GetAt)(CTHIS_
int nIndex) SCONST PURE;
306 STDMETHOD_(
void, SetAt)(THIS_
int nIndex,
wchar_t ch) PURE;
312 STDMETHOD_(
const wchar_t *, c_str)(CTHIS) SCONST PURE;
319 STDMETHOD_(
int, Compare)(CTHIS_
const wchar_t* psz) SCONST PURE;
326 STDMETHOD_(
int, CompareNoCase)(CTHIS_
const wchar_t* psz) SCONST PURE;
331 STDMETHOD_(
void, TrimBlank)(THIS) PURE;
339 STDMETHOD_(
int, InsertChar)(THIS_
int nIndex,
wchar_t ch) PURE;
347 STDMETHOD_(
int, Insert)(THIS_
int nIndex,
const wchar_t* psz) PURE;
355 STDMETHOD_(
int, Delete)(THIS_
int nIndex,
int nCount) PURE;
363 STDMETHOD_(
int, ReplaceChar)(THIS_
wchar_t chOld,
wchar_t chNew) PURE;
371 STDMETHOD_(
int, Replace)(THIS_
const wchar_t* pszOld,
const wchar_t* pszNew) PURE;
378 STDMETHOD_(
int, Remove)(THIS_
wchar_t chRemove) PURE;
386 STDMETHOD_(
int, FindChar)(CTHIS_
wchar_t ch,
int nStart DEF_VAL(0)) SCONST PURE;
393 STDMETHOD_(
int, ReverseFind)(CTHIS_
wchar_t ch) SCONST PURE;
401 STDMETHOD_(
int, Find)(CTHIS_
const wchar_t* pszSub,
int nStart DEF_VAL(0)) SCONST PURE;
408 STDMETHOD_(
wchar_t*, GetBuffer)(THIS_
int nMinBufLength DEF_VAL(-1)) PURE;
414 STDMETHOD_(
void, ReleaseBuffer)(THIS_
int nNewLength DEF_VAL(-1)) PURE;
421 STDMETHOD_(
wchar_t*, GetBufferSetLength)(THIS_
int nNewLength) PURE;
427 STDMETHOD_(
void, SetLength)(THIS_
int nLength) PURE;
433 STDMETHOD_(
void, Copy)(THIS_
const IStringW * src) PURE;
439 STDMETHOD_(
void, Assign)(THIS_ LPCWSTR src) PURE;
446 STDMETHOD_(
void, Assign2)(THIS_ LPCWSTR src,
int nLen DEF_VAL(-1)) PURE;
452 STDMETHOD_(LPVOID, GetPrivData)(CTHIS) SCONST PURE;
457 STDMETHOD_(
void, ToUpper)(THIS) PURE;
462 STDMETHOD_(
void, ToLower)(THIS) PURE;
468 STDMETHOD_(
void, TrimRight)(THIS_
wchar_t chTarget DEF_VAL(VK_SPACE)) PURE;
474 STDMETHOD_(
void, TrimLeft)(THIS_
wchar_t chTarget DEF_VAL(VK_SPACE)) PURE;
480 STDMETHOD_(
void, Trim)(THIS_
wchar_t chTarget DEF_VAL(VK_SPACE)) PURE;
486 STDMETHOD_(
void, AppendChar)(THIS_
wchar_t ch) PURE;
493 STDMETHOD_(
void, AppendStr)(THIS_
const wchar_t *pszStr,
int nLen DEF_VAL(-1)) PURE;
498 STDMETHOD_(
void, Release)(THIS) PURE;
504 STDMETHOD_(UINT, ToUint)(CTHIS) SCONST PURE;
510 STDMETHOD_(
long, ToLong)(CTHIS) SCONST PURE;
516 STDMETHOD_(
int, ToInt)(CTHIS) SCONST PURE;
522 STDMETHOD_(
float, ToFloat)(CTHIS) SCONST PURE;
528 STDMETHOD_(
double, ToDouble)(CTHIS) SCONST PURE;
534 STDMETHOD_(BOOL, ToBool)(CTHIS) SCONST PURE;
538#define IStringT IStringW
540#define IStringT IStringA