string.h File Reference

Classes

class  StringPosition
 
class  StringEnd
 
class  StringCount
 
class  StringTemplate< INTERFACETYPE, REFTYPE, CHARTYPE >
 
class  StringTemplate< INTERFACETYPE, REFTYPE, CHARTYPE >::CharPtr
 
class  SysCharArray
 
class  StringInterface
 
class  CStringInterface
 
class  String
 
class  String::StringIterator
 
class  CString
 
class  ToStringHelper2< T, false >
 
class  ToStringHelper2< T, true >
 
class  StringProxy
 
class  FormatStatement
 

Namespaces

 maxon
 

Macros

#define CONSTSTRING(x)
 
#define CONSTCSTRING(x)
 
#define FormatString(...)
 
#define FormatCString(...)
 

Typedefs

using Utf16CharBuffer = BufferedBaseArray< Utf16Char, 512 >
 
using Utf32CharBuffer = BufferedBaseArray< Utf32Char, 256 >
 
using FROMSTR = void(*)(void *p, const Block< const Utf32Char > &str, Int &processed, const String &formatStatement, Bool &error)
 

Enumerations

enum class  STRINGCONVERSION {
  NONE ,
  ALLOW_MORE_CHARACTERS
}
 
enum class  STRINGCOMPARISON {
  MEMORY ,
  UNICODE_LETTERS ,
  UNICODE_NUMBERS ,
  CASEINSENSITIVE ,
  CASEINSENSITIVE_NUMBERS
}
 

Functions

const StringDecodingRef & GetUtf8DefaultDecoder ()
 
const StringEncodingRef & GetUtf8DefaultEncoder ()
 
enum maxon::STRINGCONVERSION MAXON_ENUM_FLAGS (STRINGCONVERSION)
 
enum maxon::STRINGCOMPARISON MAXON_ENUM_LIST (STRINGCOMPARISON)
 
MAXON_ATTRIBUTE_FORCE_INLINE const Stringoperator""_s (const char *str, std::size_t cnt)
 
MAXON_ATTRIBUTE_FORCE_INLINE const Stringoperator""_s (const wchar_t *str, std::size_t cnt)
 
MAXON_ATTRIBUTE_FORCE_INLINE const CString & operator""_cs (const char *str, std::size_t cnt)
 
Result< void > DescribeIO (const CStringInterface &s, const DataSerializeInterface &dsi)
 
Result< void > DescribeIO (const StringInterface &s, const DataSerializeInterface &dsi)
 
String operator+ (const String &a, const String &b)
 
String && operator+ (String &&a, const String &b)
 
String && operator+ (String &&a, String &&b)
 
String && operator+ (const String &a, String &&b)
 
CString operator+ (const CString &a, const CString &b)
 
CString && operator+ (CString &&a, const CString &b)
 
CString && operator+ (CString &&a, CString &&b)
 
CString && operator+ (const CString &a, CString &&b)
 
Stringoperator+= (String &s, const CString &b)
 
String operator+ (const String &a, const CString &b)
 
String && operator+ (String &&a, const CString &b)
 
String operator+ (const String &a, const Char *b)
 
String && operator+ (String &&a, const Char *b)
 
CString operator+ (const CString &a, const Char *b)
 
CString && operator+ (CString &&a, const Char *b)
 
String ToString (const String &str, const FormatStatement *formatStatement, Bool=false)
 
String ToString (const CString &str, const FormatStatement *formatStatement, Bool=false)
 
template<typename T >
decltype(std::declval< T >().ToString()) ToStringHelper (const T *object, const FormatStatement *formatStatement, Int *)
 
template<typename T >
String ToStringHelper (const T *object, const FormatStatement *formatStatement, const Int *checkDataType)
 
template<typename T >
std::enable_if<!STD_IS_REPLACEMENT(enum, T), String >::type ToString (const T &object, const FormatStatement *formatStatement, Bool checkDataType=true)
 
template<typename T >
std::enable_if< STD_IS_REPLACEMENT(enum, T), String >::type ToString (const T &object, const FormatStatement *formatStatement, Bool checkDataType=true)
 
