You.i Engine
YiStringUtilities.h
Go to the documentation of this file.
1 // © You i Labs Inc. 2000-2020. All rights reserved.
2 #ifndef _YI_STRING_UTILITIES_H_
3 #define _YI_STRING_UTILITIES_H_
4 
5 #include "utility/YiString.h"
6 
12 wchar_t *WStrDup(const wchar_t *pStr);
13 char *YI_STRDUP(const char *pStr);
14 
15 wchar_t *WCSNCPY(wchar_t *pDest, const wchar_t *pSrc, int32_t count);
16 wchar_t *WCSCPY(wchar_t *pDest, const wchar_t *pSrc);
17 int16_t WCSNCMP(const wchar_t *pDest, const wchar_t *pSrc, int32_t count);
18 int16_t WCSCMP(const wchar_t *pStr1, const wchar_t *pStr2);
19 int16_t WCSNICMP(const wchar_t *pDest, const wchar_t *pSrc, int32_t count);
20 int16_t WCSICMP(const wchar_t *pStr1, const wchar_t *pStr2);
21 int16_t STRICMP(const char *pStr1, const char *pStr2);
22 int16_t STRNICMP(const char *pDest, const char *pSrc, int32_t count);
23 wchar_t *WCSCAT(wchar_t *pDest, const wchar_t *pSrc);
24 wchar_t *WCSNCAT(wchar_t *pDest, const wchar_t *pSrc, int32_t count);
25 wchar_t *WCSSTR(wchar_t *pData, wchar_t *pString);
26 wchar_t *WCSCHR(wchar_t *pData, wchar_t iSymbol);
27 uint32_t WCSLEN(const wchar_t *str);
28 wchar_t *WCSREV(wchar_t *pSrc);
29 char *STRREV(char *pSrc);
30 
36 {
37 public:
38  using is_transparent = void;
39 
40  bool operator()(const CYIString &lhs, const CYIString &rhs) const;
41  bool operator()(CYIStringView lhs, const CYIString &rhs) const;
42  bool operator()(const CYIString &lhs, CYIStringView rhs) const;
43 };
44 
50 {
51 public:
55  CYICaseInsensitiveEqualsPredicate(const CYIString *const pSource);
56 
57  bool operator()(const CYIString &other) const;
58 
59 private:
60  const CYIString *const m_pSource;
61 };
62 
65 #endif // _YI_STRING_UTILITIES_H_
int16_t WCSCMP(const wchar_t *pStr1, const wchar_t *pStr2)
int16_t WCSNCMP(const wchar_t *pDest, const wchar_t *pSrc, int32_t count)
Container class for Unicode strings. Conceptually, a CYIString object is a sequence of Unicode charac...
Definition: YiString.h:36
Definition: YiStringUtilities.h:35
wchar_t * WStrDup(const wchar_t *pStr)
wchar_t * WCSNCAT(wchar_t *pDest, const wchar_t *pSrc, int32_t count)
wchar_t * WCSCHR(wchar_t *pData, wchar_t iSymbol)
wchar_t * WCSREV(wchar_t *pSrc)
wchar_t * WCSSTR(wchar_t *pData, wchar_t *pString)
char * YI_STRDUP(const char *pStr)
int16_t STRICMP(const char *pStr1, const char *pStr2)
wchar_t * WCSNCPY(wchar_t *pDest, const wchar_t *pSrc, int32_t count)
int16_t STRNICMP(const char *pDest, const char *pSrc, int32_t count)
void is_transparent
Definition: YiStringUtilities.h:38
uint32_t WCSLEN(const wchar_t *str)
char * STRREV(char *pSrc)
int16_t WCSNICMP(const wchar_t *pDest, const wchar_t *pSrc, int32_t count)
wchar_t * WCSCPY(wchar_t *pDest, const wchar_t *pSrc)
Definition: YiStringUtilities.h:49
int16_t WCSICMP(const wchar_t *pStr1, const wchar_t *pStr2)
wchar_t * WCSCAT(wchar_t *pDest, const wchar_t *pSrc)
bool operator()(const CYIString &lhs, const CYIString &rhs) const
A lightweight wrapper around a sequence of Unicode characters.
Definition: YiStringView.h:57