Beef Corlib
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Properties | List of all members
System.String Class Reference
Inheritance diagram for System.String:
System.IHashable System.IFormattable System.IPrintable System.StringWithAlloc

Classes

struct  RawEnumerator
 
struct  UTF8Enumerator
 

Public Types

enum  CreateFlags { None = 0, NullTerminate = 1 }
 

Public Member Functions

 String (int count)
 
 String (String str)
 
 String (String str, int offset)
 
 String (String str, int offset, int count)
 
 String (char8 c, int count)
 
 String (char8 *char8Ptr)
 
 String (char8 *char8Ptr, int count)
 
 String (char16 *char16Ptr)
 
 String (Span< char16 > chars)
 
 String (StringView strView)
 
 String (StringView strView, CreateFlags flags)
 
 String (StringView strView, int offset)
 
 String (StringView strView, int offset, int count)
 
 String (char8[] chars, int offset, int count)
 
 String (params String[] strs)
 
int GetHashCode ()
 
override void ToString (String strBuffer)
 
void Quote (String outString)
 
void Escape (String outString)
 
Result< void > Unquote (String outString)
 
Result< void > Unescape (String outString)
 
void ToString (String outString, String format, IFormatProvider formatProvider)
 
char8 * CStr ()
 
void Clear ()
 
void Set (String str)
 
void Set (StringView str)
 
void MoveTo (String str, bool keepRef=false)
 
void Reference (String str)
 
void Reference (char8 *ptr, int length, int allocSize)
 
void Reference (char8 *ptr, int length)
 
void Reference (StringView stringView)
 
void Reference (char8 *ptr)
 
void AdjustPtr (int adjBytes)
 
void Reserve (int size)
 
StringView Substring (int pos)
 
StringView Substring (int pos, int length)
 
void Append (StringView strView)
 
void Append (Span< char16 > utf16Str)
 
void Append (char16 *utf16Str)
 
void Append (StringView str, int offset)
 
void Append (StringView str, int offset, int length)
 
void Append (char8 *appendPtr)
 
void Append (char8 *appendPtr, int length)
 
void Append (char8[] arr, int idx, int length)
 
char8 * PrepareBuffer (int bytes)
 
void Append (String value)
 
void Append (String str, int offset)
 
void Append (String str, int offset, int length)
 
void Append (params String[] strings)
 
void Append (char8 c)
 
void Append (char8 c, int count)
 
void Append (char32 c)
 
void Append (char32 c, int count)
 
void Append (Object object)
 
void operator+= (String str)
 
void operator+= (StringView sv)
 
void operator+= (char8 c)
 
void operator+= (char32 c)
 
void operator+= (Object obj)
 
void EnsureNullTerminator ()
 
void Concat (params Object[] objects)
 
Result< void > AppendF (IFormatProvider provider, StringView format, params Span< Object > args)
 Appends formatted text. More...
 
Result< void > AppendF (StringView format, params Span< Object > args)
 
int IndexOf (StringView subStr, bool ignoreCase=false)
 
int IndexOf (StringView subStr, int startIdx, bool ignoreCase=false)
 
int Count (char8 c)
 
int IndexOf (char8 c, int startIdx=0)
 
int LastIndexOf (char8 c)
 
int LastIndexOf (char8 c, int startCheck)
 
int IndexOfAny (char8[] targets)
 
int IndexOfAny (char8[] targets, int startIdx)
 
int IndexOfAny (char8[] targets, int startIdx, int count)
 
bool Contains (StringView str, bool ignoreCase=false)
 
bool Contains (char8 c)
 
void Replace (char8 c, char8 newC)
 
void ToUpper ()
 
void ToLower ()
 
Result< void > Normalize (UnicodeNormalizationOptions unicodeNormalizationOptions=.NFC)
 
Result< void > Normalize (String destStr, UnicodeNormalizationOptions unicodeNormalizationOptions=.NFC)
 
void Remove (int startIdx, int length)
 
void Remove (int char8Idx)
 
void RemoveToEnd (int startIdx)
 
void RemoveFromEnd (int length)
 
void Insert (int idx, StringView addString)
 
void Insert (int idx, char8 c)
 
void Insert (int idx, char8 c, int count)
 
void Insert (int idx, char32 c)
 
void Insert (int idx, char32 c, int count)
 
int CompareTo (String strB, bool ignoreCase=false)
 
bool Equals (String b, StringComparison comparisonType=StringComparison.Ordinal)
 
bool Equals (StringView str)
 
bool Equals (StringView str, StringComparison comparisonType=StringComparison.Ordinal)
 
bool StartsWith (StringView b, StringComparison comparisonType=StringComparison.Ordinal)
 
bool EndsWith (StringView b, StringComparison comparisonType=StringComparison.Ordinal)
 
bool StartsWith (char8 c)
 
bool StartsWith (char32 c)
 
bool EndsWith (char8 c)
 
bool EndsWith (char32 c)
 
void ReplaceLargerHelper (String find, String replace)
 
void Replace (String find, String replace)
 
void TrimEnd ()
 
void TrimStart ()
 
void Trim ()
 