template<typename T >
std::enable_if<!STD_IS_REPLACEMENT(function, T), String >::type ToString (const T *object, const FormatStatement *formatStatement)
 
template<typename T >
String GlobalToString (const T &object, const FormatStatement *formatStatement, Bool checkDataType=true)
 
const StringToString (Bool val, const FormatStatement *formatStatement, Bool=false)
 
String ToString (Char val, const FormatStatement *formatStatement, Bool checkDataType=false)
 
String ToString (UChar val, const FormatStatement *formatStatement, Bool checkDataType=false)
 
String ToString (Int16 val, const FormatStatement *formatStatement, Bool checkDataType=false)
 
String ToString (Int32 val, const FormatStatement *formatStatement, Bool checkDataType=false)
 
String ToString (Int64 val, const FormatStatement *formatStatement, Bool checkDataType=false)
 
String ToString (UInt16 val, const FormatStatement *formatStatement, Bool checkDataType=false)
 
String ToString (UInt32 val, const FormatStatement *formatStatement, Bool checkDataType=false)
 
String ToString (UInt64 val, const FormatStatement *formatStatement, Bool checkDataType=false)
 
String ToString (Float64 val, const FormatStatement *formatStatement, Bool checkDataType=false)
 
String ToString (Float32 val, const FormatStatement *formatStatement, Bool checkDataType=false)
 
String ToString (Utf16Char val, const FormatStatement *formatStatement, Bool checkDataType=false)
 
String ToString (Utf32Char val, const FormatStatement *formatStatement, Bool checkDataType=false)
 
String ToString (Char *val, const FormatStatement *formatStatement, Bool checkDataType=false)
 
String ToString (const Char *val, const FormatStatement *formatStatement, Bool checkDataType=false)
 
String ToString (const void *val, const FormatStatement *formatStatement, Bool checkDataType=false)
 
String ToString (void *val, const FormatStatement *formatStatement, Bool checkDataType=false)
 
String ToString (const Generic *val, const FormatStatement *formatStatement, Bool checkDataType=false)
 
String ToString (Generic *val, const FormatStatement *formatStatement, Bool checkDataType=false)
 
String ExtractString (StringProxy *proxy)
 
const StringExtractString (const String &str)
 
const CharExtractString (const Char *str)
 
void ScanParameter (Float64 &result, const Block< const Utf32Char > &str, Int &processed, const String &formatStatement, Bool &error)
 
void ScanParameter (Float32 &result, const Block< const Utf32Char > &str, Int &processed, const String &formatStatement, Bool &error)
 
void ScanParameter (Int64 &result, const Block< const Utf32Char > &str, Int &processed, const String &formatStatement, Bool &error)
 
void ScanParameter (Int32 &result, const Block< const Utf32Char > &str, Int &processed, const String &formatStatement, Bool &error)
 
void ScanParameter (Int16 &result, const Block< const Utf32Char > &str, Int &processed, const String &formatStatement, Bool &error)
 
void ScanParameter (Char &result, const Block< const Utf32Char > &str, Int &processed, const String &formatStatement, Bool &error)
 
void ScanParameter (UInt64 &result, const Block< const Utf32Char > &str, Int &processed, const String &formatStatement, Bool &error)
 
void ScanParameter (UInt32 &result, const Block< const Utf32Char > &str, Int &processed, const String &formatStatement, Bool &error)
 
void ScanParameter (UInt16 &result, const Block< const Utf32Char > &str, Int &processed, const String &formatStatement, Bool &error)
 
void ScanParameter (UChar &result, const Block< const Utf32Char > &str, Int &processed, const String &formatStatement, Bool &error)
 
template<typename T >
void ScanParameter (T *&result, const Block< const Utf32Char > &str, Int &processed, const String &formatStatement, Bool &error)
 
template<typename T >
void FromStrHlp (T *result, const Block< const Utf32Char > &str, Int &processed, const String &formatStatement, Bool &error)
 
template<typename T >
FROMSTR GetFromStrHlp ()
 
Bool ScanStringTemplate (const String &str, const String &format, Int *parsedCharacters, Int argsCnt, void **args, FROMSTR *argFuncs)
 
