63 static const size_t NPOS = (size_t)-1;
64 static const size_t AsManyAsPossible = ((size_t)-1);
94 template <
size_t wbufSizeInChars>
124 template <
size_t ubufSizeInChars>
140 template <
size_t outStrCapacity>
262 template <
size_t destArraySize>
266 va_start (args, format);
267 return Vsnprintf (destArray, destArraySize, format, args);
292 template <
size_t destArraySize>
296 va_start (args, format);
297 return Vsnwprintf (destArray, destArraySize, format, args);
328 BENTLEYDLL_EXPORT static int Strnicmp (
const char* s1,
const char* s2,
size_t n);
331 BENTLEYDLL_EXPORT static int Wcsnicmp (
const wchar_t* s1,
const wchar_t* s2,
size_t n);
340 BENTLEYDLL_EXPORT static char *Strtok (
char *strToken,
const char *strDelimit,
char **context);
343 BENTLEYDLL_EXPORT static wchar_t *Wcstok (
wchar_t *wcsToken,
const wchar_t *wcsDelimit,
wchar_t **context);
349 BENTLEYDLL_EXPORT static wchar_t* Wcsncpy (
wchar_t *strDest,
size_t destLen,
const wchar_t *strSource,
size_t count = AsManyAsPossible);
352 template <
size_t destArraySize>
353 static wchar_t*
Wcsncpy (
wchar_t (&destArray)[destArraySize],
const wchar_t *strSource,
size_t count = AsManyAsPossible) {
return Wcsncpy (destArray, destArraySize, strSource,
count);}
356 BENTLEYDLL_EXPORT static char* Strncpy (
char *strDest,
size_t destLen,
const char *strSource,
size_t count = AsManyAsPossible);
359 template <
size_t destArraySize>
360 static char*
Strncpy (
char (&destArray)[destArraySize],
const char *strSource,
size_t count = AsManyAsPossible) {
return Strncpy (destArray, destArraySize, strSource,
count);}
378 BENTLEYDLL_EXPORT static unsigned long Wcstoul (
wchar_t const* nptr,
wchar_t** endptr,
int base);
381 BENTLEYDLL_EXPORT static long Wcstol (
wchar_t const* nptr,
wchar_t** endptr,
int base);
Contains a UTF-8 encoded string.
Definition: WString.h:275
char * CharP
Definition: Bentley.h:227
#define BENTLEYDLL_EXPORT
Definition: Bentley.h:249
Utf16Buffer * Utf16BufferP
Definition: BeStringUtilities.h:30
uint16_t Utf16Char
Definition: Bentley.r.h:155
static int Snprintf(char(&destArray)[destArraySize], CharCP format,...)
Format a string following the rules of sprintf.
Definition: BeStringUtilities.h:263
wchar_t * WCharP
Definition: Bentley.h:225
static BentleyStatus Utf16ToWChar(WChar(&wbuf)[wbufSizeInChars], Utf16CP inStr, size_t count=AsManyAsPossible)
Converts a UTF-16 buffer to a WChar array.
Definition: BeStringUtilities.h:95
A string class that has many of the same capabilities as std::string, plus additional functions such ...
Definition: WString.h:30
wchar_t WChar
Definition: Bentley.h:223
BentleyStatus BeGetUserNameA(AStringR s)
Get the current user name.
bvector< Utf16Char > Utf16Buffer
Definition: BeStringUtilities.h:27
Utf16Char const * Utf16CP
Definition: Bentley.h:231
BeStringUtilities is a number of useful static methods for working with strings.
Definition: BeStringUtilities.h:55
Utf16Buffer const * Utf16BufferCP
Definition: BeStringUtilities.h:28
BentleyStatus BeGetComputerNameA(AStringR s)
Get the current computer name.
BentleyStatus BeGetUserName(WStringR s)
Get the current user name.
iterator end()
Definition: stdcxx/bstdmap.h:186
HexFormatOptions
Definition: BeStringUtilities.h:34
size_type count(const key_type &__x) const
Definition: stdcxx/bstdmap.h:277
uint8_t UInt8
Definition: Bentley.r.h:116
wchar_t const * WCharCP
Definition: Bentley.h:224
static void CopyUtf16(Utf16Char(&outStr)[outStrCapacity], Utf16CP inStr)
Copy a 0-terminated Unicode string encoded as UTF-16 into a Utf16 buffer.
Definition: BeStringUtilities.h:141
uint32_t UInt32
Definition: Bentley.r.h:128
#define NULL
Definition: Bentley.h:157
#define BEGIN_BENTLEY_NAMESPACE
Definition: Bentley.r.h:24
static char * Strncpy(char(&destArray)[destArraySize], const char *strSource, size_t count=AsManyAsPossible)
Equivalent to strncpy_s in MSVC, for arrays.
Definition: BeStringUtilities.h:360
Declares the NonCopyableClass.
BentleyStatus BeGetComputerName(WStringR s)
Get the current computer name.
Utf16Buffer const & Utf16BufferCR
Definition: BeStringUtilities.h:29
static BentleyStatus WCharToUtf16(Utf16Char(&ubuf)[ubufSizeInChars], WCharCP inStr, size_t count)
Converts a WChar buffer to a UTF-16 string.
Definition: BeStringUtilities.h:125
unsigned long long uint64_t
Definition: Bentley.r.h:95
BentleyStatus
Definition: Bentley.h:208
Utf16Char * Utf16P
Definition: Bentley.h:230
static void Split(WCharCP str, WCharCP delimiters, bvector< WString > &tokens)
Tokenizes a string based on the provided delimiters, and adds a WString for each token into the provi...
Definition: BeStringUtilities.h:405
static int Snwprintf(wchar_t(&destArray)[destArraySize], WCharCP format,...)
Format a string following the rules of sprintf.
Definition: BeStringUtilities.h:293
Defines typedefs and constants that can be used across other namespaces. All Bentley-authored C++ sou...
LangCodePage
Definition: CodePages.h:20
Base class to make a class non-copyable.
Definition: NonCopyableClass.h:23
static wchar_t * Wcsncpy(wchar_t(&destArray)[destArraySize], const wchar_t *strSource, size_t count=AsManyAsPossible)
Equivalent to wcsncpy_s in MSVC, for arrays.
Definition: BeStringUtilities.h:353
uint64_t UInt64
Definition: Bentley.r.h:131
static void Split(Utf8CP str, Utf8CP delimiters, bvector< Utf8String > &tokens)
Tokenizes a string based on the provided delimiters, and adds a Utf8String for each token into the pr...
Definition: BeStringUtilities.h:424
Utf8Char const * Utf8CP
Definition: Bentley.h:229
char const * CharCP
Definition: Bentley.h:226
#define END_BENTLEY_NAMESPACE
Definition: Bentley.r.h:25
Utf16Buffer & Utf16BufferR
Definition: BeStringUtilities.h:31
A string class that has many of the same capabilities as std::string, plus additional functions such ...
Definition: WString.h:51
Provides a list of language code page value settings (Bentley/CodePages.h).