void TrimEnd (char32 trimChar)
 
void TrimEnd (char8 trimChar)
 
void TrimStart (char32 trimChar)
 
void TrimStart (char8 trimChar)
 
void Trim (char32 trimChar)
 
void Trim (char8 trimChar)
 
void PadLeft (int totalWidth, char8 paddingChar)
 
void PadLeft (int totalWidth, char32 paddingChar)
 
void PadLeft (int totalWidth)
 
void PadRight (int totalWidth, char8 paddingChar)
 
void PadRight (int totalWidth, char32 paddingChar)
 
void PadRight (int totalWidth)
 
void Join (StringView sep, IEnumerator< String > enumerable)
 
void Join (StringView sep, IEnumerator< StringView > enumerable)
 
void Join (String separator, params String[] values)
 
StringSplitEnumerator Split (char8 c)
 
StringSplitEnumerator Split (char8 separator, int count)
 
StringSplitEnumerator Split (char8 separator, StringSplitOptions options)
 
StringSplitEnumerator Split (char8 separator, int count, StringSplitOptions options)
 
StringSplitEnumerator Split (params char8[] separators)
 
StringSplitEnumerator Split (char8[] separators)
 
StringSplitEnumerator Split (char8[] separators, int count)
 
StringSplitEnumerator Split (char8[] separators, int count, StringSplitOptions options)
 
StringSplitEnumerator Split (char8[] separators, StringSplitOptions options)
 
StringStringSplitEnumerator Split (StringView sv)
 
StringStringSplitEnumerator Split (StringView separator, int count)
 
StringStringSplitEnumerator Split (StringView separator, StringSplitOptions options)
 
StringStringSplitEnumerator Split (StringView separator, int count, StringSplitOptions options)
 
StringStringSplitEnumerator Split (params StringView[] separators)
 
StringStringSplitEnumerator Split (StringView[] separators)
 
StringStringSplitEnumerator Split (StringView[] separators, int count)
 
StringStringSplitEnumerator Split (StringView[] separators, int count, StringSplitOptions options)
 
StringStringSplitEnumerator Split (StringView[] separators, StringSplitOptions options)
 
mixin Split (var splitChar)
 
mixin ToScopedNativeWChar ()
 
Span< c_wchar > ToConstNativeW ()
 
UTF8Enumerator DecodedChars (int startIdx)
 
bool HasMultibyteChars ()
 
String Intern ()
 

Static Public Member Functions

static void QuoteString (char8 *ptr, int length, String outString)
 
static void Quote (char8 *ptr, int length, String outString)
 
static void Escape (char8 *ptr, int length, String outString)
 
static Result< void > UnQuoteString (char8 *ptr, int length, String outString)
 
static Result< void > Unquote (char8 *ptr, int length, String outString)
 
static Result< void > Unescape (char8 *ptr, int length, String outString)
 
static implicit operator char8 * (String str)
 
static implicit operator Span< char8 > (String str)
 
static bool operator== (String s1, String s2)
 
static int operator<=> (String s1, String s2)
 
static int_strsize StrLen (char8 *str)
 
static String operator+ (String lhs, String rhs)
 
static String operator+ (String lhs, StringView rhs)
 
static String operator+ (String lhs, char32 rhs)
 
static String GetStringOrEmpty (String str)
 
static bool IsNullOrEmpty (String str)
 
static bool IsNullOrWhiteSpace (String str)
 
static int Compare (char8 *strA, int lengthA, char8 *strB, int lengthB, bool ignoreCase)
 
static int Compare (String strA, String strB, bool ignoreCase)
 
static int Compare (String strA, int indexA, String strB, int indexB, int length, bool ignoreCase)
 
static bool Equals (String a, String b, StringComparison comparisonType=StringComparison.Ordinal)
 
static mixin NewOrSet (var target, var source)
 
static mixin DupIfReferenceEqual (var inStr, var outStr)
 
static mixin StackSplit (var target, var splitChar)
 
static String ConstF (String format, params Span< Object > args)
 
static bool Equals (char8 *str1, char8 *str2)
 
static bool Equals (char8 *str1, char8 *str2, int length)
 

Public Attributes

char32 c
 
int startIdx
 

Static Public Attributes

const String Empty = ""
 

Protected Member Functions

virtual void * Alloc (int size, int align)
 
virtual void Free (void *ptr)
 

Properties

int Length [get, set]
 
int AllocSize [get]
 
bool IsDynAlloc [get]
 
bool HasExternalPtr [get]
 
char8 *? Ptr [get]
 
bool IsWhiteSpace [get]
 
bool IsEmpty [get]
 
ref char8 this[int index] [get, set]
 
ref char8 this[Index index] [get, set]
 
StringView this[IndexRange range] [get]
 
RawEnumerator RawChars [get]
 
UTF8Enumerator DecodedChars [get]
 

Member Function Documentation

◆ AppendF()

Result<void> System.String.AppendF ( IFormatProvider  provider,
StringView  format,
params Span< Object args 
)
inline

Appends formatted text.

Parameters
providerThe format provider
Returns
This method can fail if the format string is invalid.