CString ExtractCString (StringProxy *proxy)
 
template<Bool ISOKAY, typename T >
MAXON_ATTRIBUTE_FORCE_INLINEForwardString (T &&str)
 
template<typename STR , typename STR2 , typename... ARGS>
Bool ScanString (STR inputStr, STR2 formatStr, ARGS &... args)
 
template<typename STR , typename STR2 , typename... ARGS>
Bool ScanString (STR inputStr, Int &parsedInputCharacters, STR2 formatStr, ARGS &... args)
 
String _LoadResourceString (const Id &scope, const InternedId &keyValue)
 
template<typename STRID , typename... ARGUMENTS>
String LoadResourceString (const STRID &identifier, const ARGUMENTS &... args)
 
static Int StrLen (const SysChar *chr)
 
static Int StrLen (const Utf32Char *chr)
 
static Int StrLen (const Utf16Char *chr)
 
template<typename TYPE >
MAXON_ATTRIBUTE_FORCE_INLINE Bool IsSpace (TYPE chr)
 
template<typename TYPE >
MAXON_ATTRIBUTE_FORCE_INLINE Bool IsTab (TYPE chr)
 
template<typename TYPE >
MAXON_ATTRIBUTE_FORCE_INLINE Bool IsSpaceOrTab (TYPE chr)
 
template<typename TYPE >
MAXON_ATTRIBUTE_FORCE_INLINE Bool IsLineEnd (TYPE chr)
 
template<typename TYPE >
MAXON_ATTRIBUTE_FORCE_INLINE Bool IsNumeric (TYPE chr)
 
template<typename TYPE >
MAXON_ATTRIBUTE_FORCE_INLINE Bool IsAlphabetic (TYPE chr)
 
template<typename TYPE >
MAXON_ATTRIBUTE_FORCE_INLINE Bool IsAlphanumeric (TYPE chr)
 
template<typename TYPE >
MAXON_ATTRIBUTE_FORCE_INLINE Bool IsHexadecimal (TYPE chr)
 
template<typename TYPE >
MAXON_ATTRIBUTE_FORCE_INLINE Int GetHexadecimalValue (TYPE chr)
 
template<typename ITERATABLETYPE , typename REFTYPE >
static MAXON_WARN_UNUSED REFTYPE JoinElements (ITERATABLETYPE &&iterable, const REFTYPE &delimiter, const FormatStatement *formatStr=nullptr)
 
template<typename STRINGTYPE >
void AppendStringWithSeparator (STRINGTYPE &base, const STRINGTYPE &add, const STRINGTYPE &delimiter)
 
template<typename STRINGTYPE >
STRINGTYPE AddStringWithSeparator (const STRINGTYPE &base, const STRINGTYPE &add, const STRINGTYPE &delimiter)
 

Variables

 NONE
 
 ALLOW_MORE_CHARACTERS
 
 MEMORY
 
 UNICODE_LETTERS
 
 UNICODE_NUMBERS
 
 CASEINSENSITIVE
 
 CASEINSENSITIVE_NUMBERS
 
static const Int STRING_MAXIMUM_PRECISION
 
static const Int STRING_DYNAMIC_DIGITS
 

Variable Documentation

◆ NONE

NONE

◆ ALLOW_MORE_CHARACTERS

ALLOW_MORE_CHARACTERS

if the specified string is longer than the converted characters and you specify this flag no error will be returned

◆ MEMORY

MEMORY

default - fast comparison, memory block is directly compared. This does not result in a correct alphabetical order.

◆ UNICODE_LETTERS

UNICODE_LETTERS

strings are compared using correct unicode decomposition

◆ UNICODE_NUMBERS

UNICODE_NUMBERS

strings are compared using correct unicode decomposition. Numbers in strings are identified, so "2" is smaller than "10"

◆ CASEINSENSITIVE

CASEINSENSITIVE

strings are compared case-insensitive using correct unicode decomposition

◆ CASEINSENSITIVE_NUMBERS

CASEINSENSITIVE_NUMBERS

strings are compared case-insensitive using correct unicode decomposition. Numbers in strings are identified, so "2" is smaller than "10"