xtd 0.2.0
Loading...
Searching...
No Matches
xtd::basic_string< char_t, traits_t, allocator_t > Class Template Reference
Inheritance diagram for xtd::basic_string< char_t, traits_t, allocator_t >:
xtd::object xtd::icomparable< basic_string< char_t, traits_t, allocator_t > > xtd::iequatable< basic_string< char_t, traits_t, allocator_t > > xtd::collections::generic::ienumerable< char_t > xtd::collections::generic::extensions::enumerable< ienumerable< char_t >, char_t > xtd::collections::generic::extensions::enumerable_iterators< char_t, xtd::collections::generic::ienumerable< char_t > > xtd::collections::generic::ienumerable_abstract xtd::interface xtd::extensions::equality_operators< basic_string< char_t, traits_t, allocator_t >, iequatable< basic_string< char_t, traits_t, allocator_t > > > xtd::interface xtd::extensions::comparison_operators< basic_string< char_t, traits_t, allocator_t >, icomparable< basic_string< char_t, traits_t, allocator_t > > > xtd::interface

Definition

template<class char_t, class traits_t, class allocator_t>
class xtd::basic_string< char_t, traits_t, allocator_t >

Represents text as a sequence of character units.

Namespace
xtd
Library
xtd.core
Remarks
A basic_string is a sequential collection of characters that's used to represent text. A xtd::basic_string object is a sequential collection of char that represent a basic_string. The value of the xtd::basic_string object is the content of the sequential collection of char_t, and unlike std::basic_string<char_t> that value is immutable (that is, it is read-only).
If you want the same mutable basic_string class, you can use xtd::text::basic_string_builder <char_t> class.
xtd::basic_string implements std::basic_string<char> and therefore offers the full (immutable) API of std::basic_string.
Several aliases for common character types are provided:
Type Definition
xtd::string xtd::basic_string <char>
xtd::u16string xtd::basic_string <xtd::char16>
xtd::u32string xtd::basic_string <xtd::char32>
xtd::u8string xtd::basic_string <xtd::char8>
xtd::wstring xtd::basic_string <xtd::wchar>
Namespace
xtd
Library
xtd.core
Remarks
A basic_string is a sequential collection of characters that's used to represent text. A xtd::basic_string object is a sequential collection of char that represent a basic_string. The value of the xtd::basic_string object is the content of the sequential collection of char_t, and unlike std::basic_string<char_t> that value is immutable (that is, it is read-only).
If you want the same mutable basic_string class, you can use xtd::text::basic_string_builder <char_t> class.
xtd::basic_string implements std::basic_string<char> and therefore offers the full (immutable) API of std::string.

Public Member Functions

bool is_empty () const noexcept
 Name Public Deprecated Methods.
 
 object ()=default
 Create a new instance of the ultimate base class object.
 
virtual type_object get_type () const noexcept
 Gets the type of the current instance.
 
template<class object_t>
xtd::unique_ptr_object< object_t > memberwise_clone () const
 Creates a shallow copy of the current object.
 
virtual auto begin () const -> const_iterator
 Returns an iterator to the first element of the enumerable.
 
virtual auto begin () -> iterator
 Returns an iterator to the first element of the enumerable.
 
virtual auto cbegin () const -> const_iterator
 Returns an iterator to the first element of the enumerable.
 
virtual auto cend () const -> const_iterator
 Returns an iterator to the element following the last element of the enumerable.
 
virtual auto end () const -> const_iterator
 Returns an iterator to the element following the last element of the enumerable.
 
virtual auto end () -> iterator
 Returns an iterator to the element following the last element of the enumerable.
 
auto aggregate (const std::function< char_t(const char_t &, const char_t &)> &func) const -> char_t
 Applies an accumulator function over a sequence.
 
auto aggregate (const char_t &seed, const std::function< char_t(const char_t &, const char_t &)> &func) const -> char_t
 Applies an accumulator function over a sequence. The specified seed value is used as the initial accumulator value.
 
auto aggregate (const accumulate_t &seed, const std::function< accumulate_t(const accumulate_t &, const char_t &)> &func) const -> accumulate_t
 Applies an accumulator function over a sequence. The specified seed value is used as the initial accumulator value.
 
auto aggregate (const char_t &seed, const std::function< char_t(const char_t &, const char_t &)> &func, const std::function< char_t(const char_t &)> &result_selector) const -> char_t
 Applies an accumulator function over a sequence. The specified seed value is used as the initial accumulator value, and the specified function is used to select the result value.
 
auto aggregate (const accumulate_t &seed, const std::function< accumulate_t(const accumulate_t &, const char_t &)> &func, const std::function< result_t(const accumulate_t &)> &result_selector) const -> result_t
 Applies an accumulator function over a sequence. The specified seed value is used as the initial accumulator value, and the specified function is used to select the result value.
 
auto all (const std::function< bool(const char_t &)> &predicate) const -> bool
 Determines whether all elements of a sequence satisfy a condition.
 
auto any () const noexcept -> bool
 Determines whether a sequence contains any elements.
 
auto any (const std::function< bool(const char_t &)> &predicate) const -> bool
 Determines whether any element of a sequence satisfies a condition.
 
auto append (const char_t &element) const noexcept
 Appends a value to the end of the sequence.
 
auto as_enumerable () const noexcept
 Returns the input typed as xtd::collections::generic::ienumerable <type_t>.
 
auto average () const noexcept
 Computes the average of a sequence of source_t values.
 
auto cast () const noexcept
 Casts the elements of an xtd::collections::generic::ienumerable to the specified type.
 
auto chunk (size_t size) const
 Splits the elements of a sequence into chunks of size at most size.
 
auto concat (const ienumerable< char_t > &second) const noexcept
 Concatenates two sequences.
 
auto contains (const char_t &value) const noexcept -> bool
 Determines whether a sequence contains a specified element by using the default equality comparer.
 
auto contains (const char_t &value, const xtd::collections::generic::iequality_comparer< char_t > &comparer) const noexcept -> bool
 Determines whether a sequence contains a specified element by using a specified equality comparer.
 
auto count () const noexcept -> xtd::size
 Returns the number of elements in current sequence.
 
auto count (const std::function< bool(const char_t &)> &predicate) const noexcept -> xtd::size
 Returns a number that represents how many elements in the specified sequence satisfy a condition.
 
auto count (const char_t &value) const noexcept -> xtd::size
 Returns the number of elements with the specified value.
 
auto count_by (const std::function< key_t(const char_t &)> &key_selector) const noexcept
 Returns the count of elements in the current sequence grouped by key.
 
auto count_by (const std::function< key_t(const char_t &)> &key_selector, const iequality_comparer< key_t > &key_comparer) const noexcept
 Returns the count of elements in the current sequence grouped by key.
 
auto default_if_empty () const noexcept
 Returns the elements of the specified sequence or the type parameter's default value in a singleton collection if the current sequence is empty.
 
auto default_if_empty (const char_t &default_value) const noexcept
 Returns the elements of the specified sequence or the specified value in a singleton collection if the current sequence is empty.
 
auto distinct () const noexcept
 Returns distinct elements from a sequence by using the default equality comparer to compare values.
 
auto distinct (const xtd::collections::generic::iequality_comparer< char_t > &comparer) const noexcept
 Returns distinct elements from a sequence by using a specified xtd::collections::generic::iequality_comparer <type_t> to compare values.
 
auto first_or_default (const std::function< bool(const char_t &)> &predicate, const char_t &default_value) const noexcept -> char_t
 Returns the first element of the sequence that satisfies a condition, or a specified default value if no such element is found.
 
auto first_or_default (const std::function< bool(const char_t &)> &predicate) const noexcept -> char_t
 Returns the first element of the sequence that satisfies a condition or a default value if no such element is found.
 
auto first_or_default (const char_t default_value) const noexcept -> char_t
 Returns the first element of the sequence that satisfies a condition or a default value if no such element is found.
 
auto first_or_default () const noexcept -> char_t
 Returns the first element of the sequence that satisfies a condition or a default value if no such element is found.
 
auto order ()
 Sorts the elements of a sequence in ascending order.
 
auto order (const xtd::collections::generic::icomparer< char_t > &comparer)
 Sorts the elements of a sequence in ascending order.
 
auto order_by (const std::function< char_t(const char_t &)> &key_selector) const
 Sorts the elements of a sequence in ascending order according to a key.
 
auto order_by (const std::function< key_t(const char_t &)> &key_selector) const
 Sorts the elements of a sequence in ascending order according to a key.
 
auto order_by_descending (const std::function< key_t(const char_t &)> &key_selector) const
 Sorts the elements of a sequence in descending order according to a key.
 
auto order_by_descending (const std::function< char_t(const char_t &)> &key_selector) const
 Sorts the elements of a sequence in descending order according to a key.
 
auto select (const std::function< result_t(const char_t &)> &selector) const
 Projects each element of a sequence into a new form.
 
auto select (const std::function< char_t(const char_t &)> &selector) const
 Projects each element of a sequence into a new form.
 
auto select (const std::function< result_t(const char_t &, size_t index)> &selector) const
 Projects each element of a sequence into a new form by incorporating the element's index.
 
auto select (const std::function< char_t(const char_t &, size_t index)> &selector) const
 Projects each element of a sequence into a new form by incorporating the element's index.
 
auto to_array () const noexcept -> xtd::array< char_t >
 Creates a xtd::array <type_t> from an xtd::collections::generic::ienumerable <type_t>.
 
auto to_list () const noexcept -> list< char_t >
 Creates a xtd::collections::generic::list <type_t> from an xtd::collections::generic::ienumerable <type_t>.
 
auto where (const std::function< bool(const char_t &)> &predicate) const
 Filters a sequence of values based on a predicate.
 
auto where (const std::function< bool(const char_t &, size_t)> &predicate) const
 Filters a sequence of values based on a predicate. Each element's index is used in the logic of the predicate function.
 

Static Public Member Functions

template<class object_t>
static basic_string class_name ()
 Gets the class name of the object_t.
 
template<class object_t>
static basic_string class_name (const object_t &object)
 Gets the class name of the specified object.
 
static basic_string class_name (const std::type_info &info)
 Gets the class name of the specified object.
 
template<class object_t>
static basic_string full_class_name ()
 Gets the fully qualified class name of the objec_t, including the namespace of the objec_t.
 
template<class object_t>
static basic_string full_class_name (const object_t &object)
 Gets the fully qualified class name of the specified object, including the namespace of the specified object.
 
static basic_string full_class_name (const std::type_info &info)
 Gets the fully qualified class name of the specified object, including the namespace of the specified object.
 
template<class object_a_t, class object_b_t>
static bool equals (const object_a_t &object_a, const object_b_t &object_b) noexcept
 Determines whether the specified object instances are considered equal.
 
template<class object_a_t, class object_b_t>
static bool reference_equals (const object_a_t &object_a, const object_b_t &object_b) noexcept
 Determines whether the specified object instances are the same instance.
 
static auto to_const_iterator (typename source_collection_t::const_iterator &value, const source_collection_t &source_collection, const target_collection_t &target_collection) noexcept -> typename target_collection_t::const_iterator
 Converts source iterator to target iterator.
 
static auto to_const_iterator (typename source_collection_t::const_iterator &value, source_collection_t &source_collection, target_collection_t &target_collection) noexcept -> typename target_collection_t::const_iterator
 Converts source iterator to target iterator.
 
static auto to_iterator (typename source_collection_t::const_iterator &value, const source_collection_t &source_collection, const target_collection_t &target_collection) noexcept -> typename target_collection_t::const_iterator
 Converts source iterator to target iterator.
 
static auto to_iterator (typename source_collection_t::iterator &value, const source_collection_t &source_collection, const target_collection_t &target_collection) noexcept -> typename target_collection_t::iterator
 Converts source iterator to target iterator.
 
static auto to_iterator (typename source_collection_t::const_iterator &value, source_collection_t &source_collection, target_collection_t &target_collection) noexcept -> typename target_collection_t::const_iterator
 Converts source iterator to target iterator.
 
static auto to_iterator (typename source_collection_t::iterator &value, source_collection_t &source_collection, target_collection_t &target_collection) noexcept -> typename target_collection_t::iterator
 Converts source iterator to target iterator.
 

Public Operators

const_reference operator[] (xtd::size index) const
 Returns a reference to the character at specified location index.
 
 operator const base_type & () const noexcept
 Returns a reference to the underlying base type.
 
basic_stringoperator= (const basic_string< char > &str) noexcept
 Copy assignment operator. Replaces the contents with a copy of the contents of str.
 
basic_stringoperator= (const basic_string< xtd::char16 > &str) noexcept
 Copy assignment operator. Replaces the contents with a copy of the contents of str.
 
basic_stringoperator= (const basic_string< xtd::char32 > &str) noexcept
 Copy assignment operator. Replaces the contents with a copy of the contents of str.
 
basic_stringoperator= (const basic_string< xtd::char8 > &str) noexcept
 Copy assignment operator. Replaces the contents with a copy of the contents of str.
 
basic_stringoperator= (const basic_string< xtd::wchar > &str) noexcept
 Copy assignment operator. Replaces the contents with a copy of the contents of str.
 
basic_stringoperator= (basic_string< char > &&str) noexcept
 Move assignment operator. Replaces the contents with those of other using move semantics (i.e. the data in str is moved from str into this string). str is in a valid but unspecified state afterwards.
 
basic_stringoperator= (basic_string< xtd::char16 > &&str) noexcept
 Move assignment operator. Replaces the contents with those of other using move semantics (i.e. the data in str is moved from str into this string). str is in a valid but unspecified state afterwards.
 
basic_stringoperator= (basic_string< xtd::char32 > &&str) noexcept
 Move assignment operator. Replaces the contents with those of other using move semantics (i.e. the data in str is moved from str into this string). str is in a valid but unspecified state afterwards.
 
basic_stringoperator= (basic_string< xtd::char8 > &&str) noexcept
 Move assignment operator. Replaces the contents with those of other using move semantics (i.e. the data in str is moved from str into this string). str is in a valid but unspecified state afterwards.
 
basic_stringoperator= (basic_string< xtd::wchar > &&str) noexcept
 Move assignment operator. Replaces the contents with those of other using move semantics (i.e. the data in str is moved from str into this string). str is in a valid but unspecified state afterwards.
 
basic_stringoperator= (const std::basic_string< char > &str) noexcept
 Copy assignment operator. Replaces the contents with a copy of the contents of str.
 
basic_stringoperator= (const std::basic_string< xtd::char16 > &str) noexcept
 Copy assignment operator. Replaces the contents with a copy of the contents of str.
 
basic_stringoperator= (const std::basic_string< xtd::char32 > &str) noexcept
 Copy assignment operator. Replaces the contents with a copy of the contents of str.
 
basic_stringoperator= (const std::basic_string< xtd::char8 > &str) noexcept
 Copy assignment operator. Replaces the contents with a copy of the contents of str.
 
basic_stringoperator= (const std::basic_string< xtd::wchar > &str) noexcept
 Copy assignment operator. Replaces the contents with a copy of the contents of str.
 
basic_stringoperator= (std::basic_string< char > &&str) noexcept
 Copy assignment operator. Replaces the contents with a copy of the contents of str.
 
basic_stringoperator= (std::basic_string< xtd::char16 > &&str) noexcept
 Copy assignment operator. Replaces the contents with a copy of the contents of str.
 
basic_stringoperator= (std::basic_string< xtd::char32 > &&str) noexcept
 Copy assignment operator. Replaces the contents with a copy of the contents of str.
 
basic_stringoperator= (std::basic_string< xtd::char8 > &&str) noexcept
 Copy assignment operator. Replaces the contents with a copy of the contents of str.
 
basic_stringoperator= (std::basic_string< xtd::wchar > &&str) noexcept
 Copy assignment operator. Replaces the contents with a copy of the contents of str.
 
basic_stringoperator= (const char *str)
 Copy assignment operator. Replaces the contents with a copy of the contents of str.
 
basic_stringoperator= (const xtd::char16 *str)
 Copy assignment operator. Replaces the contents with a copy of the contents of str.
 
basic_stringoperator= (const xtd::char32 *str)
 Copy assignment operator. Replaces the contents with a copy of the contents of str.
 
basic_stringoperator= (const xtd::char8 *str)
 Copy assignment operator. Replaces the contents with a copy of the contents of str.
 
basic_stringoperator= (const xtd::wchar *str)
 Copy assignment operator. Replaces the contents with a copy of the contents of str.
 
basic_stringoperator= (char character)
 Copy assignment operator. Replaces the contents with the specified character.
 
basic_stringoperator= (xtd::char16 character)
 Copy assignment operator. Replaces the contents with the specified character.
 
basic_stringoperator= (xtd::char32 character)
 Copy assignment operator. Replaces the contents with the specified character.
 
basic_stringoperator= (xtd::char8 character)
 Copy assignment operator. Replaces the contents with the specified character.
 
basic_stringoperator= (xtd::wchar character)
 Copy assignment operator. Replaces the contents with the specified character.
 
basic_stringoperator= (const std::initializer_list< char > &il)
 Copy assignment operator. Replaces the contents with a copy of the contents of the specified initializer list.
 
basic_stringoperator= (const std::initializer_list< xtd::char16 > &il)
 Copy assignment operator. Replaces the contents with a copy of the contents of the specified initializer list.
 
basic_stringoperator= (const std::initializer_list< xtd::char32 > &il)
 Copy assignment operator. Replaces the contents with a copy of the contents of the specified initializer list.
 
basic_stringoperator= (const std::initializer_list< xtd::char8 > &il)
 Copy assignment operator. Replaces the contents with a copy of the contents of the specified initializer list.
 
basic_stringoperator= (const std::initializer_list< xtd::wchar > &il)
 Copy assignment operator. Replaces the contents with a copy of the contents of the specified initializer list.
 
basic_stringoperator+= (const basic_string< char > &str)
 Addition assignment operator. Appends additional characters to the string.
 
basic_stringoperator+= (const basic_string< xtd::char16 > &str)
 Addition assignment operator. Appends additional characters to the string.
 
basic_stringoperator+= (const basic_string< xtd::char32 > &str)
 Addition assignment operator. Appends additional characters to the string.
 
basic_stringoperator+= (const basic_string< xtd::char8 > &str)
 Addition assignment operator. Appends additional characters to the string.
 
basic_stringoperator+= (const basic_string< xtd::wchar > &str)
 Addition assignment operator. Appends additional characters to the string.
 
basic_stringoperator+= (basic_string< char > &&str)
 Addition assignment operator. Appends additional characters to the string.
 
basic_stringoperator+= (basic_string< xtd::char16 > &&str)
 Addition assignment operator. Appends additional characters to the string.
 
basic_stringoperator+= (basic_string< xtd::char32 > &&str)
 Addition assignment operator. Appends additional characters to the string.
 
basic_stringoperator+= (basic_string< xtd::char8 > &&str)
 Addition assignment operator. Appends additional characters to the string.
 
basic_stringoperator+= (basic_string< xtd::wchar > &&str)
 Addition assignment operator. Appends additional characters to the string.
 
basic_stringoperator+= (const std::basic_string< char > &str)
 Addition assignment operator. Appends additional characters to the string.
 
basic_stringoperator+= (const std::basic_string< xtd::char16 > &str)
 Addition assignment operator. Appends additional characters to the string.
 
basic_stringoperator+= (const std::basic_string< xtd::char32 > &str)
 Addition assignment operator. Appends additional characters to the string.
 
basic_stringoperator+= (const std::basic_string< xtd::char8 > &str)
 Addition assignment operator. Appends additional characters to the string.
 
basic_stringoperator+= (const std::basic_string< xtd::wchar > &str)
 Addition assignment operator. Appends additional characters to the string.
 
basic_stringoperator+= (const char *str)
 Addition assignment operator. Appends additional characters to the string.
 
basic_stringoperator+= (const xtd::char16 *str)
 Addition assignment operator. Appends additional characters to the string.
 
basic_stringoperator+= (const xtd::char32 *str)
 Addition assignment operator. Appends additional characters to the string.
 
basic_stringoperator+= (const xtd::char8 *str)
 Addition assignment operator. Appends additional characters to the string.
 
basic_stringoperator+= (const xtd::wchar *str)
 Addition assignment operator. Appends additional characters to the string.
 
basic_stringoperator+= (char ch)
 Addition assignment operator. Appends additional characters to the string.
 
basic_stringoperator+= (xtd::char16 ch)
 Addition assignment operator. Appends additional characters to the string.
 
basic_stringoperator+= (xtd::char32 ch)
 Addition assignment operator. Appends additional characters to the string.
 
basic_stringoperator+= (xtd::char8 ch)
 Addition assignment operator. Appends additional characters to the string.
 
basic_stringoperator+= (xtd::wchar ch)
 Addition assignment operator. Appends additional characters to the string.
 

Public Methods

Compares two character sequences. /

/

/ /

Parameters
strThe other string to compare to. /
Returns
A 32-bit signed integer that indicates whether this instance precedes, follows, or appears in the same position in the sort order as the value parameter: / * Negative value if *this appears before the character sequence specified by the arguments, in lexicographical order. / * Zero if both character sequences compare equivalent. / * Positive value if *this appears after the character sequence specified by the arguments, in lexicographical order. /
Remarks
Compares this string to str. /
A character sequence consisting of count1 characters starting at data1 is compared to a character sequence consisting of count2 characters starting at data2 as follows: / * First, calculate the number of characters to compare, as if by size_type rlen = std::min(count1, count2). / * Then compare the sequences by calling traits_t::compare(data1, data2, rlen). For standard strings this function performs character-by-character lexicographical comparison. If the result is zero (the character sequences are equal so far), then their sizes are compared as follows: /
/ | Condition | Result | Return value | / | ----------------------------------------------------------— | ----------------------------— | ---------— | / | traits_t::compare(data1, data2, rlen) < 0 | data1 is less than data2 | < 0 | / | traits_t::compare(data1, data2, rlen) == 0 and size1 < size2 | data1 is less than data2 | < 0 | / | traits_t::compare(data1, data2, rlen) == 0 and size1 == size2 | data1 is equal to data2 | 0 | / | traits_t::compare(data1, data2, rlen) == 0 and size1 > size2 | data1 is greater than data2 | > 0 | / | traits_t::compare(data1, data2, rlen) > 0 | data1 is greater than data2 | > 0 | int32 compare(const basic_string & str) const {return chars_.compare(str);} / Compares two character sequences. /
Parameters
pos1The position of the first character in this string to compare. /
count1The number of characters of this string to compare. /
strThe other string to compare to. /
Returns
A 32-bit signed integer that indicates whether this instance precedes, follows, or appears in the same position in the sort order as the value parameter: / * Negative value if *this appears before the character sequence specified by the arguments, in lexicographical order. / * Zero if both character sequences compare equivalent. / * Positive value if *this appears after the character sequence specified by the arguments, in lexicographical order. /
Remarks
Compares a [pos1, pos1 + count1) substring of this string to str. / * If count1 > size() - pos1, the substring is [pos1, size()). /
A character sequence consisting of count1 characters starting at data1 is compared to a character sequence consisting of count2 characters starting at data2 as follows: / * First, calculate the number of characters to compare, as if by size_type rlen = std::min(count1, count2). / * Then compare the sequences by calling traits_t::compare(data1, data2, rlen). For standard strings this function performs character-by-character lexicographical comparison. If the result is zero (the character sequences are equal so far), then their sizes are compared as follows: /
/ | Condition | Result | Return value | / | ----------------------------------------------------------— | ----------------------------— | ---------— | / | traits_t::compare(data1, data2, rlen) < 0 | data1 is less than data2 | < 0 | / | traits_t::compare(data1, data2, rlen) == 0 and size1 < size2 | data1 is less than data2 | < 0 | / | traits_t::compare(data1, data2, rlen) == 0 and size1 == size2 | data1 is equal to data2 | 0 | / | traits_t::compare(data1, data2, rlen) == 0 and size1 > size2 | data1 is greater than data2 | > 0 | / | traits_t::compare(data1, data2, rlen) > 0 | data1 is greater than data2 | > 0 | int32 compare(size_type pos1, size_type count1, const basic_string & str) const {return chars_.compare(pos1, count1, str);} / Compares two character sequences. /
Parameters
pos1The position of the first character in this string to compare. /
count1The number of characters of this string to compare. /
strThe other string to compare to. /
pos2The position of the first character of the given string to compare. /
Returns
A 32-bit signed integer that indicates whether this instance precedes, follows, or appears in the same position in the sort order as the value parameter: / * Negative value if *this appears before the character sequence specified by the arguments, in lexicographical order. / * Zero if both character sequences compare equivalent. / * Positive value if *this appears after the character sequence specified by the arguments, in lexicographical order. /
Remarks
Compares a [pos1, pos1 + count1) substring of this string to a substring [pos2, pos2 + count2) of str. / * If count1 > length() - pos1, the first substring is [pos1, length()). / * If count2 > str.length() - pos2, the second substring is [pos2, str.length()). /
A character sequence consisting of count1 characters starting at data1 is compared to a character sequence consisting of count2 characters starting at data2 as follows: / * First, calculate the number of characters to compare, as if by size_type rlen = std::min(count1, count2). / * Then compare the sequences by calling traits_t::compare(data1, data2, rlen). For standard strings this function performs character-by-character lexicographical comparison. If the result is zero (the character sequences are equal so far), then their sizes are compared as follows: /
/ | Condition | Result | Return value | / | ----------------------------------------------------------— | ----------------------------— | ---------— | / | traits_t::compare(data1, data2, rlen) < 0 | data1 is less than data2 | < 0 | / | traits_t::compare(data1, data2, rlen) == 0 and size1 < size2 | data1 is less than data2 | < 0 | / | traits_t::compare(data1, data2, rlen) == 0 and size1 == size2 | data1 is equal to data2 | 0 | / | traits_t::compare(data1, data2, rlen) == 0 and size1 > size2 | data1 is greater than data2 | > 0 | / | traits_t::compare(data1, data2, rlen) > 0 | data1 is greater than data2 | > 0 | int32 compare(size_type pos1, size_type count1, const basic_string & str, size_type pos2) const {return chars_.compare(pos1, count1, str, pos2);} / Compares two character sequences. /
Parameters
pos1The position of the first character in this string to compare. /
count1The number of characters of this string to compare. /
strThe other string to compare to. /
pos2The position of the first character of the given string to compare. /
count2The number of characters of the given string to compare. /
Returns
A 32-bit signed integer that indicates whether this instance precedes, follows, or appears in the same position in the sort order as the value parameter: / * Negative value if *this appears before the character sequence specified by the arguments, in lexicographical order. / * Zero if both character sequences compare equivalent. / * Positive value if *this appears after the character sequence specified by the arguments, in lexicographical order. /
Remarks
Compares a [pos1, pos1 + count1) substring of this string to a substring [pos2, pos2 + count2) of str. / * If count1 > length() - pos1, the first substring is [pos1, length()). / * If count2 > str.length() - pos2, the second substring is [pos2, str.length()). /
A character sequence consisting of count1 characters starting at data1 is compared to a character sequence consisting of count2 characters starting at data2 as follows: / * First, calculate the number of characters to compare, as if by size_type rlen = std::min(count1, count2). / * Then compare the sequences by calling traits_t::compare(data1, data2, rlen). For standard strings this function performs character-by-character lexicographical comparison. If the result is zero (the character sequences are equal so far), then their sizes are compared as follows: /
/ | Condition | Result | Return value | / | ----------------------------------------------------------— | ----------------------------— | ---------— | / | traits_t::compare(data1, data2, rlen) < 0 | data1 is less than data2 | < 0 | / | traits_t::compare(data1, data2, rlen) == 0 and size1 < size2 | data1 is less than data2 | < 0 | / | traits_t::compare(data1, data2, rlen) == 0 and size1 == size2 | data1 is equal to data2 | 0 | / | traits_t::compare(data1, data2, rlen) == 0 and size1 > size2 | data1 is greater than data2 | > 0 | / | traits_t::compare(data1, data2, rlen) > 0 | data1 is greater than data2 | > 0 | int32 compare(size_type pos1, size_type count1, const basic_string & str, size_type pos2, size_type count2) const {return chars_.compare(pos1, count1, str, pos2, count2);} / Compares two character sequences. /
Parameters
spointer to the character string to compare to. /
Returns
A 32-bit signed integer that indicates whether this instance precedes, follows, or appears in the same position in the sort order as the value parameter: / * Negative value if *this appears before the character sequence specified by the arguments, in lexicographical order. / * Zero if both character sequences compare equivalent. / * Positive value if *this appears after the character sequence specified by the arguments, in lexicographical order. /
Remarks
Compares this string to the null-terminated character sequence beginning at the character pointed to by s with length traits_t::length(s). /
A character sequence consisting of count1 characters starting at data1 is compared to a character sequence consisting of count2 characters starting at data2 as follows: / * First, calculate the number of characters to compare, as if by size_type rlen = std::min(count1, count2). / * Then compare the sequences by calling traits_t::compare(data1, data2, rlen). For standard strings this function performs character-by-character lexicographical comparison. If the result is zero (the character sequences are equal so far), then their sizes are compared as follows: /
/ | Condition | Result | Return value | / | ----------------------------------------------------------— | ----------------------------— | ---------— | / | traits_t::compare(data1, data2, rlen) < 0 | data1 is less than data2 | < 0 | / | traits_t::compare(data1, data2, rlen) == 0 and size1 < size2 | data1 is less than data2 | < 0 | / | traits_t::compare(data1, data2, rlen) == 0 and size1 == size2 | data1 is equal to data2 | 0 | / | traits_t::compare(data1, data2, rlen) == 0 and size1 > size2 | data1 is greater than data2 | > 0 | / | traits_t::compare(data1, data2, rlen) > 0 | data1 is greater than data2 | > 0 | int32 compare(const_pointer s) const {return chars_.compare(s);} / Compares two character sequences. /
Parameters
pos1The position of the first character in this string to compare. /
count1The number of characters of this string to compare. /
spointer to the character string to compare to. /
Returns
A 32-bit signed integer that indicates whether this instance precedes, follows, or appears in the same position in the sort order as the value parameter: / * Negative value if *this appears before the character sequence specified by the arguments, in lexicographical order. / * Zero if both character sequences compare equivalent. / * Positive value if *this appears after the character sequence specified by the arguments, in lexicographical order. /
Remarks
Compares a [pos1, pos1 + count1) substring of this string to the null-terminated character sequence beginning at the character pointed to by s with length traits_t::length(s). / * If count1 > size() - pos1, the substring is [pos1$ , size()). @remarks A character sequence consisting ofcount1characters starting atdata1is compared to a character sequence consisting ofcount2characters starting atdata2as follows:
  • First, calculate the number of characters to compare, as if by
size_type rlen = std::min(count1, count2).
  • Then compare the sequences by calling
traits_t::compare(data1, data2, rlen)`. For standard strings this function performs character-by-character lexicographical comparison. If the result is zero (the character sequences are equal so far), then their sizes are compared as follows:
Condition Result Return value
traits_t::compare(data1, data2, rlen) < 0 data1 is less than data2 < 0
traits_t::compare(data1, data2, rlen) == 0 and size1 < size2 data1 is less than data2 < 0
traits_t::compare(data1, data2, rlen) == 0 and size1 == size2 data1 is equal to data2 0
traits_t::compare(data1, data2, rlen) == 0 and size1 > size2 data1 is greater than data2 > 0
traits_t::compare(data1, data2, rlen) > 0 data1 is greater than data2 > 0
int32 compare (size_type pos1, size_type count1, const_pointer s) const
 
int32 compare (size_type pos1, size_type count1, const_pointer s, size_type count2) const
 Compares two character sequences.
 
int32 compare_to (const object &value) const
 Compares this instance with a specified xtd::object and indicates whether this instance precedes, follows, or appears in the same position in the sort order as the specified xtd::object.
 
int32 compare_to (const basic_string &value) const noexcept override
 Compares this instance with a specified xtd::basic_string object and indicates whether this instance precedes, follows, or appears in the same position in the sort order as the specified string.
 
virtual bool contains (value_type value) const noexcept
 Returns a value indicating whether a specified char occurs within this basic_string.
 
virtual bool contains (const basic_string &value) const noexcept
 Returns a value indicating whether a specified substring occurs within this basic_string.
 
bool equals (const object &obj) const noexcept override
 Determines whether this instance and a specified object, which must also be a xtd::basic_string object, have the same value.
 
bool equals (const basic_string &value) const noexcept override
 Determines whether this instance and another specified xtd::basic_string object have the same value.
 
bool equals (const basic_string &value, bool ignore_case) const noexcept
 Determines whether this instance and another specified xtd::basic_string object have the same value, ignoring or honoring their case.
 
bool ends_with (value_type value) const noexcept
 Determines whether the end of this basic_string matches the specified character.
 
bool ends_with (value_type value, bool ignore_case) const noexcept
 Determines whether the end of this basic_string matches the specified character, ignoring or honoring their case.
 
bool ends_with (const basic_string &value) const noexcept
 Determines whether the end of this basic_string matches the specified basic_string.
 
bool ends_with (const basic_string &value, bool ignore_case) const noexcept
 Determines whether the end of this basic_string instance matches the specified basic_string, ignoring or honoring their case.
 
bool ends_with (const basic_string &value, xtd::string_comparison comparison_type) const noexcept
 Determines whether the end of this basic_string matches the specified basic_string when compared using the specified comparison option.
 
size_type find (const basic_string &str) const
 Finds the first substring equal to the given character sequence. Search begins at 0, i.e. the found substring must not begin in a position preceding 0.
 
size_type find (const basic_string &str, size_type pos) const
 Finds the first substring equal to the given character sequence. Search begins at pos, i.e. the found substring must not begin in a position preceding pos.
 
size_type find (const_pointer s, size_type pos, size_type count) const
 Finds the first substring equal to the given character sequence. Search begins at pos, i.e. the found substring must not begin in a position preceding pos.
 
size_type find (const_pointer s) const
 Finds the first substring equal to the given character sequence. Search begins at 0, i.e. the found substring must not begin in a position preceding 0.
 
size_type find (const_pointer s, size_type pos) const
 Finds the first substring equal to the given character sequence. Search begins at pos, i.e. the found substring must not begin in a position preceding pos.
 
size_type find (value_type ch) const
 Finds the first substring equal to the given character sequence. Search begins at 0, i.e. the found substring must not begin in a position preceding 0.
 
size_type find (value_type ch, size_type pos) const
 Finds the first substring equal to the given character sequence. Search begins at pos, i.e. the found substring must not begin in a position preceding pos.
 
size_type find_first_of (const basic_string &str) const
 Finds the first character equal to one of the characters in the given character sequence. The search considers only the range [pos, size()). If none of the characters in the given character sequence is present in the range, xtd::basic_string::npos will be returned. @parzm str The string identifying characters to search for.
 
size_type find_first_of (const basic_string &str, size_type pos) const
 Finds the first character equal to one of the characters in the given character sequence. The search considers only the range [pos, size()). If none of the characters in the given character sequence is present in the range, xtd::basic_string::npos will be returned.
 
size_type find_first_of (const_pointer s, size_type pos, size_type count) const
 Finds the first character equal to one of the characters in the given character sequence. The search considers only the range [pos, size()). If none of the characters in the given character sequence is present in the range, xtd::basic_string::npos will be returned.
 
size_type find_first_of (const_pointer s) const
 Finds the first character equal to one of the characters in the given character sequence. The search considers only the range [pos, size()). If none of the characters in the given character sequence is present in the range, xtd::basic_string::npos will be returned.
 
size_type find_first_of (const_pointer s, size_type pos) const
 Finds the first character equal to one of the characters in the given character sequence. The search considers only the range [pos, size()). If none of the characters in the given character sequence is present in the range, xtd::basic_string::npos will be returned.
 
size_type find_first_of (char_t ch) const
 Finds the first character equal to one of the characters in the given character sequence. The search considers only the range [pos, size()). If none of the characters in the given character sequence is present in the range, xtd::basic_string::npos will be returned.
 
size_type find_first_of (char_t ch, size_type pos) const
 Finds the first character equal to one of the characters in the given character sequence. The search considers only the range [pos, size()). If none of the characters in the given character sequence is present in the range, xtd::basic_string::npos will be returned.
 
size_type find_first_not_of (const basic_string &str) const
 Finds the first character equal to none of the characters in the given character sequence. The search considers only the range [pos, size()). If all characters in the range can be found in the given character sequence, xtd::basic_string::npos will be returned. @parzm str The string identifying characters to search for.
 
size_type find_first_not_of (const basic_string &str, size_type pos) const
 Finds the first character equal to none of the characters in the given character sequence. The search considers only the range [pos, size()). If all characters in the range can be found in the given character sequence, xtd::basic_string::npos will be returned.
 
size_type find_first_not_of (const_pointer s, size_type pos, size_type count) const
 Finds the first character equal to none of the characters in the given character sequence. The search considers only the range [pos, size()). If all characters in the range can be found in the given character sequence, xtd::basic_string::npos will be returned.
 
size_type find_first_not_of (const_pointer s) const
 Finds the first character equal to none of the characters in the given character sequence. The search considers only the range [pos, size()). If all characters in the range can be found in the given character sequence, xtd::basic_string::npos will be returned.
 
size_type find_first_not_of (const_pointer s, size_type pos) const
 Finds the first character equal to none of the characters in the given character sequence. The search considers only the range [pos, size()). If all characters in the range can be found in the given character sequence, xtd::basic_string::npos will be returned.
 
size_type find_first_not_of (char_t ch) const
 Finds the first character equal to none of the characters in the given character sequence. The search considers only the range [pos, size()). If all characters in the range can be found in the given character sequence, xtd::basic_string::npos will be returned.
 
size_type find_first_not_of (char_t ch, size_type pos) const
 Finds the first character equal to none of the characters in the given character sequence. The search considers only the range [pos, size()). If all characters in the range can be found in the given character sequence, xtd::basic_string::npos will be returned.
 
size_type find_last_of (const basic_string &str) const
 Finds the last character equal to one of characters in the given character sequence. The exact search algorithm is not specified. The search considers only the range [​0​, pos]. If none of the characters in the given character sequence is present in the range, xtd::basic_string::npos will be returned. @parzm str The string identifying characters to search for.
 
size_type find_last_of (const basic_string &str, size_type pos) const
 Finds the last character equal to one of characters in the given character sequence. The exact search algorithm is not specified. The search considers only the range [​0​, pos]. If none of the characters in the given character sequence is present in the range, xtd::basic_string::npos will be returned.
 
size_type find_last_of (const_pointer s, size_type pos, size_type count) const
 Finds the last character equal to one of characters in the given character sequence. The exact search algorithm is not specified. The search considers only the range [​0​, pos]. If none of the characters in the given character sequence is present in the range, xtd::basic_string::npos will be returned.
 
size_type find_last_of (const_pointer s) const
 Finds the last character equal to one of characters in the given character sequence. The exact search algorithm is not specified. The search considers only the range [​0​, pos]. If none of the characters in the given character sequence is present in the range, xtd::basic_string::npos will be returned.
 
size_type find_last_of (const_pointer s, size_type pos) const
 Finds the last character equal to one of characters in the given character sequence. The exact search algorithm is not specified. The search considers only the range [​0​, pos]. If none of the characters in the given character sequence is present in the range, xtd::basic_string::npos will be returned.
 
size_type find_last_of (char_t ch) const
 Finds the last character equal to one of characters in the given character sequence. The exact search algorithm is not specified. The search considers only the range [​0​, pos]. If none of the characters in the given character sequence is present in the range, xtd::basic_string::npos will be returned.
 
size_type find_last_of (char_t ch, size_type pos) const
 Finds the last character equal to one of characters in the given character sequence. The exact search algorithm is not specified. The search considers only the range [​0​, pos]. If none of the characters in the given character sequence is present in the range, xtd::basic_string::npos will be returned.
 
size_type find_last_not_of (const basic_string &str) const
 Finds the last character equal to none of the characters in the given character sequence. The search considers only the range [​0​, pos]. If all characters in the range can be found in the given character sequence,xtd::basic_string::npos will be returned. @parzm str The string identifying characters to search for.
 
size_type find_last_not_of (const basic_string &str, size_type pos) const
 Finds the last character equal to none of the characters in the given character sequence. The search considers only the range [​0​, pos]. If all characters in the range can be found in the given character sequence,xtd::basic_string::npos will be returned.
 
size_type find_last_not_of (const_pointer s, size_type pos, size_type count) const
 Finds the last character equal to none of the characters in the given character sequence. The search considers only the range [​0​, pos]. If all characters in the range can be found in the given character sequence,xtd::basic_string::npos will be returned.
 
size_type find_last_not_of (const_pointer s) const
 Finds the last character equal to none of the characters in the given character sequence. The search considers only the range [​0​, pos]. If all characters in the range can be found in the given character sequence,xtd::basic_string::npos will be returned.
 
size_type find_last_not_of (const_pointer s, size_type pos) const
 Finds the last character equal to none of the characters in the given character sequence. The search considers only the range [​0​, pos]. If all characters in the range can be found in the given character sequence,xtd::basic_string::npos will be returned.
 
size_type find_last_not_of (char_t ch) const
 Finds the last character equal to none of the characters in the given character sequence. The search considers only the range [​0​, pos]. If all characters in the range can be found in the given character sequence,xtd::basic_string::npos will be returned.
 
size_type find_last_not_of (char_t ch, size_type pos) const
 Finds the last character equal to none of the characters in the given character sequence. The search considers only the range [​0​, pos]. If all characters in the range can be found in the given character sequence,xtd::basic_string::npos will be returned.
 
allocator_type get_allocator () const
 Returns the allocator associated with the string.
 
virtual const base_type & get_base_type () const noexcept
 Returns the underlying base type.
 
xtd::size get_hash_code () const noexcept override
 Returns the hash code for this basic_string.
 
enumerator_type get_enumerator () const noexcept override
 Returns an enumerator that iterates through a collection.
 
xtd::size index_of (const basic_string &value) const noexcept
 Reports the index of the first occurrence of the specified basic_string in this basic_string.
 
xtd::size index_of (const basic_string &value, xtd::size start_index) const
 Reports the index of the first occurrence of the specified character in this basic_string. The search starts at a specified character position.
 
xtd::size index_of (const basic_string &value, xtd::size start_index, xtd::size count) const
 Reports the index of the first occurrence of the specified character in this basic_string. The search starts at a specified character position and examines a specified number of character positions.
 
xtd::size index_of (value_type value) const noexcept
 Reports the index of the first occurrence of the specified character in this basic_string.
 
xtd::size index_of (value_type value, xtd::size start_index) const
 Reports the index of the first occurrence of the specified character in this basic_string. The search starts at a specified character position.
 
xtd::size index_of (value_type value, xtd::size start_index, xtd::size count) const
 Reports the index of the first occurrence of the specified character in this basic_string. The search starts at a specified character position and examines a specified number of character positions.
 
xtd::size index_of_any (const xtd::array< value_type > &values) const noexcept
 Reports the index of the first occurrence in this instance of any character in a specified array of characters.
 
xtd::size index_of_any (const xtd::array< value_type > &values, xtd::size start_index) const
 Reports the index of the first occurrence in this instance of any character in a specified array of characters. The search starts at a specified character position.
 
xtd::size index_of_any (const xtd::array< value_type > &values, xtd::size start_index, xtd::size count) const
 Reports the index of the first occurrence in this instance of any character in a specified array of characters. The search starts at a specified character position.
 
basic_string insert (xtd::size start_index, const basic_string &value) const
 Inserts a specified instance of basic_string at a specified index position in this instance.
 
xtd::size last_index_of (const basic_string &value) const noexcept
 Reports the index of the last occurrence of the specified basic_string in this basic_string.
 
xtd::size last_index_of (const basic_string &value, xtd::size start_index) const
 Reports the index of the last occurrence of the specified character in this basic_string. The search starts at a specified character position.
 
xtd::size last_index_of (const basic_string &value, xtd::size start_index, xtd::size count) const
 Reports the index of the last occurrence of the specified character in this basic_string. The search starts at a specified character position and examines a specified number of character positions.
 
xtd::size last_index_of (value_type value) const noexcept
 Reports the index of the last occurrence of the specified character in this tring.
 
xtd::size last_index_of (value_type value, xtd::size start_index) const
 Reports the index of the last occurrence of the specified character in this basic_string. The search starts at a specified character position.
 
xtd::size last_index_of (value_type value, xtd::size start_index, xtd::size count) const
 Reports the index of the last occurrence of the specified character in this basic_string. The search starts at a specified character position and examines a specified number of character positions.
 
xtd::size last_index_of_any (const xtd::array< value_type > &values) const noexcept
 Reports the index of the last occurrence in this instance of any character in a specified array of characters.
 
xtd::size last_index_of_any (const xtd::array< value_type > &values, xtd::size start_index) const
 Reports the index of the last occurrence in this instance of any character in a specified array of characters. The search starts at a specified character position.
 
xtd::size last_index_of_any (const xtd::array< value_type > &values, xtd::size start_index, xtd::size count) const
 Reports the index of the last occurrence in this instance of any character in a specified array of characters. The search starts at a specified character position.
 
basic_string pad_left (xtd::size total_width) const noexcept
 Right-aligns the characters in this basic_string, padding with spaces on the left for a specified total length.
 
basic_string pad_left (xtd::size total_width, char32 padding_char) const noexcept
 Right-aligns the characters in this basic_string, padding with spaces on the left for a specified total length.
 
basic_string pad_right (xtd::size total_width) const noexcept
 Left-aligns the characters in this basic_string, padding with spaces on the right for a specified total length.
 
basic_string pad_right (xtd::size total_width, char32 padding_char) const noexcept
 Left-aligns the characters in this basic_string, padding with spaces on the right for a specified total length.
 
basic_string quoted () const
 Allows insertion and extraction of quoted strings, such as the ones found in CSV or XML.
 
basic_string quoted (value_type delimiter) const
 Allows insertion and extraction of quoted strings, such as the ones found in CSV or XML ith specified delimiter.
 
basic_string quoted (value_type delimiter, value_type escape) const
 Allows insertion and extraction of quoted strings, such as the ones found in CSV or XML ith specified delimiter and escape.
 
basic_string remove (xtd::size start_index) const
 Deletes all the characters from this basic_string beginning at a specified position and continuing through the last position.
 
basic_string remove (xtd::size start_index, xtd::size count) const
 Deletes all the characters from this basic_string beginning at a specified position and continuing through the last position.
 
basic_string replace (value_type old_char, value_type new_char) const noexcept
 Replaces all occurrences of a specified char_t in this basic_string with another specified char_t.
 
basic_string replace (const basic_string &old_string, const basic_string &new_string) const noexcept
 Replaces all occurrences of a specified basic_string in this basic_string with another specified basic_string.
 
size_type rfind (const basic_string &str) const
 Finds the last substring that is equal to the given character sequence. The search begins at xtd::basic_string::npos and proceeds from right to left (thus, the found substring, if any, cannot begin in a position following xtd::basic_string::npos). If xtd::basic_string::npos or any value not smaller than xtd::basic_string::size() - 1 is passed as xtd::basic_string::npos, the whole string will be searched.
 
size_type rfind (const basic_string &str, size_type pos) const
 Finds the last substring that is equal to the given character sequence. The search begins at pos and proceeds from right to left (thus, the found substring, if any, cannot begin in a position following pos). If xtd::basic_string::npos or any value not smaller than xtd::basic_string::size() - 1 is passed as pos, the whole string will be searched.
 
size_type rfind (const_pointer s, size_type pos, size_type count) const
 Finds the last substring that is equal to the given character sequence. The search begins at pos and proceeds from right to left (thus, the found substring, if any, cannot begin in a position following pos). If xtd::basic_string::npos or any value not smaller than xtd::basic_string::size() - 1 is passed as pos, the whole string will be searched.
 
size_type rfind (const_pointer s) const
 Finds the last substring that is equal to the given character sequence. The search begins at xtd::basic_string::npos and proceeds from right to left (thus, the found substring, if any, cannot begin in a position following xtd::basic_string::npos). If xtd::basic_string::npos or any value not smaller than xtd::basic_string::size() - 1 is passed as xtd::basic_string::npos, the whole string will be searched.
 
size_type rfind (const_pointer s, size_type pos) const
 Finds the last substring that is equal to the given character sequence. The search begins at pos and proceeds from right to left (thus, the found substring, if any, cannot begin in a position following pos). If xtd::basic_string::npos or any value not smaller than xtd::basic_string::size() - 1 is passed as pos, the whole string will be searched.
 
size_type rfind (value_type ch) const
 Finds the last substring that is equal to the given character sequence. The search begins at xtd::basic_string::npos and proceeds from right to left (thus, the found substring, if any, cannot begin in a position following xtd::basic_string::npos). If xtd::basic_string::npos or any value not smaller than xtd::basic_string::size() - 1 is passed as xtd::basic_string::npos, the whole string will be searched.
 
size_type rfind (value_type ch, size_type pos) const
 Finds the last substring that is equal to the given character sequence. The search begins at pos and proceeds from right to left (thus, the found substring, if any, cannot begin in a position following pos). If xtd::basic_string::npos or any value not smaller than xtd::basic_string::size() - 1 is passed as pos, the whole string will be searched.
 
xtd::array< basic_stringsplit () const noexcept
 Splits this basic_string into substrings that are based on the default white-space characters. White-space characters are defined by the c++ standard and return true if they are passed to the xtd::char_object::isspace() or std::iswspace() method.
 
xtd::array< basic_stringsplit (value_type separator) const noexcept
 Splits this basic_string into substrings that are based on the characters in an array.
 
xtd::array< basic_stringsplit (value_type separator, xtd::string_split_options options) const noexcept
 Splits this basic_string into substrings based on the characters in an array. You can specify whether the substrings include empty array elements.
 
xtd::array< basic_stringsplit (value_type separator, xtd::size count) const noexcept
 Splits this basic_string into a maximum number of substrings based on the characters in an array. You also specify the maximum number of substrings to return.
 
xtd::array< basic_stringsplit (value_type separator, xtd::size count, xtd::string_split_options options) const noexcept
 Splits this basic_string into a maximum number of substrings based on the characters in an array.
 
xtd::array< basic_stringsplit (const xtd::array< value_type > &separators) const noexcept
 Splits this basic_string into substrings that are based on the characters in an array.
 
xtd::array< basic_stringsplit (const xtd::array< value_type > &separators, xtd::string_split_options options) const noexcept
 Splits this basic_string into substrings based on the characters in an array. You can specify whether the substrings include empty array elements.
 
xtd::array< basic_stringsplit (const xtd::array< value_type > &separators, xtd::size count) const noexcept
 Splits this basic_string into a maximum number of substrings based on the characters in an array. You also specify the maximum number of substrings to return.
 
xtd::array< basic_stringsplit (const xtd::array< value_type > &separators, xtd::size count, xtd::string_split_options options) const noexcept
 Splits this basic_string into a maximum number of substrings based on the characters in an array.
 
bool starts_with (value_type value) const noexcept
 Determines whether the beginning of this instance of xtd::basic_string matches a specified xtd::basic_string.
 
bool starts_with (value_type value, bool ignore_case) const noexcept
 Determines whether the beginning of this instance of xtd::basic_string matches a specified xtd::basic_string, ignoring or honoring their case.
 
bool starts_with (const basic_string &value) const noexcept
 Determines whether the beginning of this instance of xtd::basic_string matches a specified xtd::basic_string.
 
bool starts_with (const basic_string &value, bool ignore_case) const noexcept
 Determines whether the beginning of this instance of xtd::basic_string matches a specified xtd::basic_string, ignoring or honoring their case.
 
bool starts_with (const basic_string &value, xtd::string_comparison comparison_type) const noexcept
 Determines whether the end of this basic_string matches the specified basic_string when compared using the specified comparison option.
 
basic_string substr () const
 Returns a substring [pos, pos + count). If the requested substring extends past the end of the string, i.e. the count is greater than size() - pos (e.g. if count == xtd::basic_string::npos), the returned substring is [pos, size()).
 
basic_string substr (size_type pos) const
 Returns a substring [pos, pos + count). If the requested substring extends past the end of the string, i.e. the count is greater than size() - pos (e.g. if count == xtd::basic_string::npos), the returned substring is [pos, size()).
 
basic_string substr (size_type pos, size_type count) const
 Returns a substring [pos, pos + count). If the requested substring extends past the end of the string, i.e. the count is greater than size() - pos (e.g. if count == xtd::basic_string::npos), the returned substring is [pos, size()).
 
basic_string substring (xtd::size start_index) const
 Retrieves a substring from this instance. The substring starts at a specified character position and has a specified length.
 
basic_string substring (xtd::size start_index, xtd::size length) const
 Retrieves a substring from this instance. The substring starts at a specified character position and has a specified length.
 
xtd::array< value_typeto_array () const noexcept
 Copies the characters in this instance to a Unicode character array.
 
xtd::array< value_typeto_array (xtd::size start_index) const
 Copies the characters in this instance to a Unicode character array starting at specified index.
 
xtd::array< value_typeto_array (xtd::size start_index, xtd::size length) const
 Copies the characters in this instance to a Unicode character array starting at specified index with specified length.
 
xtd::array< value_typeto_char_array () const noexcept
 Copies the characters in this instance to a Unicode character array.
 
xtd::array< value_typeto_char_array (xtd::size start_index, xtd::size length) const
 Copies the characters in this instance to a Unicode character array starting at specified index with specified length.
 
basic_string to_lower () const noexcept
 Returns a copy of the current xtd::basic_string converted to lowercase.
 
basic_string< char > to_string () const noexcept override
 Converts the value of this instance to a xtd::basic_string <char>.
 
basic_string to_title_case () const noexcept
 Converts the current basic_string to title case (except for words that are entirely in uppercase, which are considered to be acronyms).
 
basic_string< xtd::char16to_u16string () const noexcept
 Converts the value of this instance to a xtd::basic_string <xtd::char16>.
 
basic_string< xtd::char32to_u32string () const noexcept
 Converts the value of this instance to a xtd::basic_string <xtd::char32>.
 
basic_string< xtd::char8to_u8string () const noexcept
 Converts the value of this instance to a xtd::basic_string <xtd::char8>.
 
basic_string to_upper () const noexcept
 Returns a copy of the current xtd::basic_string converted to uppercase.
 
basic_string< xtd::wcharto_wstring () const noexcept
 Converts the value of this instance to a xtd::basic_string <xtd::wchar>.
 
basic_string trim () const noexcept
 Removes all leading and trailing occurrences of white-space characters from the specified xtd::basic_string.
 
basic_string trim (value_type trim_char) const noexcept
 Removes all leading and trailing occurrences of a character specified from the specified xtd::basic_string .
 
basic_string trim (const xtd::array< value_type > &trim_chars) const noexcept
 Removes all leading and trailing occurrences of a set of characters specified in an array from the specified xtd::basic_string.
 
basic_string trim_end () const noexcept
 Removes all trailing occurrences of white-space characters from the specified xtd::basic_string.
 
basic_string trim_end (value_type trim_char) const noexcept
 Removes all trailing occurrences of a character specified from the specified xtd::basic_string .
 
basic_string trim_end (const xtd::array< value_type > &trim_chars) const noexcept
 Removes all trailing occurrences of a set of characters specified in an array from the specified xtd::basic_string.
 
basic_string trim_start () const noexcept
 Removes all leading occurrences of white-space characters from the specified xtd::basic_string.
 
basic_string trim_start (value_type trim_char) const noexcept
 Removes all leading occurrences of a character specified from the specified xtd::basic_string .
 
basic_string trim_start (const xtd::array< value_type > &trim_chars) const noexcept
 Removes all leading occurrences of a set of characters specified in an array from the specified xtd::basic_string.
 

Public Static Methods

static int32 compare (const basic_string &str_a, const basic_string &str_b) noexcept
 Compares two specified basic_string objects and returns an integer that indicates their relative position in the sort order.
 
static int32 compare (const basic_string &str_a, const basic_string &str_b, bool ignore_case) noexcept
 Compares two specified basic_string objects, ignoring or honoring their case, and returns an integer that indicates their relative position in the sort order.
 
static int32 compare (const basic_string &str_a, const basic_string &str_b, xtd::string_comparison comparison_type) noexcept
 Compares two specified basic_string objects using the specified rules, and returns an integer that indicates their relative position in the sort order.
 
static int32 compare (const basic_string &str_a, xtd::size index_a, const basic_string &str_b, xtd::size index_b, xtd::size length)
 Compares substrings of two specified basic_string objects and returns an integer that indicates their relative position in the sort order.
 
static int32 compare (const basic_string &str_a, xtd::size index_a, const basic_string &str_b, xtd::size index_b, xtd::size length, bool ignore_case)
 Compares substrings of two specified basic_string objects, ignoring or honoring their case, and returns an integer that indicates their relative position in the sort order.
 
static int32 compare (const basic_string &str_a, xtd::size index_a, const basic_string &str_b, xtd::size index_b, xtd::size length, xtd::string_comparison comparison_type)
 Compares substrings of two specified basic_string objects using the specified rules, and returns an integer that indicates their relative position in the sort order.
 
static basic_string concat (const basic_string &str_a, const basic_string &str_b, const basic_string &str_c, const basic_string &str_d) noexcept
 Concatenates four specified instances of basic_string.
 
template<class object_a_t, class object_b_t, class object_c_t, class object_d_t>
static basic_string concat (object_a_t obj_a, object_b_t obj_b, object_c_t obj_c, object_d_t obj_d) noexcept
 Concatenates four specified instances of object.
 
static basic_string concat (const basic_string &str_a, const basic_string &str_b, const basic_string &str_c) noexcept
 Concatenates three specified instances of basic_string.
 
template<class object_a_t, class object_b_t, class object_c_t>
static basic_string concat (object_a_t obj_a, object_b_t obj_b, object_c_t obj_c) noexcept
 Concatenates three specified instances of object.
 
static basic_string concat (const basic_string &str_a, const basic_string &str_b) noexcept
 Concatenates two specified instances of basic_string.
 
template<class object_a_t, class object_b_t>
static basic_string concat (object_a_t obj_a, object_b_t obj_b) noexcept
 Concatenates two specified instances of object.
 
static basic_string concat (const xtd::array< basic_string > &values) noexcept
 Concatenates the elements of a specified basic_string array.
 
template<class object_t>
static basic_string concat (const xtd::array< object_t > &args) noexcept
 Concatenates the basic_string representations of the elements in a specified object array.
 
template<class value_t>
static basic_string concat (value_t value) noexcept
 Creates the basic_string representation of a specified object.
 
static basic_string demangle (const basic_string &name)
 Gets demangled basic_string of name,.
 
static bool equals (const basic_string &a, const basic_string &b) noexcept
 Determines whether two specified xtd::basic_string objects have the same value.
 
template<class char_a_t, class char_b_t>
static bool equals (const char_a_t *a, const char_b_t *b) noexcept
 Determines whether two specified xtd::basic_string objects have the same value.
 
static bool equals (const basic_string &a, const basic_string &b, bool ignore_case) noexcept
 Determines whether two specified xtd::basic_string objects have the same value, ignoring or honoring their case.
 
template<class char_a_t, class char_b_t>
static bool equals (const char_a_t *a, const char_b_t *b, bool ignore_case) noexcept
 Determines whether two specified xtd::basic_string objects have the same value, ignoring or honoring their case.
 
template<class ... args_t>
static basic_string format (const basic_string< char > &fmt, args_t &&... args)
 Writes the text representation of the specified arguments list, to string using the specified format information.
 
template<class ... args_t>
static basic_string format (const std::locale &loc, const basic_string< char > &fmt, args_t &&... args)
 Writes the text representation of the specified arguments list, to string using the specified format information.
 
static bool is_empty (const xtd::basic_string< value_type, traits_type, allocator_type > &string) noexcept
 Indicates whether the specifeid basic_string is an empty basic_string ("").
 
template<class collection_t>
static basic_string join (const basic_string &separator, const collection_t &values) noexcept
 Concatenates a specified separator basic_string between each element of a specified object array, yielding a single concatenated basic_string.
 
template<class collection_t>
static basic_string join (const basic_string &separator, const collection_t &values, xtd::size index)
 Concatenates a specified separator basic_string between each element of a specified object array, yielding a single concatenated basic_string.
 
template<class collection_t>
static basic_string join (const basic_string &separator, const collection_t &values, xtd::size index, xtd::size count)
 Concatenates a specified separator basic_string between each element of a specified Object array, yielding a single concatenated basic_string.
 
template<class value_t>
static value_t parse (const basic_string &str)
 Converts a basic_string into a value_t type.
 
template<class ... args_t>
static basic_string sprintf (const basic_string &fmt, args_t &&... args) noexcept
 Writes the text representation of the specified arguments list, to basic_string using the specified format information.
 
template<class value_t>
static bool try_parse (const basic_string &str, value_t &value) noexcept
 Try to convert a basic_string into a value_t type.
 

Additional Inherited Members

using value_type
 Represents the xtd::collections::generic::ienumerable value type.
 
using iterator
 Represents the iterator of xtd::collections::generic::ienumerable value type.
 
using const_iterator
 Represents the const iterator of xtd::collections::generic::ienumerable value type.
 
using iterator
 Represents the iterator of enumerable value type.
 
using const_iterator
 Represents the const iterator of enumerable value type.
 
using enumerable_type
 Represents the ienumerable enumerable type.
 
using source_type
 Represents the ienumerable source type.
 
using ienumerable
 Represents the ienumerable value type.
 
using list
 Represents the list value type.
 

Member Function Documentation

◆ compare() [1/7]

template<class char_t, class traits_t, class allocator_t>
int32 xtd::basic_string< char_t, traits_t, allocator_t >::compare ( size_type pos1,
size_type count1,
const_pointer s,
size_type count2 ) const
inline

Compares two character sequences.

Parameters
pos1The position of the first character in this string to compare.
count1The number of characters of this string to compare.
spointer to the character string to compare to.
count2The number of characters of the given string to compare.
Returns
A 32-bit signed integer that indicates whether this instance precedes, follows, or appears in the same position in the sort order as the value parameter:
  • Negative value if *this appears before the character sequence specified by the arguments, in lexicographical order.
  • Zero if both character sequences compare equivalent.
  • Positive value if *this appears after the character sequence specified by the arguments, in lexicographical order.
Remarks
Compares a [pos1, pos1 + count1) substring of this string to the characters in the range [s, s + count2). The characters in [s, s + count2) may include null characters.
  • If count1 > size() - pos1, the substring is [pos1, size()).
A character sequence consisting of count1 characters starting at data1 is compared to a character sequence consisting of count2 characters starting at data2 as follows:
  • First, calculate the number of characters to compare, as if by size_type rlen = std::min(count1, count2).
  • Then compare the sequences by calling traits_t::compare(data1, data2, rlen). For standard strings this function performs character-by-character lexicographical comparison. If the result is zero (the character sequences are equal so far), then their sizes are compared as follows:
Condition Result Return value
traits_t::compare(data1, data2, rlen) < 0 data1 is less than data2 < 0
traits_t::compare(data1, data2, rlen) == 0 and size1 < size2 data1 is less than data2 < 0
traits_t::compare(data1, data2, rlen) == 0 and size1 == size2 data1 is equal to data2 0
traits_t::compare(data1, data2, rlen) == 0 and size1 > size2 data1 is greater than data2 > 0
traits_t::compare(data1, data2, rlen) > 0 data1 is greater than data2 > 0

◆ compare_to() [1/2]

template<class char_t, class traits_t, class allocator_t>
int32 xtd::basic_string< char_t, traits_t, allocator_t >::compare_to ( const object & value) const
inline

Compares this instance with a specified xtd::object and indicates whether this instance precedes, follows, or appears in the same position in the sort order as the specified xtd::object.

Parameters
valueAn object that evaluates to a xtd::basic_string.
Returns
A 32-bit signed integer that indicates whether this instance precedes, follows, or appears in the same position in the sort order as the value parameter.
Value Condition
Less than zero This instance precedes value.
Zero This instance has the same position in the sort order as value.
Greater than zero This instance follows value.
Exceptions
xtd::argument_exception`value` is not a xtd::basic_string.

◆ compare_to() [2/2]

template<class char_t, class traits_t, class allocator_t>
int32 xtd::basic_string< char_t, traits_t, allocator_t >::compare_to ( const basic_string< char_t, traits_t, allocator_t > & value) const
inlineoverridevirtualnoexcept

Compares this instance with a specified xtd::basic_string object and indicates whether this instance precedes, follows, or appears in the same position in the sort order as the specified string.

Parameters
valueThe string to compare with this instance.
Returns
A 32-bit signed integer that indicates whether this instance precedes, follows, or appears in the same position in the sort order as the value parameter.
Value Condition
Less than zero This instance precedes value.
Zero This instance has the same position in the sort order as value.
Greater than zero This instance follows value.

Implements xtd::icomparable< basic_string< char_t, traits_t, allocator_t > >.

◆ contains() [1/2]

template<class char_t, class traits_t, class allocator_t>
virtual bool xtd::basic_string< char_t, traits_t, allocator_t >::contains ( value_type value) const
inlinevirtualnoexcept

Returns a value indicating whether a specified char occurs within this basic_string.

Parameters
valueThe char to seek.
Returns
true if the value parameter occurs within this basic_string; otherwise, false.

◆ contains() [2/2]

template<class char_t, class traits_t, class allocator_t>
virtual bool xtd::basic_string< char_t, traits_t, allocator_t >::contains ( const basic_string< char_t, traits_t, allocator_t > & value) const
inlinevirtualnoexcept

Returns a value indicating whether a specified substring occurs within this basic_string.

Parameters
valueThe basic_string to seek.
Returns
true if the value parameter occurs within this basic_string, or if value is the empty basic_string (""); otherwise, false.

◆ equals() [1/7]

template<class char_t, class traits_t, class allocator_t>
bool xtd::basic_string< char_t, traits_t, allocator_t >::equals ( const object & obj) const
inlineoverridevirtualnoexcept

Determines whether this instance and a specified object, which must also be a xtd::basic_string object, have the same value.

Parameters
objThe basic_string to compare to this instance.
Returns
true if obj is a xtd::basic_string and its value is the same as this instance; otherwise, false.

Reimplemented from xtd::object.

◆ equals() [2/7]

template<class char_t, class traits_t, class allocator_t>
bool xtd::basic_string< char_t, traits_t, allocator_t >::equals ( const basic_string< char_t, traits_t, allocator_t > & value) const
inlineoverridevirtualnoexcept

Determines whether this instance and another specified xtd::basic_string object have the same value.

Parameters
valueThe basic_string to compare to this instance.
Returns
true if the value of the value parameter is the same as the value of this instance; otherwise, false.
Remarks
This method performs an ordinal (case-sensitive) comparison.

Implements xtd::iequatable< basic_string< char_t, traits_t, allocator_t > >.

◆ equals() [3/7]

template<class char_t, class traits_t, class allocator_t>
bool xtd::basic_string< char_t, traits_t, allocator_t >::equals ( const basic_string< char_t, traits_t, allocator_t > & value,
bool ignore_case ) const
inlinenoexcept

Determines whether this instance and another specified xtd::basic_string object have the same value, ignoring or honoring their case.

Parameters
valueThe basic_string to compare to this instance.
ignore_casetrue to ignore case when comparing this instance and value; otherwise, false
Returns
true if the value of the value parameter is the same as the value of this instance; otherwise, false.
Remarks
This method performs an ordinal comparison.

◆ ends_with() [1/5]

template<class char_t, class traits_t, class allocator_t>
bool xtd::basic_string< char_t, traits_t, allocator_t >::ends_with ( value_type value) const
inlinenoexcept

Determines whether the end of this basic_string matches the specified character.

Parameters
valueThe char_t to compare to the substring at the end of this instance.
Returns
true if value matches the end of this instance; otherwise, false.

◆ ends_with() [2/5]

template<class char_t, class traits_t, class allocator_t>
bool xtd::basic_string< char_t, traits_t, allocator_t >::ends_with ( value_type value,
bool ignore_case ) const
inlinenoexcept

Determines whether the end of this basic_string matches the specified character, ignoring or honoring their case.

Parameters
valueThe char_t to compare to the substring at the end of this instance.
ignore_casetrue to ignore case during the comparison; otherwise, false.
Returns
true if value matches the end of this instance; otherwise, false.

◆ ends_with() [3/5]

template<class char_t, class traits_t, class allocator_t>
bool xtd::basic_string< char_t, traits_t, allocator_t >::ends_with ( const basic_string< char_t, traits_t, allocator_t > & value) const
inlinenoexcept

Determines whether the end of this basic_string matches the specified basic_string.

Parameters
valueThe basic_string to compare to the substring at the end of this instance.
Returns
true if value matches the end of this instance; otherwise, false.

◆ ends_with() [4/5]

template<class char_t, class traits_t, class allocator_t>
bool xtd::basic_string< char_t, traits_t, allocator_t >::ends_with ( const basic_string< char_t, traits_t, allocator_t > & value,
bool ignore_case ) const
inlinenoexcept

Determines whether the end of this basic_string instance matches the specified basic_string, ignoring or honoring their case.

Parameters
valueThe string to compare to the substring at the end of this instance.
ignore_casetrue to ignore case during the comparison; otherwise, false.
Returns
bool true if value matches the end of the specified basic_string; otherwise, false.

◆ ends_with() [5/5]

template<class char_t, class traits_t, class allocator_t>
bool xtd::basic_string< char_t, traits_t, allocator_t >::ends_with ( const basic_string< char_t, traits_t, allocator_t > & value,
xtd::string_comparison comparison_type ) const
inlinenoexcept

Determines whether the end of this basic_string matches the specified basic_string when compared using the specified comparison option.

Parameters
valueThe string to compare to the substring at the end of this instance.
comparison_typeOne of the enumeration values that determines how this basic_string and value are compared.
Returns
bool true if value matches the end of the specified basic_string; otherwise, false.

◆ find() [1/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::find ( const basic_string< char_t, traits_t, allocator_t > & str) const
inline

Finds the first substring equal to the given character sequence. Search begins at 0, i.e. the found substring must not begin in a position preceding 0.

Returns
Position of the first character of the found substring or xtd::basic_string::npos if no such substring is found.
Remarks
Finds the first substring equal to str.

◆ find() [2/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::find ( const basic_string< char_t, traits_t, allocator_t > & str,
size_type pos ) const
inline

Finds the first substring equal to the given character sequence. Search begins at pos, i.e. the found substring must not begin in a position preceding pos.

Parameters
strThe string to search for.
posThe position at which to start the search
Returns
Position of the first character of the found substring or xtd::basic_string::npos if no such substring is found.
Remarks
Finds the first substring equal to str.

◆ find() [3/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::find ( const_pointer s,
size_type pos,
size_type count ) const
inline

Finds the first substring equal to the given character sequence. Search begins at pos, i.e. the found substring must not begin in a position preceding pos.

Parameters
strThe string to search for.
posThe position at which to start the search
countThe length of substring to search for.
Returns
Position of the first character of the found substring or xtd::basic_string::npos if no such substring is found.
Remarks
Finds the first substring equal to the range [s, s + count).
This range may contain null characters. If [s, s + count) is not a valid range, the behavior is undefined.

◆ find() [4/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::find ( const_pointer s) const
inline

Finds the first substring equal to the given character sequence. Search begins at 0, i.e. the found substring must not begin in a position preceding 0.

Parameters
sThe pointer to a character string to search for.
Returns
Position of the first character of the found substring or xtd::basic_string::npos if no such substring is found.
Remarks
Finds the first substring equal to the character string pointed to by s. The length of the string is determined by the first null character using traits_t::length(s).
If [s, s + traits_t::length(s)) is not a valid range, the behavior is undefined.

◆ find() [5/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::find ( const_pointer s,
size_type pos ) const
inline

Finds the first substring equal to the given character sequence. Search begins at pos, i.e. the found substring must not begin in a position preceding pos.

Parameters
sThe pointer to a character string to search for.
posThe position at which to start the search
Returns
Position of the first character of the found substring or xtd::basic_string::npos if no such substring is found.
Remarks
Finds the first substring equal to the character string pointed to by s. The length of the string is determined by the first null character using traits_t::length(s).
If [s, s + traits_t::length(s)) is not a valid range, the behavior is undefined.

◆ find() [6/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::find ( value_type ch) const
inline

Finds the first substring equal to the given character sequence. Search begins at 0, i.e. the found substring must not begin in a position preceding 0.

Parameters
chThe character to search for.
Returns
Position of the first character of the found substring or xtd::basic_string::npos if no such substring is found.
Remarks
Finds the first character ch (treated as a single-character substring by the formal rules below).

◆ find() [7/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::find ( value_type ch,
size_type pos ) const
inline

Finds the first substring equal to the given character sequence. Search begins at pos, i.e. the found substring must not begin in a position preceding pos.

Parameters
chThe character to search for.
posThe position at which to start the search
Returns
Position of the first character of the found substring or xtd::basic_string::npos if no such substring is found.
Remarks
Finds the first character ch (treated as a single-character substring by the formal rules below).

◆ find_first_of() [1/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::find_first_of ( const basic_string< char_t, traits_t, allocator_t > & str) const
inline

Finds the first character equal to one of the characters in the given character sequence. The search considers only the range [pos, size()). If none of the characters in the given character sequence is present in the range, xtd::basic_string::npos will be returned. @parzm str The string identifying characters to search for.

Returns
Position of the found character or xtd::basic_string::npos if no such character is found.
Remarks
Finds the first character equal to one of the characters in str.

◆ find_first_of() [2/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::find_first_of ( const basic_string< char_t, traits_t, allocator_t > & str,
size_type pos ) const
inline

Finds the first character equal to one of the characters in the given character sequence. The search considers only the range [pos, size()). If none of the characters in the given character sequence is present in the range, xtd::basic_string::npos will be returned.

Parameters
strThe string identifying characters to search for.
posThe position at which to begin searching.
Returns
Position of the found character or xtd::basic_string::npos if no such character is found.
Remarks
Finds the first character equal to one of the characters in str.

◆ find_first_of() [3/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::find_first_of ( const_pointer s,
size_type pos,
size_type count ) const
inline

Finds the first character equal to one of the characters in the given character sequence. The search considers only the range [pos, size()). If none of the characters in the given character sequence is present in the range, xtd::basic_string::npos will be returned.

Parameters
sThe pointer to a character string identifying characters to search for.
posThe position at which to begin searching.
countThe length of character string identifying characters to search for.
Returns
Position of the found character or xtd::basic_string::npos if no such character is found.
Remarks
Finds the first character equal to one of the characters in the range [s, s + count). This range can include null characters.
If [s, s + count) is not a valid range, the behavior is undefined.

◆ find_first_of() [4/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::find_first_of ( const_pointer s) const
inline

Finds the first character equal to one of the characters in the given character sequence. The search considers only the range [pos, size()). If none of the characters in the given character sequence is present in the range, xtd::basic_string::npos will be returned.

Parameters
sThe pointer to a character string identifying characters to search for.
Returns
Position of the found character or xtd::basic_string::npos if no such character is found.
Remarks
Finds the first character equal to one of the characters in character string pointed to by s. The length of the string is determined by the first null character using traits_t::length(s).
If [s, s + traits_t::length(s)) is not a valid range, the behavior is undefined.

◆ find_first_of() [5/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::find_first_of ( const_pointer s,
size_type pos ) const
inline

Finds the first character equal to one of the characters in the given character sequence. The search considers only the range [pos, size()). If none of the characters in the given character sequence is present in the range, xtd::basic_string::npos will be returned.

Parameters
sThe pointer to a character string identifying characters to search for.
posThe position at which to begin searching.
Returns
Position of the found character or xtd::basic_string::npos if no such character is found.
Remarks
Finds the first character equal to one of the characters in character string pointed to by s. The length of the string is determined by the first null character using traits_t::length(s).
If [s, s + traits_t::length(s)) is not a valid range, the behavior is undefined.

◆ find_first_of() [6/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::find_first_of ( char_t ch) const
inline

Finds the first character equal to one of the characters in the given character sequence. The search considers only the range [pos, size()). If none of the characters in the given character sequence is present in the range, xtd::basic_string::npos will be returned.

Parameters
chThe character to search for.
Returns
Position of the found character or xtd::basic_string::npos if no such character is found.
Remarks
Finds the first character equal to ch.

◆ find_first_of() [7/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::find_first_of ( char_t ch,
size_type pos ) const
inline

Finds the first character equal to one of the characters in the given character sequence. The search considers only the range [pos, size()). If none of the characters in the given character sequence is present in the range, xtd::basic_string::npos will be returned.

Parameters
chThe character to search for.
posThe position at which to begin searching.
Returns
Position of the found character or xtd::basic_string::npos if no such character is found.
Remarks
Finds the first character equal to ch.

◆ find_first_not_of() [1/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::find_first_not_of ( const basic_string< char_t, traits_t, allocator_t > & str) const
inline

Finds the first character equal to none of the characters in the given character sequence. The search considers only the range [pos, size()). If all characters in the range can be found in the given character sequence, xtd::basic_string::npos will be returned. @parzm str The string identifying characters to search for.

Returns
Position of the found character or xtd::basic_string::npos if no such character is found.
Remarks
Finds the first character equal to one of the characters in str.

◆ find_first_not_of() [2/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::find_first_not_of ( const basic_string< char_t, traits_t, allocator_t > & str,
size_type pos ) const
inline

Finds the first character equal to none of the characters in the given character sequence. The search considers only the range [pos, size()). If all characters in the range can be found in the given character sequence, xtd::basic_string::npos will be returned.

Parameters
strThe string identifying characters to search for.
posThe position at which to begin searching.
Returns
Position of the found character or xtd::basic_string::npos if no such character is found.
Remarks
Finds the first character equal to one of the characters in str.

◆ find_first_not_of() [3/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::find_first_not_of ( const_pointer s,
size_type pos,
size_type count ) const
inline

Finds the first character equal to none of the characters in the given character sequence. The search considers only the range [pos, size()). If all characters in the range can be found in the given character sequence, xtd::basic_string::npos will be returned.

Parameters
sThe pointer to a character string identifying characters to search for.
posThe position at which to begin searching.
countThe length of character string identifying characters to search for.
Returns
Position of the found character or xtd::basic_string::npos if no such character is found.
Remarks
Finds the first character equal to one of the characters in the range [s, s + count). This range can include null characters.
If [s, s + count) is not a valid range, the behavior is undefined.

◆ find_first_not_of() [4/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::find_first_not_of ( const_pointer s) const
inline

Finds the first character equal to none of the characters in the given character sequence. The search considers only the range [pos, size()). If all characters in the range can be found in the given character sequence, xtd::basic_string::npos will be returned.

Parameters
sThe pointer to a character string identifying characters to search for.
Returns
Position of the found character or xtd::basic_string::npos if no such character is found.
Remarks
Finds the first character equal to one of the characters in character string pointed to by s. The length of the string is determined by the first null character using traits_t::length(s).
If [s, s + traits_t::length(s)) is not a valid range, the behavior is undefined.

◆ find_first_not_of() [5/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::find_first_not_of ( const_pointer s,
size_type pos ) const
inline

Finds the first character equal to none of the characters in the given character sequence. The search considers only the range [pos, size()). If all characters in the range can be found in the given character sequence, xtd::basic_string::npos will be returned.

Parameters
sThe pointer to a character string identifying characters to search for.
posThe position at which to begin searching.
Returns
Position of the found character or xtd::basic_string::npos if no such character is found.
Remarks
Finds the first character equal to one of the characters in character string pointed to by s. The length of the string is determined by the first null character using traits_t::length(s).
If [s, s + traits_t::length(s)) is not a valid range, the behavior is undefined.

◆ find_first_not_of() [6/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::find_first_not_of ( char_t ch) const
inline

Finds the first character equal to none of the characters in the given character sequence. The search considers only the range [pos, size()). If all characters in the range can be found in the given character sequence, xtd::basic_string::npos will be returned.

Parameters
chThe character to search for.
Returns
Position of the found character or xtd::basic_string::npos if no such character is found.
Remarks
Finds the first character equal to ch.

◆ find_first_not_of() [7/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::find_first_not_of ( char_t ch,
size_type pos ) const
inline

Finds the first character equal to none of the characters in the given character sequence. The search considers only the range [pos, size()). If all characters in the range can be found in the given character sequence, xtd::basic_string::npos will be returned.

Parameters
chThe character to search for.
posThe position at which to begin searching.
Returns
Position of the found character or xtd::basic_string::npos if no such character is found.
Remarks
Finds the first character equal to ch.

◆ find_last_of() [1/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::find_last_of ( const basic_string< char_t, traits_t, allocator_t > & str) const
inline

Finds the last character equal to one of characters in the given character sequence. The exact search algorithm is not specified. The search considers only the range [​0​, pos]. If none of the characters in the given character sequence is present in the range, xtd::basic_string::npos will be returned. @parzm str The string identifying characters to search for.

Returns
Position of the found character or xtd::basic_string::npos if no such character is found.
Remarks
Finds the first character equal to one of the characters in str.

◆ find_last_of() [2/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::find_last_of ( const basic_string< char_t, traits_t, allocator_t > & str,
size_type pos ) const
inline

Finds the last character equal to one of characters in the given character sequence. The exact search algorithm is not specified. The search considers only the range [​0​, pos]. If none of the characters in the given character sequence is present in the range, xtd::basic_string::npos will be returned.

Parameters
strThe string identifying characters to search for.
posThe position at which to begin searching.
Returns
Position of the found character or xtd::basic_string::npos if no such character is found.
Remarks
Finds the first character equal to one of the characters in str.

◆ find_last_of() [3/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::find_last_of ( const_pointer s,
size_type pos,
size_type count ) const
inline

Finds the last character equal to one of characters in the given character sequence. The exact search algorithm is not specified. The search considers only the range [​0​, pos]. If none of the characters in the given character sequence is present in the range, xtd::basic_string::npos will be returned.

Parameters
sThe pointer to a character string identifying characters to search for.
posThe position at which to begin searching.
countThe length of character string identifying characters to search for.
Returns
Position of the found character or xtd::basic_string::npos if no such character is found.
Remarks
Finds the first character equal to one of the characters in the range [s, s + count). This range can include null characters.
If [s, s + count) is not a valid range, the behavior is undefined.

◆ find_last_of() [4/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::find_last_of ( const_pointer s) const
inline

Finds the last character equal to one of characters in the given character sequence. The exact search algorithm is not specified. The search considers only the range [​0​, pos]. If none of the characters in the given character sequence is present in the range, xtd::basic_string::npos will be returned.

Parameters
sThe pointer to a character string identifying characters to search for.
Returns
Position of the found character or xtd::basic_string::npos if no such character is found.
Remarks
Finds the first character equal to one of the characters in character string pointed to by s. The length of the string is determined by the first null character using traits_t::length(s).
If [s, s + traits_t::length(s)) is not a valid range, the behavior is undefined.

◆ find_last_of() [5/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::find_last_of ( const_pointer s,
size_type pos ) const
inline

Finds the last character equal to one of characters in the given character sequence. The exact search algorithm is not specified. The search considers only the range [​0​, pos]. If none of the characters in the given character sequence is present in the range, xtd::basic_string::npos will be returned.

Parameters
sThe pointer to a character string identifying characters to search for.
posThe position at which to begin searching.
Returns
Position of the found character or xtd::basic_string::npos if no such character is found.
Remarks
Finds the first character equal to one of the characters in character string pointed to by s. The length of the string is determined by the first null character using traits_t::length(s).
If [s, s + traits_t::length(s)) is not a valid range, the behavior is undefined.

◆ find_last_of() [6/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::find_last_of ( char_t ch) const
inline

Finds the last character equal to one of characters in the given character sequence. The exact search algorithm is not specified. The search considers only the range [​0​, pos]. If none of the characters in the given character sequence is present in the range, xtd::basic_string::npos will be returned.

Parameters
chThe character to search for.
Returns
Position of the found character or xtd::basic_string::npos if no such character is found.
Remarks
Finds the first character equal to ch.

◆ find_last_of() [7/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::find_last_of ( char_t ch,
size_type pos ) const
inline

Finds the last character equal to one of characters in the given character sequence. The exact search algorithm is not specified. The search considers only the range [​0​, pos]. If none of the characters in the given character sequence is present in the range, xtd::basic_string::npos will be returned.

Parameters
chThe character to search for.
posThe position at which to begin searching.
Returns
Position of the found character or xtd::basic_string::npos if no such character is found.
Remarks
Finds the first character equal to ch.

◆ find_last_not_of() [1/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::find_last_not_of ( const basic_string< char_t, traits_t, allocator_t > & str) const
inline

Finds the last character equal to none of the characters in the given character sequence. The search considers only the range [​0​, pos]. If all characters in the range can be found in the given character sequence,xtd::basic_string::npos will be returned. @parzm str The string identifying characters to search for.

Returns
Position of the found character or xtd::basic_string::npos if no such character is found.
Remarks
Finds the first character equal to one of the characters in str.

◆ find_last_not_of() [2/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::find_last_not_of ( const basic_string< char_t, traits_t, allocator_t > & str,
size_type pos ) const
inline

Finds the last character equal to none of the characters in the given character sequence. The search considers only the range [​0​, pos]. If all characters in the range can be found in the given character sequence,xtd::basic_string::npos will be returned.

Parameters
strThe string identifying characters to search for.
posThe position at which to begin searching.
Returns
Position of the found character or xtd::basic_string::npos if no such character is found.
Remarks
Finds the first character equal to one of the characters in str.

◆ find_last_not_of() [3/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::find_last_not_of ( const_pointer s,
size_type pos,
size_type count ) const
inline

Finds the last character equal to none of the characters in the given character sequence. The search considers only the range [​0​, pos]. If all characters in the range can be found in the given character sequence,xtd::basic_string::npos will be returned.

Parameters
sThe pointer to a character string identifying characters to search for.
posThe position at which to begin searching.
countThe length of character string identifying characters to search for.
Returns
Position of the found character or xtd::basic_string::npos if no such character is found.
Remarks
Finds the first character equal to one of the characters in the range [s, s + count). This range can include null characters.
If [s, s + count) is not a valid range, the behavior is undefined.

◆ find_last_not_of() [4/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::find_last_not_of ( const_pointer s) const
inline

Finds the last character equal to none of the characters in the given character sequence. The search considers only the range [​0​, pos]. If all characters in the range can be found in the given character sequence,xtd::basic_string::npos will be returned.

Parameters
sThe pointer to a character string identifying characters to search for.
Returns
Position of the found character or xtd::basic_string::npos if no such character is found.
Remarks
Finds the first character equal to one of the characters in character string pointed to by s. The length of the string is determined by the first null character using traits_t::length(s).
If [s, s + traits_t::length(s)) is not a valid range, the behavior is undefined.

◆ find_last_not_of() [5/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::find_last_not_of ( const_pointer s,
size_type pos ) const
inline

Finds the last character equal to none of the characters in the given character sequence. The search considers only the range [​0​, pos]. If all characters in the range can be found in the given character sequence,xtd::basic_string::npos will be returned.

Parameters
sThe pointer to a character string identifying characters to search for.
posThe position at which to begin searching.
Returns
Position of the found character or xtd::basic_string::npos if no such character is found.
Remarks
Finds the first character equal to one of the characters in character string pointed to by s. The length of the string is determined by the first null character using traits_t::length(s).
If [s, s + traits_t::length(s)) is not a valid range, the behavior is undefined.

◆ find_last_not_of() [6/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::find_last_not_of ( char_t ch) const
inline

Finds the last character equal to none of the characters in the given character sequence. The search considers only the range [​0​, pos]. If all characters in the range can be found in the given character sequence,xtd::basic_string::npos will be returned.

Parameters
chThe character to search for.
Returns
Position of the found character or xtd::basic_string::npos if no such character is found.
Remarks
Finds the first character equal to ch.

◆ find_last_not_of() [7/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::find_last_not_of ( char_t ch,
size_type pos ) const
inline

Finds the last character equal to none of the characters in the given character sequence. The search considers only the range [​0​, pos]. If all characters in the range can be found in the given character sequence,xtd::basic_string::npos will be returned.

Parameters
chThe character to search for.
posThe position at which to begin searching.
Returns
Position of the found character or xtd::basic_string::npos if no such character is found.
Remarks
Finds the first character equal to ch.

◆ get_allocator()

template<class char_t, class traits_t, class allocator_t>
allocator_type xtd::basic_string< char_t, traits_t, allocator_t >::get_allocator ( ) const
inline

Returns the allocator associated with the string.

Returns
The associated allocator.

◆ get_base_type()

template<class char_t, class traits_t, class allocator_t>
virtual const base_type & xtd::basic_string< char_t, traits_t, allocator_t >::get_base_type ( ) const
inlinevirtualnoexcept

Returns the underlying base type.

Returns
The underlying base type.

◆ get_hash_code()

template<class char_t, class traits_t, class allocator_t>
xtd::size xtd::basic_string< char_t, traits_t, allocator_t >::get_hash_code ( ) const
inlineoverridevirtualnoexcept

Returns the hash code for this basic_string.

Returns
A hash code.

Reimplemented from xtd::object.

◆ get_enumerator()

template<class char_t, class traits_t, class allocator_t>
enumerator_type xtd::basic_string< char_t, traits_t, allocator_t >::get_enumerator ( ) const
inlineoverridevirtualnoexcept

Returns an enumerator that iterates through a collection.

Returns
An xtd::collections::generic::enumerator object that can be used to iterate through the collection.

Implements xtd::collections::generic::ienumerable< char_t >.

◆ index_of() [1/6]

template<class char_t, class traits_t, class allocator_t>
xtd::size xtd::basic_string< char_t, traits_t, allocator_t >::index_of ( const basic_string< char_t, traits_t, allocator_t > & value) const
inlinenoexcept

Reports the index of the first occurrence of the specified basic_string in this basic_string.

Parameters
valueAn unicode character to seek
Returns
The index position of value if that character is found, or std::basic_string<char_t>::npos if it is not.

◆ index_of() [2/6]

template<class char_t, class traits_t, class allocator_t>
xtd::size xtd::basic_string< char_t, traits_t, allocator_t >::index_of ( const basic_string< char_t, traits_t, allocator_t > & value,
xtd::size start_index ) const
inline

Reports the index of the first occurrence of the specified character in this basic_string. The search starts at a specified character position.

Parameters
valueAn unicode character to seek
start_indexThe search starting position
Returns
The index position of value if that character is found, or std::basic_string<char_t>::npos if it is not.

◆ index_of() [3/6]

template<class char_t, class traits_t, class allocator_t>
xtd::size xtd::basic_string< char_t, traits_t, allocator_t >::index_of ( const basic_string< char_t, traits_t, allocator_t > & value,
xtd::size start_index,
xtd::size count ) const
inline

Reports the index of the first occurrence of the specified character in this basic_string. The search starts at a specified character position and examines a specified number of character positions.

Parameters
valueAn unicode character to seek
start_indexThe search starting position
countThe number of character positions to examine
Returns
The index position of value if that character is found, or std::basic_string<char_t>::npos if it is not.
Exceptions
xtd::index_out_of_range_exceptionstart_index + count are greater than the length of this instance.

◆ index_of() [4/6]

template<class char_t, class traits_t, class allocator_t>
xtd::size xtd::basic_string< char_t, traits_t, allocator_t >::index_of ( value_type value) const
inlinenoexcept

Reports the index of the first occurrence of the specified character in this basic_string.

Parameters
valueAn unicode character to seek
Returns
The index position of value if that character is found, or std::basic_string<char_t>::npos if it is not.

◆ index_of() [5/6]

template<class char_t, class traits_t, class allocator_t>
xtd::size xtd::basic_string< char_t, traits_t, allocator_t >::index_of ( value_type value,
xtd::size start_index ) const
inline

Reports the index of the first occurrence of the specified character in this basic_string. The search starts at a specified character position.

Parameters
valueAn unicode character to seek
start_indexThe search starting position
Returns
The index position of value if that character is found, or std::basic_string<char_t>::npos if it is not.

◆ index_of() [6/6]

template<class char_t, class traits_t, class allocator_t>
xtd::size xtd::basic_string< char_t, traits_t, allocator_t >::index_of ( value_type value,
xtd::size start_index,
xtd::size count ) const
inline

Reports the index of the first occurrence of the specified character in this basic_string. The search starts at a specified character position and examines a specified number of character positions.

Parameters
valueAn unicode character to seek
start_indexThe search starting position
countThe number of character positions to examine
Returns
The index position of value if that character is found, or std::basic_string<char_t>::npos if it is not.
Exceptions
xtd::index_out_of_range_exceptionstart_index + count are greater than the length of this instance.

◆ index_of_any() [1/3]

template<class char_t, class traits_t, class allocator_t>
xtd::size xtd::basic_string< char_t, traits_t, allocator_t >::index_of_any ( const xtd::array< value_type > & values) const
noexcept

Reports the index of the first occurrence in this instance of any character in a specified array of characters.

Parameters
valuesAn unicode character array containing one or more characters to seek
Returns
The index position of the first occurrence in this instance where any character in values was found; otherwise, std::basic_string<char_t>::npos if no character in values was found.

◆ index_of_any() [2/3]

template<class char_t, class traits_t, class allocator_t>
xtd::size xtd::basic_string< char_t, traits_t, allocator_t >::index_of_any ( const xtd::array< value_type > & values,
xtd::size start_index ) const

Reports the index of the first occurrence in this instance of any character in a specified array of characters. The search starts at a specified character position.

Parameters
valuesAn unicode character array containing one or more characters to seek
start_indexThe search starting position
Returns
The index position of the first occurrence in this instance where any character in values was found; otherwise, std::basic_string<char_t>::npos if no character in values was found.
Exceptions
xtd::index_out_of_range_exceptionstart_index + count are greater than the length of this instance.

◆ index_of_any() [3/3]

template<class char_t, class traits_t, class allocator_t>
xtd::size xtd::basic_string< char_t, traits_t, allocator_t >::index_of_any ( const xtd::array< value_type > & values,
xtd::size start_index,
xtd::size count ) const

Reports the index of the first occurrence in this instance of any character in a specified array of characters. The search starts at a specified character position.

Parameters
valuesAn unicode character array containing one or more characters to seek
start_indexThe search starting position
countThe number of character positions to examine.
Returns
The index position of the first occurrence in this instance where any character in values was found; otherwise, std::basic_string<char_t>::npos if no character in values was found.
Exceptions
xtd::index_out_of_range_exceptionstart_index + count are greater than the length of this instance.

◆ insert()

template<class char_t, class traits_t, class allocator_t>
basic_string xtd::basic_string< char_t, traits_t, allocator_t >::insert ( xtd::size start_index,
const basic_string< char_t, traits_t, allocator_t > & value ) const
inline

Inserts a specified instance of basic_string at a specified index position in this instance.

Parameters
start_indexThe index position of the insertion.
valueThe basic_string to insert.
Returns
A new basic_string equivalent to this instance but with value inserted at position start_index.
Remarks
If start_index is equal to the length of this instance, value is appended to the end of this instance.
For example, the return value of "abc".Insert(2, "XYZ") is "abXYZc".

◆ last_index_of() [1/6]

template<class char_t, class traits_t, class allocator_t>
xtd::size xtd::basic_string< char_t, traits_t, allocator_t >::last_index_of ( const basic_string< char_t, traits_t, allocator_t > & value) const
inlinenoexcept

Reports the index of the last occurrence of the specified basic_string in this basic_string.

Parameters
valueAn unicode character to seek
Returns
The index position of value if that character is found, or std::basic_string<char_t>::npos if it is not.

◆ last_index_of() [2/6]

template<class char_t, class traits_t, class allocator_t>
xtd::size xtd::basic_string< char_t, traits_t, allocator_t >::last_index_of ( const basic_string< char_t, traits_t, allocator_t > & value,
xtd::size start_index ) const
inline

Reports the index of the last occurrence of the specified character in this basic_string. The search starts at a specified character position.

Parameters
valueAn unicode character to seek
start_indexThe search starting position
Returns
The index position of value if that character is found, or std::basic_string<char_t>::npos if it is not.
Exceptions
xtd::index_out_of_range_exceptionstart_index + count are greater than the length of this instance.

◆ last_index_of() [3/6]

template<class char_t, class traits_t, class allocator_t>
xtd::size xtd::basic_string< char_t, traits_t, allocator_t >::last_index_of ( const basic_string< char_t, traits_t, allocator_t > & value,
xtd::size start_index,
xtd::size count ) const
inline

Reports the index of the last occurrence of the specified character in this basic_string. The search starts at a specified character position and examines a specified number of character positions.

Parameters
valueAn unicode character to seek
start_indexThe search starting position
countThe number of character positions to examine
Returns
The index position of value if that character is found, or std::basic_string<char_t>::npos if it is not.
Exceptions
xtd::index_out_of_range_exceptionstart_index + count are greater than the length of this instance.

◆ last_index_of() [4/6]

template<class char_t, class traits_t, class allocator_t>
xtd::size xtd::basic_string< char_t, traits_t, allocator_t >::last_index_of ( value_type value) const
inlinenoexcept

Reports the index of the last occurrence of the specified character in this tring.

Parameters
valueAn unicode character to seek
Returns
The index position of value if that character is found, or std::basic_string<char_t>::npos if it is not.

◆ last_index_of() [5/6]

template<class char_t, class traits_t, class allocator_t>
xtd::size xtd::basic_string< char_t, traits_t, allocator_t >::last_index_of ( value_type value,
xtd::size start_index ) const
inline

Reports the index of the last occurrence of the specified character in this basic_string. The search starts at a specified character position.

Parameters
valueAn unicode character to seek
start_indexThe search starting position
Returns
The index position of value if that character is found, or std::basic_string<char_t>::npos if it is not.
Exceptions
xtd::index_out_of_range_exceptionstart_index + count are greater than the length of this instance.

◆ last_index_of() [6/6]

template<class char_t, class traits_t, class allocator_t>
xtd::size xtd::basic_string< char_t, traits_t, allocator_t >::last_index_of ( value_type value,
xtd::size start_index,
xtd::size count ) const
inline

Reports the index of the last occurrence of the specified character in this basic_string. The search starts at a specified character position and examines a specified number of character positions.

Parameters
strA basic_string to find last index of.
valueAn unicode character to seek
start_indexThe search starting position
countThe number of character positions to examine
Returns
The index position of value if that character is found, or std::basic_string<char_t>::npos if it is not.
Exceptions
xtd::index_out_of_range_exceptionstart_index + count are greater than the length of this instance.

◆ last_index_of_any() [1/3]

template<class char_t, class traits_t, class allocator_t>
xtd::size xtd::basic_string< char_t, traits_t, allocator_t >::last_index_of_any ( const xtd::array< value_type > & values) const
noexcept

Reports the index of the last occurrence in this instance of any character in a specified array of characters.

Parameters
valuesAn unicode character array containing one or more characters to seek
Returns
The index position of the first occurrence in this instance where any character in values was found; otherwise, std::basic_string<char_t>::npos if no character in values was found.

◆ last_index_of_any() [2/3]

template<class char_t, class traits_t, class allocator_t>
xtd::size xtd::basic_string< char_t, traits_t, allocator_t >::last_index_of_any ( const xtd::array< value_type > & values,
xtd::size start_index ) const

Reports the index of the last occurrence in this instance of any character in a specified array of characters. The search starts at a specified character position.

Parameters
valuesAn unicode character array containing one or more characters to seek
start_indexThe search starting position
Returns
The index position of the first occurrence in this instance where any character in values was found; otherwise, std::basic_string<char_t>::npos if no character in values was found.

◆ last_index_of_any() [3/3]

template<class char_t, class traits_t, class allocator_t>
xtd::size xtd::basic_string< char_t, traits_t, allocator_t >::last_index_of_any ( const xtd::array< value_type > & values,
xtd::size start_index,
xtd::size count ) const

Reports the index of the last occurrence in this instance of any character in a specified array of characters. The search starts at a specified character position.

Parameters
valuesAn unicode character array containing one or more characters to seek
start_indexThe search starting position
countThe number of character positions to examine.
Returns
The index position of the first occurrence in this instance where any character in values was found; otherwise, std::basic_string<char_t>::npos if no character in values was found.

◆ pad_left() [1/2]

template<class char_t, class traits_t, class allocator_t>
basic_string xtd::basic_string< char_t, traits_t, allocator_t >::pad_left ( xtd::size total_width) const
inlinenoexcept

Right-aligns the characters in this basic_string, padding with spaces on the left for a specified total length.

Parameters
total_widthThe number of characters in the resulting basic_string, equal to the number of original characters plus any additional padding characters.
Returns
A new basic_string that is equivalent to the specified basic_string, but right-aligned and padded on the left with as many spaces as needed to create a length of total_width. Or, if total_width is less than the length of the specified basic_string, a new basic_string object that is identical to the specified basic_string.
Remarks
An unicode space is defined as hexadecimal 0x20.
The pad_left(const std::basic_string<char_t>&, int) method pads the beginning of the returned basic_string. This means that, when used with right-to-left languages, it pads the right portion of the basic_string..

◆ pad_left() [2/2]

template<class char_t, class traits_t, class allocator_t>
basic_string xtd::basic_string< char_t, traits_t, allocator_t >::pad_left ( xtd::size total_width,
char32 padding_char ) const
inlinenoexcept

Right-aligns the characters in this basic_string, padding with spaces on the left for a specified total length.

Parameters
total_widthThe number of characters in the resulting basic_string, equal to the number of original characters plus any additional padding characters.
paddingCharAn unicode padding character.
Returns
A new basic_string that is equivalent to the specified basic_string, but right-aligned and padded on the left with as many spaces as needed to create a length of total_width. Or, if total_width is less than the length of the specified basic_string, a new basic_string object that is identical the specified basic_string.
Remarks
An unicode space is defined as hexadecimal 0x20.
The pad_left(const std::basic_string<char_t>&, int) method pads the beginning of the returned basic_string. This means that, when used with right-to-left languages, it pads the right portion of the basic_string..

◆ pad_right() [1/2]

template<class char_t, class traits_t, class allocator_t>
basic_string xtd::basic_string< char_t, traits_t, allocator_t >::pad_right ( xtd::size total_width) const
inlinenoexcept

Left-aligns the characters in this basic_string, padding with spaces on the right for a specified total length.

Parameters
totalWidthThe number of characters in the resulting basic_string, equal to the number of original characters plus any additional padding characters.
Returns
A new basic_string that is equivalent to the specified basic_string, but left-aligned and padded on the right with as many spaces as needed to create a length of totalWidth. Or, if totalWidth is less than the length of the specified basic_string, a new basic_string object that is identical to the specified basic_string.
Remarks
An unicode space is defined as hexadecimal 0x20.
The PadRight(const std::basic_string<char_t>&, int) method pads the end of the returned basic_string. This means that, when used with right-to-left languages, it pads the left portion of the basic_string..

◆ pad_right() [2/2]

template<class char_t, class traits_t, class allocator_t>
basic_string xtd::basic_string< char_t, traits_t, allocator_t >::pad_right ( xtd::size total_width,
char32 padding_char ) const
inlinenoexcept

Left-aligns the characters in this basic_string, padding with spaces on the right for a specified total length.

Parameters
totalWidthThe number of characters in the resulting basic_string, equal to the number of original characters plus any additional padding characters.
paddingCharAn unicode padding character.
Returns
A new basic_string that is equivalent to the specified basic_string, but left-aligned and padded on the tight with as many spaces as needed to create a length of totalWidth. Or, if totalWidth is less than the length of the specified basic_string, a new basic_string object that is identical to the specified basic_string.
Remarks
An unicode space is defined as hexadecimal 0x20.
The xtd::basic_string::pad_right method pads the end of the returned basic_string. This means that, when used with right-to-left languages, it pads the left portion of the basic_string..

◆ quoted() [1/3]

template<class char_t, class traits_t, class allocator_t>
basic_string xtd::basic_string< char_t, traits_t, allocator_t >::quoted ( ) const
inline

Allows insertion and extraction of quoted strings, such as the ones found in CSV or XML.

Returns
A new quoted basic_string.
Remarks
the delimiter is set to
" 
by default and the escape is set to \ by default.
for more information see std::quoted.

◆ quoted() [2/3]

template<class char_t, class traits_t, class allocator_t>
basic_string xtd::basic_string< char_t, traits_t, allocator_t >::quoted ( value_type delimiter) const
inline

Allows insertion and extraction of quoted strings, such as the ones found in CSV or XML ith specified delimiter.

Parameters
delimiterThe character to use as the delimiter, defaults to "</tt>. @return A new quoted basic_string. @remarks for more information see <a href="https://en.cppreference.com/w/cpp/io/manip/quoted" >std::quoted.

◆ quoted() [3/3]

template<class char_t, class traits_t, class allocator_t>
basic_string xtd::basic_string< char_t, traits_t, allocator_t >::quoted ( value_type delimiter,
value_type escape ) const
inline

Allows insertion and extraction of quoted strings, such as the ones found in CSV or XML ith specified delimiter and escape.

Parameters
delimiterThe character to use as the delimiter, defaults to "</tt>. @param escape The character to use as the escape character, defaults to <tt>\\</tt>. @return A new quoted basic_string. @remarks for more information see <a href="https://en.cppreference.com/w/cpp/io/manip/quoted" >std::quoted.

◆ remove() [1/2]

template<class char_t, class traits_t, class allocator_t>
basic_string xtd::basic_string< char_t, traits_t, allocator_t >::remove ( xtd::size start_index) const
inline

Deletes all the characters from this basic_string beginning at a specified position and continuing through the last position.

Parameters
start_indexThe position to begin deleting characters.
Returns
A new basic_string object that is equivalent to this basic_string less the removed characters.

◆ remove() [2/2]

template<class char_t, class traits_t, class allocator_t>
basic_string xtd::basic_string< char_t, traits_t, allocator_t >::remove ( xtd::size start_index,
xtd::size count ) const
inline

Deletes all the characters from this basic_string beginning at a specified position and continuing through the last position.

Parameters
start_indexThe position to begin deleting characters.
countThe number of characters to delete.
Returns
A new basic_string object that is equivalent to this basic_string less the removed characters.

◆ replace() [1/2]

template<class char_t, class traits_t, class allocator_t>
basic_string xtd::basic_string< char_t, traits_t, allocator_t >::replace ( value_type old_char,
value_type new_char ) const
inlinenoexcept

Replaces all occurrences of a specified char_t in this basic_string with another specified char_t.

Parameters
old_charA char_t to be replaced.
new_charA char_t to replace all occurrences of old_char.
Returns
A new basic_string equivalent to the specified basic_string but with all instances of old_char replaced with new_char.

◆ replace() [2/2]

template<class char_t, class traits_t, class allocator_t>
basic_string xtd::basic_string< char_t, traits_t, allocator_t >::replace ( const basic_string< char_t, traits_t, allocator_t > & old_string,
const basic_string< char_t, traits_t, allocator_t > & new_string ) const
inlinenoexcept

Replaces all occurrences of a specified basic_string in this basic_string with another specified basic_string.

Parameters
old_stringA basic_string to be replaced.
new_stringA basic_string to replace all occurrences of old_string.
Returns
A new basic_string equivalent to the specified basic_string but with all instances of old_string replaced with new_string.
Remarks
If new_string is empty, all occurrences of old_string are removed

◆ rfind() [1/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::rfind ( const basic_string< char_t, traits_t, allocator_t > & str) const
inline

Finds the last substring that is equal to the given character sequence. The search begins at xtd::basic_string::npos and proceeds from right to left (thus, the found substring, if any, cannot begin in a position following xtd::basic_string::npos). If xtd::basic_string::npos or any value not smaller than xtd::basic_string::size() - 1 is passed as xtd::basic_string::npos, the whole string will be searched.

Returns
Position of the first character of the found substring or xtd::basic_string::npos if no such substring is found.
Remarks
Finds the first substring equal to str.

◆ rfind() [2/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::rfind ( const basic_string< char_t, traits_t, allocator_t > & str,
size_type pos ) const
inline

Finds the last substring that is equal to the given character sequence. The search begins at pos and proceeds from right to left (thus, the found substring, if any, cannot begin in a position following pos). If xtd::basic_string::npos or any value not smaller than xtd::basic_string::size() - 1 is passed as pos, the whole string will be searched.

Parameters
strThe string to search for.
posThe position at which to start the search
Returns
Position of the first character of the found substring or xtd::basic_string::npos if no such substring is found.
Remarks
Finds the first substring equal to str.

◆ rfind() [3/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::rfind ( const_pointer s,
size_type pos,
size_type count ) const
inline

Finds the last substring that is equal to the given character sequence. The search begins at pos and proceeds from right to left (thus, the found substring, if any, cannot begin in a position following pos). If xtd::basic_string::npos or any value not smaller than xtd::basic_string::size() - 1 is passed as pos, the whole string will be searched.

Parameters
strThe string to search for.
posThe position at which to start the search
countThe length of substring to search for.
Returns
Position of the first character of the found substring or xtd::basic_string::npos if no such substring is found.
Remarks
Finds the first substring equal to the range [s, s + count).
This range may contain null characters. If [s, s + count) is not a valid range, the behavior is undefined.

◆ rfind() [4/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::rfind ( const_pointer s) const
inline

Finds the last substring that is equal to the given character sequence. The search begins at xtd::basic_string::npos and proceeds from right to left (thus, the found substring, if any, cannot begin in a position following xtd::basic_string::npos). If xtd::basic_string::npos or any value not smaller than xtd::basic_string::size() - 1 is passed as xtd::basic_string::npos, the whole string will be searched.

Parameters
sThe pointer to a character string to search for.
Returns
Position of the first character of the found substring or xtd::basic_string::npos if no such substring is found.
Remarks
Finds the first substring equal to the character string pointed to by s. The length of the string is determined by the first null character using traits_t::length(s).
If [s, s + traits_t::length(s)) is not a valid range, the behavior is undefined.

◆ rfind() [5/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::rfind ( const_pointer s,
size_type pos ) const
inline

Finds the last substring that is equal to the given character sequence. The search begins at pos and proceeds from right to left (thus, the found substring, if any, cannot begin in a position following pos). If xtd::basic_string::npos or any value not smaller than xtd::basic_string::size() - 1 is passed as pos, the whole string will be searched.

Parameters
sThe pointer to a character string to search for.
posThe position at which to start the search
Returns
Position of the first character of the found substring or xtd::basic_string::npos if no such substring is found.
Remarks
Finds the first substring equal to the character string pointed to by s. The length of the string is determined by the first null character using traits_t::length(s).
If [s, s + traits_t::length(s)) is not a valid range, the behavior is undefined.

◆ rfind() [6/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::rfind ( value_type ch) const
inline

Finds the last substring that is equal to the given character sequence. The search begins at xtd::basic_string::npos and proceeds from right to left (thus, the found substring, if any, cannot begin in a position following xtd::basic_string::npos). If xtd::basic_string::npos or any value not smaller than xtd::basic_string::size() - 1 is passed as xtd::basic_string::npos, the whole string will be searched.

Parameters
chThe character to search for.
Returns
Position of the first character of the found substring or xtd::basic_string::npos if no such substring is found.
Remarks
Finds the first character ch (treated as a single-character substring by the formal rules below).

◆ rfind() [7/7]

template<class char_t, class traits_t, class allocator_t>
size_type xtd::basic_string< char_t, traits_t, allocator_t >::rfind ( value_type ch,
size_type pos ) const
inline

Finds the last substring that is equal to the given character sequence. The search begins at pos and proceeds from right to left (thus, the found substring, if any, cannot begin in a position following pos). If xtd::basic_string::npos or any value not smaller than xtd::basic_string::size() - 1 is passed as pos, the whole string will be searched.

Parameters
chThe character to search for.
posThe position at which to start the search
Returns
Position of the first character of the found substring or xtd::basic_string::npos if no such substring is found.
Remarks
Finds the first character ch (treated as a single-character substring by the formal rules below).

◆ split() [1/9]

template<class char_t, class traits_t, class allocator_t>
xtd::array< basic_string > xtd::basic_string< char_t, traits_t, allocator_t >::split ( ) const
noexcept

Splits this basic_string into substrings that are based on the default white-space characters. White-space characters are defined by the c++ standard and return true if they are passed to the xtd::char_object::isspace() or std::iswspace() method.

Returns
An array whose elements contain the substrings in this basic_string that are delimited by one or more characters in white-space separators. For more information, see the Remarks section.
Remarks
Delimiter characters are not included in the elements of the returned array.
If the specified basic_string does not contain any of the characters in separator, or the count parameter is 1, the returned array consists of a single element that contains the specified basic_string.

◆ split() [2/9]

template<class char_t, class traits_t, class allocator_t>
xtd::array< basic_string > xtd::basic_string< char_t, traits_t, allocator_t >::split ( value_type separator) const
noexcept

Splits this basic_string into substrings that are based on the characters in an array.

Parameters
separatorA character that delimits the substrings in this basic_string.
Returns
An array whose elements contain the substrings in this basic_string that are delimited by one or more characters in separators. For more information, see the Remarks section.
Remarks
Delimiter characters are not included in the elements of the returned array.
If the specified basic_string does not contain any of the characters in separator, or the count parameter is 1, the returned array consists of a single element that contains the specified basic_string.

◆ split() [3/9]

template<class char_t, class traits_t, class allocator_t>
xtd::array< basic_string > xtd::basic_string< char_t, traits_t, allocator_t >::split ( value_type separator,
xtd::string_split_options options ) const
noexcept

Splits this basic_string into substrings based on the characters in an array. You can specify whether the substrings include empty array elements.

Parameters
separatorA character that delimits the substrings in this basic_string
optionsxtd::string_split_options::remove_empty_entries to omit empty array elements from the array returned; or None to include empty array elements in the array returned.
Returns
An array whose elements contain the substrings in this basic_string that are delimited by one or more characters in separators. For more information, see the Remarks section.
Remarks
Delimiter characters are not included in the elements of the returned array.
If the specified basic_string does not contain any of the characters in separator, or the count parameter is 1, the returned array consists of a single element that contains the specified basic_string.
If the specified basic_string does not contain any of the characters in separator, the returned array consists of a single element that contains the specified basic_string.
If the options parameter is remove_empty_entries and the length of the specified basic_string is zero, the method returns an empty array.
Each element of separator defines a separate delimiter that consists of a single character. If the options argument is none, and two delimiters are adjacent or a delimiter is found at the beginning or end of the specified basic_string, the corresponding array element contains empty basic_string. For example, if separator includes two elements, "-" and "_", the value of the basic_string instance is "-_aa-_", and the value of the options argument is None, the method returns a basic_string array with the following five elements:
  1. empty basic_string, which represents the empty basic_string that precedes the "-" character at index 0.
  2. empty basic_string, which represents the empty basic_string between the "-" character at index 0 and the "_" character at index 1.
  3. "aa",
  4. empty basic_string, which represents the empty basic_string that follows the "_" character at index 4.
  5. empty basic_string, which represents the empty basic_string that follows the "-" character at index 5.
If the separator parameter contains no characters, white-space characters are assumed to be the delimiters. White-space characters are defined by the c++ standard and return true if they are passed to the xtd::char_object::isspace() or std::iswspace() method.
If count is greater than the number of substrings, the available substrings are returned.

◆ split() [4/9]

template<class char_t, class traits_t, class allocator_t>
xtd::array< basic_string > xtd::basic_string< char_t, traits_t, allocator_t >::split ( value_type separator,
xtd::size count ) const
noexcept

Splits this basic_string into a maximum number of substrings based on the characters in an array. You also specify the maximum number of substrings to return.

Parameters
separatorA character array that delimits the substrings in this basic_string, an empty array that contains no delimiters.
countThe maximum number of substrings to return.
Remarks
Delimiter characters are not included in the elements of the returned array.
If the specified basic_string does not contain any of the characters in separator, or the count parameter is 1, the returned array consists of a single element that contains the specified basic_string.
If the separator parameter contains no characters, white-space characters are assumed to be the delimiters. White-space characters are defined by the Unicode standard and return true if they are passed to the char_t.IsWhiteSpace method.
Each element of separator defines a separate delimiter character. If two delimiters are adjacent, or a delimiter is found at the beginning or end of the specified basic_string, the corresponding array element contains empty basic_string.
If there are more than count substrings in the specified basic_string, the first count minus 1 substrings are returned in the first count minus 1 elements of the return value, and the remaining characters in the specified basic_string are returned in the last element of the return value.

◆ split() [5/9]

template<class char_t, class traits_t, class allocator_t>
xtd::array< basic_string > xtd::basic_string< char_t, traits_t, allocator_t >::split ( value_type separator,
xtd::size count,
xtd::string_split_options options ) const
noexcept

Splits this basic_string into a maximum number of substrings based on the characters in an array.

Parameters
separatorsA character array that delimits the substrings in this basic_string, an empty array that contains no delimiters.
countThe maximum number of substrings to return.
optionsxtd::string_split_options::remove_empty_entries to omit empty array elements from the array returned; or None to include empty array elements in the array returned.
Returns
An array whose elements contain the substrings in this basic_string that are delimited by one or more characters in separators. For more information, see the Remarks section.
Remarks
Delimiter characters are not included in the elements of the returned array.
If the specified basic_string does not contain any of the characters in separator, or the count parameter is 1, the returned array consists of a single element that contains the specified basic_string.
If the count parameter is zero, or the options parameter is remove_empty_entries and the length of the specified basic_string is zero, an empty array is returned.
Each element of separator defines a separate delimiter character. If the options parameter is None, and two delimiters are adjacent or a delimiter is found at the beginning or end of the specified basic_string, the corresponding array element contains an empty basic_string.
If there are more than count substrings in the specified basic_string, the first count minus 1 substrings are returned in the first count minus 1 elements of the return value, and the remaining characters in the specified basic_string are returned in the last element of the return value.
If count is greater than the number of substrings, the available substrings are returned.

◆ split() [6/9]

template<class char_t, class traits_t, class allocator_t>
xtd::array< basic_string > xtd::basic_string< char_t, traits_t, allocator_t >::split ( const xtd::array< value_type > & separators) const
noexcept

Splits this basic_string into substrings that are based on the characters in an array.

Parameters
separatorsA character array that delimits the substrings in this basic_string, an empty array that contains no delimiters.
Returns
An array whose elements contain the substrings in this basic_string that are delimited by one or more characters in separators. For more information, see the Remarks section.
Remarks
Delimiter characters are not included in the elements of the returned array.
If the specified basic_string does not contain any of the characters in separator, or the count parameter is 1, the returned array consists of a single element that contains the specified basic_string.

◆ split() [7/9]

template<class char_t, class traits_t, class allocator_t>
xtd::array< basic_string > xtd::basic_string< char_t, traits_t, allocator_t >::split ( const xtd::array< value_type > & separators,
xtd::string_split_options options ) const
noexcept

Splits this basic_string into substrings based on the characters in an array. You can specify whether the substrings include empty array elements.

Parameters
separatorsA character array that delimits the substrings in this basic_string, an empty array that contains no delimiters.
optionsxtd::string_split_options::remove_empty_entries to omit empty array elements from the array returned; or None to include empty array elements in the array returned.
Returns
An array whose elements contain the substrings in this basic_string that are delimited by one or more characters in separators. For more information, see the Remarks section.
Remarks
Delimiter characters are not included in the elements of the returned array.
If the specified basic_string does not contain any of the characters in separator, or the count parameter is 1, the returned array consists of a single element that contains the specified basic_string.
If the specified basic_string does not contain any of the characters in separator, the returned array consists of a single element that contains the specified basic_string.
If the options parameter is remove_empty_entries and the length of the specified basic_string is zero, the method returns an empty array.
Each element of separator defines a separate delimiter that consists of a single character. If the options argument is none, and two delimiters are adjacent or a delimiter is found at the beginning or end of the specified basic_string, the corresponding array element contains empty basic_string. For example, if separator includes two elements, "-" and "_", the value of the basic_string instance is "-_aa-_", and the value of the options argument is None, the method returns a basic_string array with the following five elements:
  1. empty basic_string, which represents the empty basic_string that precedes the "-" character at index 0.
  2. empty basic_string, which represents the empty basic_string between the "-" character at index 0 and the "_" character at index 1.
  3. "aa",
  4. empty basic_string, which represents the empty basic_string that follows the "_" character at index 4.
  5. empty basic_string, which represents the empty basic_string that follows the "-" character at index 5.
If the separator parameter contains no characters, white-space characters are assumed to be the delimiters. White-space characters are defined by the c++ standard and return true if they are passed to the xtd::char_object::isspace() or std::iswspace() method.
If count is greater than the number of substrings, the available substrings are returned.

◆ split() [8/9]

template<class char_t, class traits_t, class allocator_t>
xtd::array< basic_string > xtd::basic_string< char_t, traits_t, allocator_t >::split ( const xtd::array< value_type > & separators,
xtd::size count ) const
noexcept

Splits this basic_string into a maximum number of substrings based on the characters in an array. You also specify the maximum number of substrings to return.

Parameters
separatorsA character array that delimits the substrings in this basic_string, an empty array that contains no delimiters.
countThe maximum number of substrings to return.
Remarks
Delimiter characters are not included in the elements of the returned array.
If the specified basic_string does not contain any of the characters in separator, or the count parameter is 1, the returned array consists of a single element that contains the specified basic_string.
If the separator parameter contains no characters, white-space characters are assumed to be the delimiters. White-space characters are defined by the Unicode standard and return true if they are passed to the char_t.IsWhiteSpace method.
Each element of separator defines a separate delimiter character. If two delimiters are adjacent, or a delimiter is found at the beginning or end of the specified basic_string, the corresponding array element contains empty basic_string.
If there are more than count substrings in the specified basic_string, the first count minus 1 substrings are returned in the first count minus 1 elements of the return value, and the remaining characters in the specified basic_string are returned in the last element of the return value.

◆ split() [9/9]

template<class char_t, class traits_t, class allocator_t>
xtd::array< basic_string > xtd::basic_string< char_t, traits_t, allocator_t >::split ( const xtd::array< value_type > & separators,
xtd::size count,
xtd::string_split_options options ) const
noexcept

Splits this basic_string into a maximum number of substrings based on the characters in an array.

Parameters
separatorsA character array that delimits the substrings in this basic_string, an empty array that contains no delimiters.
countThe maximum number of substrings to return.
optionsxtd::string_split_options::remove_empty_entries to omit empty array elements from the array returned; or None to include empty array elements in the array returned.
Returns
An array whose elements contain the substrings in this basic_string that are delimited by one or more characters in separators. For more information, see the Remarks section.
Remarks
Delimiter characters are not included in the elements of the returned array.
If the specified basic_string does not contain any of the characters in separator, or the count parameter is 1, the returned array consists of a single element that contains the specified basic_string.
If the count parameter is zero, or the options parameter is remove_empty_entries and the length of the specified basic_string is zero, an empty array is returned.
Each element of separator defines a separate delimiter character. If the options parameter is None, and two delimiters are adjacent or a delimiter is found at the beginning or end of the specified basic_string, the corresponding array element contains an empty basic_string.
If there are more than count substrings in the specified basic_string, the first count minus 1 substrings are returned in the first count minus 1 elements of the return value, and the remaining characters in the specified basic_string are returned in the last element of the return value.
If count is greater than the number of substrings, the available substrings are returned.

◆ starts_with() [1/5]

template<class char_t, class traits_t, class allocator_t>
bool xtd::basic_string< char_t, traits_t, allocator_t >::starts_with ( value_type value) const
inlinenoexcept

Determines whether the beginning of this instance of xtd::basic_string matches a specified xtd::basic_string.

Parameters
valueA xtd::basic_string to compare to.
Returns
bool true if value matches the beginning of the specified basic_string; otherwise, false.
Remarks
This method compares value to the substring at the beginning of the specified basic_string that is the same length as value, and returns an indication whether they are equal. To be equal, value must be a reference to this same instance, or match the beginning of the specified basic_string.

◆ starts_with() [2/5]

template<class char_t, class traits_t, class allocator_t>
bool xtd::basic_string< char_t, traits_t, allocator_t >::starts_with ( value_type value,
bool ignore_case ) const
inlinenoexcept

Determines whether the beginning of this instance of xtd::basic_string matches a specified xtd::basic_string, ignoring or honoring their case.

Parameters
valueA xtd::basic_string to compare to.
ignore_casetrue to ignore case when comparing the specified basic_string and value; otherwise, false
Returns
bool true if value matches the beginning of the specified basic_string; otherwise, false.
Remarks
This method compares value to the substring at the beginning of the specified basic_string that is the same length as value, and returns an indication whether they are equal. To be equal, value must be a reference to this same instance, or match the beginning of the specified basic_string.

◆ starts_with() [3/5]

template<class char_t, class traits_t, class allocator_t>
bool xtd::basic_string< char_t, traits_t, allocator_t >::starts_with ( const basic_string< char_t, traits_t, allocator_t > & value) const
inlinenoexcept

Determines whether the beginning of this instance of xtd::basic_string matches a specified xtd::basic_string.

Parameters
valueA xtd::basic_string to compare to.
Returns
bool true if value matches the beginning of the specified basic_string; otherwise, false.
Remarks
This method compares value to the substring at the beginning of the specified basic_string that is the same length as value, and returns an indication whether they are equal. To be equal, value must be a reference to this same instance, or match the beginning of the specified basic_string.

◆ starts_with() [4/5]

template<class char_t, class traits_t, class allocator_t>
bool xtd::basic_string< char_t, traits_t, allocator_t >::starts_with ( const basic_string< char_t, traits_t, allocator_t > & value,
bool ignore_case ) const
inlinenoexcept

Determines whether the beginning of this instance of xtd::basic_string matches a specified xtd::basic_string, ignoring or honoring their case.

Parameters
valueA xtd::basic_string to compare to.
ignore_casetrue to ignore case when comparing the specified basic_string and value; otherwise, false
Returns
bool true if value matches the beginning of the specified basic_string; otherwise, false.
Remarks
This method compares value to the substring at the beginning of the specified basic_string that is the same length as value, and returns an indication whether they are equal. To be equal, value must be a reference to this same instance, or match the beginning of the specified basic_string.

◆ starts_with() [5/5]

template<class char_t, class traits_t, class allocator_t>
bool xtd::basic_string< char_t, traits_t, allocator_t >::starts_with ( const basic_string< char_t, traits_t, allocator_t > & value,
xtd::string_comparison comparison_type ) const
inlinenoexcept

Determines whether the end of this basic_string matches the specified basic_string when compared using the specified comparison option.

Parameters
valueThe string to compare to the substring at the end of this instance.
comparison_typeOne of the enumeration values that determines how this basic_string and value are compared.
Returns
bool true if value matches the end of the specified basic_string; otherwise, false.

◆ substr() [1/3]

template<class char_t, class traits_t, class allocator_t>
basic_string xtd::basic_string< char_t, traits_t, allocator_t >::substr ( ) const
inline

Returns a substring [pos, pos + count). If the requested substring extends past the end of the string, i.e. the count is greater than size() - pos (e.g. if count == xtd::basic_string::npos), the returned substring is [pos, size()).

Returns
String containing the substring [pos, pos + count) or [pos, size()).
Exceptions
`std::out_of_range`if `pos > size()`.
Remarks
Equivalent to return basic_string(*this, pos, count);.

◆ substr() [2/3]

template<class char_t, class traits_t, class allocator_t>
basic_string xtd::basic_string< char_t, traits_t, allocator_t >::substr ( size_type pos) const
inline

Returns a substring [pos, pos + count). If the requested substring extends past the end of the string, i.e. the count is greater than size() - pos (e.g. if count == xtd::basic_string::npos), the returned substring is [pos, size()).

Parameters
posThe position of the first character to include.
Returns
String containing the substring [pos, pos + count) or [pos, size()).
Exceptions
`std::out_of_range`if `pos > size()`.
Remarks
Equivalent to return basic_string(*this, pos, count);.

◆ substr() [3/3]

template<class char_t, class traits_t, class allocator_t>
basic_string xtd::basic_string< char_t, traits_t, allocator_t >::substr ( size_type pos,
size_type count ) const
inline

Returns a substring [pos, pos + count). If the requested substring extends past the end of the string, i.e. the count is greater than size() - pos (e.g. if count == xtd::basic_string::npos), the returned substring is [pos, size()).

Parameters
posThe position of the first character to include.
countThe length of the substring.
Returns
String containing the substring [pos, pos + count) or [pos, size()).
Exceptions
`std::out_of_range`if `pos > size()`.
Remarks
Equivalent to return basic_string(*this, pos, count);.

◆ substring() [1/2]

template<class char_t, class traits_t, class allocator_t>
basic_string xtd::basic_string< char_t, traits_t, allocator_t >::substring ( xtd::size start_index) const
inline

Retrieves a substring from this instance. The substring starts at a specified character position and has a specified length.

Parameters
strbasic_string to substring.
start_indexThe zero-based starting character position of a substring in this instance.
Returns
A basic_string equivalent to the substring of length length that begins at start_index in this instance, or Empty if start_index is equal to the length of this instance and length is zero.
Exceptions
xtd::argument_out_of_range_exception`start_index` is greater than the length() of this instance.

◆ substring() [2/2]

template<class char_t, class traits_t, class allocator_t>
basic_string xtd::basic_string< char_t, traits_t, allocator_t >::substring ( xtd::size start_index,
xtd::size length ) const
inline

Retrieves a substring from this instance. The substring starts at a specified character position and has a specified length.

Parameters
start_indexThe zero-based starting character position of a substring in this instance.
lengthThe number of characters in the substring.
Returns
A basic_string equivalent to the substring of length length that begins at start_index in this instance, or Empty if start_index is equal to the length of this instance and length is zero.
Exceptions
xtd::argument_out_of_range_exception`start_index` plus `length` is greater than the length() of this instance.

◆ to_array() [1/3]

template<class char_t, class traits_t, class allocator_t>
xtd::array< value_type > xtd::basic_string< char_t, traits_t, allocator_t >::to_array ( ) const
noexcept

Copies the characters in this instance to a Unicode character array.

Returns
A character array whose elements are the individual characters of this instance. If this instance is an empty xtd::basic_string, the returned array is empty and has a zero length.

◆ to_array() [2/3]

template<class char_t, class traits_t, class allocator_t>
xtd::array< value_type > xtd::basic_string< char_t, traits_t, allocator_t >::to_array ( xtd::size start_index) const

Copies the characters in this instance to a Unicode character array starting at specified index.

Parameters
start_indexThe starting position of basic_string to convert.
Returns
A character array whose elements are the individual characters of this instance. If this instance is an empty xtd::basic_string, the returned array is empty and has a zero length.

◆ to_array() [3/3]

template<class char_t, class traits_t, class allocator_t>
xtd::array< value_type > xtd::basic_string< char_t, traits_t, allocator_t >::to_array ( xtd::size start_index,
xtd::size length ) const

Copies the characters in this instance to a Unicode character array starting at specified index with specified length.

Parameters
start_indexThe starting position of basic_string to convert.
lengthThe length of the basic_string to convert
Returns
A character array whose elements are the individual characters of this instance. If this instance is an empty xtd::basic_string, the returned array is empty and has a zero length.

◆ to_char_array() [1/2]

template<class char_t, class traits_t, class allocator_t>
xtd::array< value_type > xtd::basic_string< char_t, traits_t, allocator_t >::to_char_array ( ) const
noexcept

Copies the characters in this instance to a Unicode character array.

Returns
A character array whose elements are the individual characters of this instance. If this instance is an empty xtd::basic_string, the returned array is empty and has a zero length.

◆ to_char_array() [2/2]

template<class char_t, class traits_t, class allocator_t>
xtd::array< value_type > xtd::basic_string< char_t, traits_t, allocator_t >::to_char_array ( xtd::size start_index,
xtd::size length ) const

Copies the characters in this instance to a Unicode character array starting at specified index with specified length.

Parameters
start_indexThe starting position of basic_string to convert.
lengthThe length of the basic_string to convert
Returns
A character array whose elements are the individual characters of this instance. If this instance is an empty xtd::basic_string, the returned array is empty and has a zero length.

◆ to_lower()

template<class char_t, class traits_t, class allocator_t>
basic_string xtd::basic_string< char_t, traits_t, allocator_t >::to_lower ( ) const
inlinenoexcept

Returns a copy of the current xtd::basic_string converted to lowercase.

Returns
A string in lowercase.

◆ to_string()

template<class char_t, class traits_t, class allocator_t>
basic_string< char > xtd::basic_string< char_t, traits_t, allocator_t >::to_string ( ) const
inlineoverridevirtualnoexcept

Converts the value of this instance to a xtd::basic_string <char>.

Returns
The current string.
Todo
Uncomment the folllowing line and remove the next..

Reimplemented from xtd::object.

◆ to_title_case()

template<class char_t, class traits_t, class allocator_t>
basic_string xtd::basic_string< char_t, traits_t, allocator_t >::to_title_case ( ) const
noexcept

Converts the current basic_string to title case (except for words that are entirely in uppercase, which are considered to be acronyms).

Returns
A new basic_string in title case.

◆ to_u16string()

template<class char_t, class traits_t, class allocator_t>
basic_string< xtd::char16 > xtd::basic_string< char_t, traits_t, allocator_t >::to_u16string ( ) const
inlinenoexcept

Converts the value of this instance to a xtd::basic_string <xtd::char16>.

Returns
The current string.

◆ to_u32string()

template<class char_t, class traits_t, class allocator_t>
basic_string< xtd::char32 > xtd::basic_string< char_t, traits_t, allocator_t >::to_u32string ( ) const
inlinenoexcept

Converts the value of this instance to a xtd::basic_string <xtd::char32>.

Returns
The current string.

◆ to_u8string()

template<class char_t, class traits_t, class allocator_t>
basic_string< xtd::char8 > xtd::basic_string< char_t, traits_t, allocator_t >::to_u8string ( ) const
inlinenoexcept

Converts the value of this instance to a xtd::basic_string <xtd::char8>.

Returns
The current string.

◆ to_upper()

template<class char_t, class traits_t, class allocator_t>
basic_string xtd::basic_string< char_t, traits_t, allocator_t >::to_upper ( ) const
inlinenoexcept

Returns a copy of the current xtd::basic_string converted to uppercase.

Returns
A string in uppercase.

◆ to_wstring()

template<class char_t, class traits_t, class allocator_t>
basic_string< xtd::wchar > xtd::basic_string< char_t, traits_t, allocator_t >::to_wstring ( ) const
inlinenoexcept

Converts the value of this instance to a xtd::basic_string <xtd::wchar>.

Returns
The current string.

◆ trim() [1/3]

template<class char_t, class traits_t, class allocator_t>
basic_string xtd::basic_string< char_t, traits_t, allocator_t >::trim ( ) const
inlinenoexcept

Removes all leading and trailing occurrences of white-space characters from the specified xtd::basic_string.

Parameters
strxtd::basic_string to trim end.
trim_charA character to remove.
Returns
The xtd::basic_string that remains after all occurrences of the character in the trim_char parameter are removed from the start and te and of the specified xtd::basic_string.

◆ trim() [2/3]

template<class char_t, class traits_t, class allocator_t>
basic_string xtd::basic_string< char_t, traits_t, allocator_t >::trim ( value_type trim_char) const
noexcept

Removes all leading and trailing occurrences of a character specified from the specified xtd::basic_string .

Parameters
strxtd::basic_string to trim start.
trim_charA character to remove.
Returns
The xtd::basic_string that remains after all occurrences of the character in the trim_char parameter are removed from the start and the end of the specified xtd::basic_string.

◆ trim() [3/3]

template<class char_t, class traits_t, class allocator_t>
basic_string xtd::basic_string< char_t, traits_t, allocator_t >::trim ( const xtd::array< value_type > & trim_chars) const
noexcept

Removes all leading and trailing occurrences of a set of characters specified in an array from the specified xtd::basic_string.

Parameters
strxtd::basic_string to trim end.
trim_charsAn array of characters to remove.
Returns
The xtd::basic_string that remains after all occurrences of the characters in the trim_chars parameter are removed from the start and the edn of the specified xtd::basic_string.

◆ trim_end() [1/3]

template<class char_t, class traits_t, class allocator_t>
basic_string xtd::basic_string< char_t, traits_t, allocator_t >::trim_end ( ) const
inlinenoexcept

Removes all trailing occurrences of white-space characters from the specified xtd::basic_string.

Parameters
strxtd::basic_string to trim end.
trim_charA character to remove.
Returns
The xtd::basic_string that remains after all occurrences of the character in the trim_char parameter are removed from the end of the specified xtd::basic_string.

◆ trim_end() [2/3]

template<class char_t, class traits_t, class allocator_t>
basic_string xtd::basic_string< char_t, traits_t, allocator_t >::trim_end ( value_type trim_char) const
noexcept

Removes all trailing occurrences of a character specified from the specified xtd::basic_string .

Parameters
strxtd::basic_string to trim start.
trim_charA character to remove.
Returns
The xtd::basic_string that remains after all occurrences of the character in the trim_char parameter are removed from the end of the specified xtd::basic_string.

◆ trim_end() [3/3]

template<class char_t, class traits_t, class allocator_t>
basic_string xtd::basic_string< char_t, traits_t, allocator_t >::trim_end ( const xtd::array< value_type > & trim_chars) const
noexcept

Removes all trailing occurrences of a set of characters specified in an array from the specified xtd::basic_string.

Parameters
strxtd::basic_string to trim end.
trim_charsAn array of characters to remove.
Returns
The xtd::basic_string that remains after all occurrences of the characters in the trim_chars parameter are removed from the end of the specified xtd::basic_string.

◆ trim_start() [1/3]

template<class char_t, class traits_t, class allocator_t>
basic_string xtd::basic_string< char_t, traits_t, allocator_t >::trim_start ( ) const
inlinenoexcept

Removes all leading occurrences of white-space characters from the specified xtd::basic_string.

Parameters
strxtd::basic_string to trim start.
trim_charA character to remove.
Returns
The xtd::basic_string that remains after all occurrences of the character in the trim_char parameter are removed from the start of the specified xtd::basic_string.

◆ trim_start() [2/3]

template<class char_t, class traits_t, class allocator_t>
basic_string xtd::basic_string< char_t, traits_t, allocator_t >::trim_start ( value_type trim_char) const
noexcept

Removes all leading occurrences of a character specified from the specified xtd::basic_string .

Parameters
strxtd::basic_string to trim start.
trim_charA character to remove.
Returns
The xtd::basic_string that remains after all occurrences of the character in the trim_char parameter are removed from the start of the specified xtd::basic_string.

◆ trim_start() [3/3]

template<class char_t, class traits_t, class allocator_t>
basic_string xtd::basic_string< char_t, traits_t, allocator_t >::trim_start ( const xtd::array< value_type > & trim_chars) const
noexcept

Removes all leading occurrences of a set of characters specified in an array from the specified xtd::basic_string.

Parameters
strAn xtd::basic_string to trim start.
trim_charsAn array of characters to remove.
Returns
The xtd::basic_string that remains after all occurrences of the characters in the trim_chars parameter are removed from the start of the specified xtd::basic_string.

◆ compare() [2/7]

template<class char_t, class traits_t, class allocator_t>
static int32 xtd::basic_string< char_t, traits_t, allocator_t >::compare ( const basic_string< char_t, traits_t, allocator_t > & str_a,
const basic_string< char_t, traits_t, allocator_t > & str_b )
inlinestaticnoexcept

Compares two specified basic_string objects and returns an integer that indicates their relative position in the sort order.

Parameters
str_aThe first basic_string to compare.
str_bThe second basic_string to compare.
Returns
A 32-bit signed integer that indicates the lexical relationship between the two compares.
Value Condition
Less than zero str_a precedes str_b in the sort order.
Zero str_a occurs in the same position as str_b in the sort order.
Greater than zero str_a follows str_b in the sort order.

◆ compare() [3/7]

template<class char_t, class traits_t, class allocator_t>
static int32 xtd::basic_string< char_t, traits_t, allocator_t >::compare ( const basic_string< char_t, traits_t, allocator_t > & str_a,
const basic_string< char_t, traits_t, allocator_t > & str_b,
bool ignore_case )
inlinestaticnoexcept

Compares two specified basic_string objects, ignoring or honoring their case, and returns an integer that indicates their relative position in the sort order.

Parameters
str_aThe first basic_string to compare.
str_bThe second basic_string to compare.
ignore_casetrue to ignore case during the comparison; otherwise, false.
Returns
A 32-bit signed integer that indicates the lexical relationship between the two compares.
Value Condition
Less than zero str_a precedes str_b in the sort order.
Zero str_a occurs in the same position as str_b in the sort order.
Greater than zero str_a follows str_b in the sort order.

◆ compare() [4/7]

template<class char_t, class traits_t, class allocator_t>
static int32 xtd::basic_string< char_t, traits_t, allocator_t >::compare ( const basic_string< char_t, traits_t, allocator_t > & str_a,
const basic_string< char_t, traits_t, allocator_t > & str_b,
xtd::string_comparison comparison_type )
inlinestaticnoexcept

Compares two specified basic_string objects using the specified rules, and returns an integer that indicates their relative position in the sort order.

Parameters
str_aThe first basic_string to compare.
str_bThe second basic_string to compare.
comparison_typeOne of the enumeration values that specifies the rules to use in the comparison.
Returns
A 32-bit signed integer that indicates the lexical relationship between the two compares.
Value Condition
Less than zero str_a precedes str_b in the sort order.
Zero str_a occurs in the same position as str_b in the sort order.
Greater than zero str_a follows str_b in the sort order.

◆ compare() [5/7]

template<class char_t, class traits_t, class allocator_t>
static int32 xtd::basic_string< char_t, traits_t, allocator_t >::compare ( const basic_string< char_t, traits_t, allocator_t > & str_a,
xtd::size index_a,
const basic_string< char_t, traits_t, allocator_t > & str_b,
xtd::size index_b,
xtd::size length )
inlinestatic

Compares substrings of two specified basic_string objects and returns an integer that indicates their relative position in the sort order.

Parameters
str_aThe first basic_string to use in the comparison.
index_aThe position of the substring within str_a.
str_bThe second basic_string to use in the comparison.
index_bThe position of the substring within str_b.
lengthThe maximum number of characters in the substrings to compare
Returns
A 32-bit signed integer that indicates the lexical relationship between the two compares.
Value Condition
Less than zero str_a precedes str_b in the sort order.
Zero str_a occurs in the same position as str_b in the sort order.
Greater than zero str_a follows str_b in the sort order.

◆ compare() [6/7]

template<class char_t, class traits_t, class allocator_t>
static int32 xtd::basic_string< char_t, traits_t, allocator_t >::compare ( const basic_string< char_t, traits_t, allocator_t > & str_a,
xtd::size index_a,
const basic_string< char_t, traits_t, allocator_t > & str_b,
xtd::size index_b,
xtd::size length,
bool ignore_case )
inlinestatic

Compares substrings of two specified basic_string objects, ignoring or honoring their case, and returns an integer that indicates their relative position in the sort order.

Parameters
str_aThe first basic_string to use in the comparison.
index_aThe position of the substring within str_a.
str_bThe second basic_string to use in the comparison.
index_bThe position of the substring within str_b.
lengthThe maximum number of characters in the substrings to compare
ignore_casetrue to ignore case during the comparison; otherwise, false.
Returns
A 32-bit signed integer that indicates the lexical relationship between the two compares.
Value Condition
Less than zero str_a precedes str_b in the sort order.
Zero str_a occurs in the same position as str_b in the sort order.
Greater than zero str_a follows str_b in the sort order.

◆ compare() [7/7]

template<class char_t, class traits_t, class allocator_t>
static int32 xtd::basic_string< char_t, traits_t, allocator_t >::compare ( const basic_string< char_t, traits_t, allocator_t > & str_a,
xtd::size index_a,
const basic_string< char_t, traits_t, allocator_t > & str_b,
xtd::size index_b,
xtd::size length,
xtd::string_comparison comparison_type )
inlinestatic

Compares substrings of two specified basic_string objects using the specified rules, and returns an integer that indicates their relative position in the sort order.

Parameters
str_aThe first basic_string to use in the comparison.
index_aThe position of the substring within str_a.
str_bThe second basic_string to use in the comparison.
index_bThe position of the substring within str_b.
lengthThe maximum number of characters in the substrings to compare
comparison_typeOne of the enumeration values that specifies the rules to use in the comparison.
Returns
A 32-bit signed integer that indicates the lexical relationship between the two compares.
Value Condition
Less than zero str_a precedes str_b in the sort order.
Zero str_a occurs in the same position as str_b in the sort order.
Greater than zero str_a follows str_b in the sort order.

◆ concat() [1/9]

template<class char_t, class traits_t, class allocator_t>
static basic_string xtd::basic_string< char_t, traits_t, allocator_t >::concat ( const basic_string< char_t, traits_t, allocator_t > & str_a,
const basic_string< char_t, traits_t, allocator_t > & str_b,
const basic_string< char_t, traits_t, allocator_t > & str_c,
const basic_string< char_t, traits_t, allocator_t > & str_d )
inlinestaticnoexcept

Concatenates four specified instances of basic_string.

Parameters
str_aThe first basic_string to concatenate.
str_bThe second basic_string to concatenate.
str_cThe third basic_string to concatenate.
str_dThe fourth basic_string to concatenate.
Returns
The concatenation of str_a, str_b, str_c and str_d.

◆ concat() [2/9]

template<class char_t, class traits_t, class allocator_t>
template<class object_a_t, class object_b_t, class object_c_t, class object_d_t>
static basic_string xtd::basic_string< char_t, traits_t, allocator_t >::concat ( object_a_t obj_a,
object_b_t obj_b,
object_c_t obj_c,
object_d_t obj_d )
inlinestaticnoexcept

Concatenates four specified instances of object.

Parameters
obj_aThe first object to concatenate.
obj_bThe second object to concatenate.
obj_cThe third object to concatenate.
obj_dThe fourth object to concatenate.
Returns
The concatenation of obj_a, obj_b, obj_c and obj_d.

◆ concat() [3/9]

template<class char_t, class traits_t, class allocator_t>
static basic_string xtd::basic_string< char_t, traits_t, allocator_t >::concat ( const basic_string< char_t, traits_t, allocator_t > & str_a,
const basic_string< char_t, traits_t, allocator_t > & str_b,
const basic_string< char_t, traits_t, allocator_t > & str_c )
inlinestaticnoexcept

Concatenates three specified instances of basic_string.

Parameters
str_aThe first basic_string to concatenate.
str_bThe second basic_string to concatenate.
str_cThe third basic_string to concatenate.
Returns
basic_string The concatenation of str_a, str_b and str_c.

◆ concat() [4/9]

template<class char_t, class traits_t, class allocator_t>
template<class object_a_t, class object_b_t, class object_c_t>
static basic_string xtd::basic_string< char_t, traits_t, allocator_t >::concat ( object_a_t obj_a,
object_b_t obj_b,
object_c_t obj_c )
inlinestaticnoexcept

Concatenates three specified instances of object.

Parameters
obj_aThe first object to concatenate.
obj_bThe second object to concatenate.
obj_cThe third object to concatenate.
Returns
The concatenation of obj_a, obj_b and obj_c.

◆ concat() [5/9]

template<class char_t, class traits_t, class allocator_t>
static basic_string xtd::basic_string< char_t, traits_t, allocator_t >::concat ( const basic_string< char_t, traits_t, allocator_t > & str_a,
const basic_string< char_t, traits_t, allocator_t > & str_b )
inlinestaticnoexcept

Concatenates two specified instances of basic_string.

Parameters
str_aThe first basic_string to concatenate.
str_bThe second basic_string to concatenate.
Returns
basic_string The concatenation of str_a and str_b.

◆ concat() [6/9]

template<class char_t, class traits_t, class allocator_t>
template<class object_a_t, class object_b_t>
static basic_string xtd::basic_string< char_t, traits_t, allocator_t >::concat ( object_a_t obj_a,
object_b_t obj_b )
inlinestaticnoexcept

Concatenates two specified instances of object.

Parameters
obj_aThe first object to concatenate.
obj_bThe second object to concatenate.
Returns
The concatenation of obj_a and obj_b.

◆ concat() [7/9]

template<class char_t, class traits_t, class allocator_t>
static basic_string xtd::basic_string< char_t, traits_t, allocator_t >::concat ( const xtd::array< basic_string< char_t, traits_t, allocator_t > > & values)
staticnoexcept

Concatenates the elements of a specified basic_string array.

Parameters
valuesAn array of basic_string instances.
Returns
The concatenated elements of values.

◆ concat() [8/9]

template<class char_t, class traits_t, class allocator_t>
template<class object_t>
static basic_string xtd::basic_string< char_t, traits_t, allocator_t >::concat ( const xtd::array< object_t > & args)
inlinestaticnoexcept

Concatenates the basic_string representations of the elements in a specified object array.

Parameters
argsAn object array that contains the elements to concatenate.
Returns
The concatenated basic_string representations of the values of the elements in args.

◆ concat() [9/9]

template<class char_t, class traits_t, class allocator_t>
template<class value_t>
static basic_string xtd::basic_string< char_t, traits_t, allocator_t >::concat ( value_t value)
inlinestaticnoexcept

Creates the basic_string representation of a specified object.

Parameters
valueThe object to represent.
Returns
The basic_string representation of the value of arg.

◆ demangle()

template<class char_t, class traits_t, class allocator_t>
static basic_string xtd::basic_string< char_t, traits_t, allocator_t >::demangle ( const basic_string< char_t, traits_t, allocator_t > & name)
inlinestatic

Gets demangled basic_string of name,.

Parameters
nameThe name to demangle.
Returns
The demangled basic_string of name.
Examples
The following example shows how to use xtd::basic_string::demangle.
#include <xtd/xtd>
using namespace xtd;
auto main() -> int {
console::write_line("name = {}", typeid(xtd::date_time).name());
console::write_line("demangled name = {}", basic_string::demangle(typeid(xtd::date_time).name()));
}
// This code produces the following output on macOS :
//
// name = N3xtd9date_timeE
// demangled name = xtd::date_time
static basic_string demangle(const basic_string &name)
Gets demangled basic_string of name,.
Definition basic_string.hpp:1636
static void write_line()
Writes the current line terminator to the standard output stream using the specified format informati...
Represents an instant in time, typically expressed as a date and time of day.
Definition date_time.hpp:83
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition abstract_object.hpp:8

◆ equals() [4/7]

template<class char_t, class traits_t, class allocator_t>
static bool xtd::basic_string< char_t, traits_t, allocator_t >::equals ( const basic_string< char_t, traits_t, allocator_t > & a,
const basic_string< char_t, traits_t, allocator_t > & b )
inlinestaticnoexcept

Determines whether two specified xtd::basic_string objects have the same value.

Parameters
aThe first basic_string to compare.
bThe second basic_string to compare.
Returns
true if the value of a is the same as the value of b; otherwise, false.
Remarks
This method performs an ordinal (case-sensitive) comparison.

◆ equals() [5/7]

template<class char_t, class traits_t, class allocator_t>
template<class char_a_t, class char_b_t>
static bool xtd::basic_string< char_t, traits_t, allocator_t >::equals ( const char_a_t * a,
const char_b_t * b )
inlinestaticnoexcept

Determines whether two specified xtd::basic_string objects have the same value.

Parameters
aThe first basic_string to compare.
bThe second basic_string to compare.
Returns
true if the value of a is the same as the value of b; otherwise, false.
Remarks
This method performs an ordinal (case-sensitive) comparison.

◆ equals() [6/7]

template<class char_t, class traits_t, class allocator_t>
static bool xtd::basic_string< char_t, traits_t, allocator_t >::equals ( const basic_string< char_t, traits_t, allocator_t > & a,
const basic_string< char_t, traits_t, allocator_t > & b,
bool ignore_case )
inlinestaticnoexcept

Determines whether two specified xtd::basic_string objects have the same value, ignoring or honoring their case.

Parameters
aThe first basic_string to compare.
bThe second basic_string to compare.
ignore_casetrue to ignore case when comparing this instance and value; otherwise, false
Returns
true if the value of a is the same as the value of b; otherwise, false.
Remarks
This method performs an ordinal comparison.

◆ equals() [7/7]

template<class char_t, class traits_t, class allocator_t>
template<class char_a_t, class char_b_t>
static bool xtd::basic_string< char_t, traits_t, allocator_t >::equals ( const char_a_t * a,
const char_b_t * b,
bool ignore_case )
inlinestaticnoexcept

Determines whether two specified xtd::basic_string objects have the same value, ignoring or honoring their case.

Parameters
aThe first basic_string to compare.
bThe second basic_string to compare.
ignore_casetrue to ignore case when comparing this instance and value; otherwise, false
Returns
true if the value of a is the same as the value of b; otherwise, false.
Remarks
This method performs an ordinal comparison.

◆ is_empty() [1/2]

template<class char_t, class traits_t, class allocator_t>
static bool xtd::basic_string< char_t, traits_t, allocator_t >::is_empty ( const xtd::basic_string< value_type, traits_type, allocator_type > & string)
inlinestaticnoexcept

Indicates whether the specifeid basic_string is an empty basic_string ("").

Parameters
stringThe xtd::basic_string to check if empty.
Returns
true if the value parameter is null or an empty basic_string (""); otherwise, false.

◆ join() [1/3]

template<class char_t, class traits_t, class allocator_t>
template<class collection_t>
static basic_string xtd::basic_string< char_t, traits_t, allocator_t >::join ( const basic_string< char_t, traits_t, allocator_t > & separator,
const collection_t & values )
inlinestaticnoexcept

Concatenates a specified separator basic_string between each element of a specified object array, yielding a single concatenated basic_string.

Parameters
separatorA basic_string separator.
valuesAn array of Object.
Returns
A basic_string consisting of the elements of value interspersed with the separator basic_string.
Remarks
For example if separator is ", " and the elements of value are "red", "blue", "green", and "yellow", Join(separator, value) returns "red, blue, green, yellow".
stream << operator is called on each object to generate the content.

◆ join() [2/3]

template<class char_t, class traits_t, class allocator_t>
template<class collection_t>
static basic_string xtd::basic_string< char_t, traits_t, allocator_t >::join ( const basic_string< char_t, traits_t, allocator_t > & separator,
const collection_t & values,
xtd::size index )
inlinestatic

Concatenates a specified separator basic_string between each element of a specified object array, yielding a single concatenated basic_string.

Parameters
separatorA basic_string separator.
valuesAn array of Object.
start_indexThe first array element in value to use.
Returns
A basic_string consisting of the elements of value interspersed with the separator basic_string.
Remarks
For example if separator is ", " and the elements of value are "red", "blue", "green", and "yellow", Join(separator, value) returns "red, blue, green, yellow".
stream << operator is called on each object to generate the content.

◆ join() [3/3]

template<class char_t, class traits_t, class allocator_t>
template<class collection_t>
static basic_string xtd::basic_string< char_t, traits_t, allocator_t >::join ( const basic_string< char_t, traits_t, allocator_t > & separator,
const collection_t & values,
xtd::size index,
xtd::size count )
inlinestatic

Concatenates a specified separator basic_string between each element of a specified Object array, yielding a single concatenated basic_string.

Parameters
separatorA basic_string separator.
valuesAn array of Object.
start_indexThe first array element in value to use.
countThe number of elements of value to use.
Returns
A basic_string consisting of the elements of value interspersed with the separator basic_string.
Remarks
For example if separator is ", " and the elements of value are "red", "blue", "green", and "yellow", Join(separator, value) returns "red, blue, green, yellow".
stream << operator is called on each object to generate the content.

◆ parse()

template<class char_t, class traits_t, class allocator_t>
template<class value_t>
static value_t xtd::basic_string< char_t, traits_t, allocator_t >::parse ( const basic_string< char_t, traits_t, allocator_t > & str)
inlinestatic

Converts a basic_string into a value_t type.

Parameters
strAx xtd::basic_string to convert to value_t
Returns
The value_t object parsed.

◆ try_parse()

template<class char_t, class traits_t, class allocator_t>
template<class value_t>
static bool xtd::basic_string< char_t, traits_t, allocator_t >::try_parse ( const basic_string< char_t, traits_t, allocator_t > & str,
value_t & value )
inlinestaticnoexcept

Try to convert a basic_string into a value_t type.

Parameters
strAn xtd::basic_string to convert to value_t
valueThe value that will contain the parsed xtd::basic_string.
Returns
true if xtd::basic_string:=:try_parse succed; otherwise, false.

◆ operator[]()

template<class char_t, class traits_t, class allocator_t>
const_reference xtd::basic_string< char_t, traits_t, allocator_t >::operator[] ( xtd::size index) const
inline

Returns a reference to the character at specified location index.

Parameters
indexThe position of the character to return.
Returns
Reference to the requested character.
Exceptions
xtd::index_out_of_range_exceptionIf `index` is not within the range of the string.

◆ operator const base_type &()

template<class char_t, class traits_t, class allocator_t>
xtd::basic_string< char_t, traits_t, allocator_t >::operator const base_type & ( ) const
inlinenoexcept

Returns a reference to the underlying base type.

Returns
Reference to the underlying base type.

◆ operator=() [1/35]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator= ( const basic_string< char > & str)
inlinenoexcept

Copy assignment operator. Replaces the contents with a copy of the contents of str.

Parameters
strString to use as data source.
Returns
This current instance.

◆ operator=() [2/35]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator= ( const basic_string< xtd::char16 > & str)
inlinenoexcept

Copy assignment operator. Replaces the contents with a copy of the contents of str.

Parameters
strString to use as data source.
Returns
This current instance.

◆ operator=() [3/35]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator= ( const basic_string< xtd::char32 > & str)
inlinenoexcept

Copy assignment operator. Replaces the contents with a copy of the contents of str.

Parameters
strString to use as data source.
Returns
This current instance.

◆ operator=() [4/35]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator= ( const basic_string< xtd::char8 > & str)
inlinenoexcept

Copy assignment operator. Replaces the contents with a copy of the contents of str.

Parameters
strString to use as data source.
Returns
This current instance.

◆ operator=() [5/35]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator= ( const basic_string< xtd::wchar > & str)
inlinenoexcept

Copy assignment operator. Replaces the contents with a copy of the contents of str.

Parameters
strString to use as data source.
Returns
This current instance.

◆ operator=() [6/35]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator= ( basic_string< char > && str)
inlinenoexcept

Move assignment operator. Replaces the contents with those of other using move semantics (i.e. the data in str is moved from str into this string). str is in a valid but unspecified state afterwards.

Parameters
strString to use as data source.
Returns
This current instance.

◆ operator=() [7/35]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator= ( basic_string< xtd::char16 > && str)
inlinenoexcept

Move assignment operator. Replaces the contents with those of other using move semantics (i.e. the data in str is moved from str into this string). str is in a valid but unspecified state afterwards.

Parameters
strString to use as data source.
Returns
This current instance.

◆ operator=() [8/35]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator= ( basic_string< xtd::char32 > && str)
inlinenoexcept

Move assignment operator. Replaces the contents with those of other using move semantics (i.e. the data in str is moved from str into this string). str is in a valid but unspecified state afterwards.

Parameters
strString to use as data source.
Returns
This current instance.

◆ operator=() [9/35]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator= ( basic_string< xtd::char8 > && str)
inlinenoexcept

Move assignment operator. Replaces the contents with those of other using move semantics (i.e. the data in str is moved from str into this string). str is in a valid but unspecified state afterwards.

Parameters
strString to use as data source.
Returns
This current instance.

◆ operator=() [10/35]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator= ( basic_string< xtd::wchar > && str)
inlinenoexcept

Move assignment operator. Replaces the contents with those of other using move semantics (i.e. the data in str is moved from str into this string). str is in a valid but unspecified state afterwards.

Parameters
strString to use as data source.
Returns
This current instance.

◆ operator=() [11/35]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator= ( const std::basic_string< char > & str)
inlinenoexcept

Copy assignment operator. Replaces the contents with a copy of the contents of str.

Parameters
strString to use as data source.
Returns
This current instance.

◆ operator=() [12/35]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator= ( const std::basic_string< xtd::char16 > & str)
inlinenoexcept

Copy assignment operator. Replaces the contents with a copy of the contents of str.

Parameters
strString to use as data source.
Returns
This current instance.

◆ operator=() [13/35]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator= ( const std::basic_string< xtd::char32 > & str)
inlinenoexcept

Copy assignment operator. Replaces the contents with a copy of the contents of str.

Parameters
strString to use as data source.
Returns
This current instance.

◆ operator=() [14/35]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator= ( const std::basic_string< xtd::char8 > & str)
inlinenoexcept

Copy assignment operator. Replaces the contents with a copy of the contents of str.

Parameters
strString to use as data source.
Returns
This current instance.

◆ operator=() [15/35]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator= ( const std::basic_string< xtd::wchar > & str)
inlinenoexcept

Copy assignment operator. Replaces the contents with a copy of the contents of str.

Parameters
strString to use as data source.
Returns
This current instance.

◆ operator=() [16/35]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator= ( std::basic_string< char > && str)
inlinenoexcept

Copy assignment operator. Replaces the contents with a copy of the contents of str.

Parameters
strString to use as data source.
Returns
This current instance.

◆ operator=() [17/35]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator= ( std::basic_string< xtd::char16 > && str)
inlinenoexcept

Copy assignment operator. Replaces the contents with a copy of the contents of str.

Parameters
strString to use as data source.
Returns
This current instance.

◆ operator=() [18/35]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator= ( std::basic_string< xtd::char32 > && str)
inlinenoexcept

Copy assignment operator. Replaces the contents with a copy of the contents of str.

Parameters
strString to use as data source.
Returns
This current instance.

◆ operator=() [19/35]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator= ( std::basic_string< xtd::char8 > && str)
inlinenoexcept

Copy assignment operator. Replaces the contents with a copy of the contents of str.

Parameters
strString to use as data source.
Returns
This current instance.

◆ operator=() [20/35]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator= ( std::basic_string< xtd::wchar > && str)
inlinenoexcept

Copy assignment operator. Replaces the contents with a copy of the contents of str.

Parameters
strString to use as data source.
Returns
This current instance.

◆ operator=() [21/35]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator= ( const char * str)
inline

Copy assignment operator. Replaces the contents with a copy of the contents of str.

Parameters
strString litteral pointer to use as data source.
Exceptions
xtd::tring_null_pointer_exceptionThe `str` is null.
Returns
This current instance.

◆ operator=() [22/35]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator= ( const xtd::char16 * str)
inline

Copy assignment operator. Replaces the contents with a copy of the contents of str.

Parameters
strString litteral pointer to use as data source.
Exceptions
xtd::tring_null_pointer_exceptionThe `str` is null.
Returns
This current instance.

◆ operator=() [23/35]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator= ( const xtd::char32 * str)
inline

Copy assignment operator. Replaces the contents with a copy of the contents of str.

Parameters
strString litteral pointer to use as data source.
Exceptions
xtd::tring_null_pointer_exceptionThe `str` is null.
Returns
This current instance.

◆ operator=() [24/35]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator= ( const xtd::char8 * str)
inline

Copy assignment operator. Replaces the contents with a copy of the contents of str.

Parameters
strString litteral pointer to use as data source.
Exceptions
xtd::tring_null_pointer_exceptionThe `str` is null.
Returns
This current instance.

◆ operator=() [25/35]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator= ( const xtd::wchar * str)
inline

Copy assignment operator. Replaces the contents with a copy of the contents of str.

Parameters
strString litteral pointer to use as data source.
Exceptions
xtd::tring_null_pointer_exceptionThe `str` is null.
Returns
This current instance.

◆ operator=() [26/35]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator= ( char character)
inline

Copy assignment operator. Replaces the contents with the specified character.

Parameters
characterThe character to use as data source.
Returns
This current instance.

◆ operator=() [27/35]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator= ( xtd::char16 character)
inline

Copy assignment operator. Replaces the contents with the specified character.

Parameters
characterThe character to use as data source.
Returns
This current instance.

◆ operator=() [28/35]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator= ( xtd::char32 character)
inline

Copy assignment operator. Replaces the contents with the specified character.

Parameters
characterThe character to use as data source.
Returns
This current instance.

◆ operator=() [29/35]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator= ( xtd::char8 character)
inline

Copy assignment operator. Replaces the contents with the specified character.

Parameters
characterThe character to use as data source.
Returns
This current instance.

◆ operator=() [30/35]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator= ( xtd::wchar character)
inline

Copy assignment operator. Replaces the contents with the specified character.

Parameters
characterThe character to use as data source.
Returns
This current instance.

◆ operator=() [31/35]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator= ( const std::initializer_list< char > & il)
inline

Copy assignment operator. Replaces the contents with a copy of the contents of the specified initializer list.

Parameters
ilThe initialiazer list to use as data source.
Returns
This current instance.

◆ operator=() [32/35]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator= ( const std::initializer_list< xtd::char16 > & il)
inline

Copy assignment operator. Replaces the contents with a copy of the contents of the specified initializer list.

Parameters
ilThe initialiazer list to use as data source.
Returns
This current instance.

◆ operator=() [33/35]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator= ( const std::initializer_list< xtd::char32 > & il)
inline

Copy assignment operator. Replaces the contents with a copy of the contents of the specified initializer list.

Parameters
ilThe initialiazer list to use as data source.
Returns
This current instance.

◆ operator=() [34/35]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator= ( const std::initializer_list< xtd::char8 > & il)
inline

Copy assignment operator. Replaces the contents with a copy of the contents of the specified initializer list.

Parameters
ilThe initialiazer list to use as data source.
Returns
This current instance.

◆ operator=() [35/35]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator= ( const std::initializer_list< xtd::wchar > & il)
inline

Copy assignment operator. Replaces the contents with a copy of the contents of the specified initializer list.

Parameters
ilThe initialiazer list to use as data source.
Returns
This current instance.

◆ operator+=() [1/25]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator+= ( const basic_string< char > & str)
inline

Addition assignment operator. Appends additional characters to the string.

Parameters
strstring to append.
Returns
This current instance with characters added.

◆ operator+=() [2/25]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator+= ( const basic_string< xtd::char16 > & str)
inline

Addition assignment operator. Appends additional characters to the string.

Parameters
strstring to append.
Returns
This current instance with characters added.

◆ operator+=() [3/25]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator+= ( const basic_string< xtd::char32 > & str)
inline

Addition assignment operator. Appends additional characters to the string.

Parameters
strstring to append.
Returns
This current instance with characters added.

◆ operator+=() [4/25]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator+= ( const basic_string< xtd::char8 > & str)
inline

Addition assignment operator. Appends additional characters to the string.

Parameters
strstring to append.
Returns
This current instance with characters added.

◆ operator+=() [5/25]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator+= ( const basic_string< xtd::wchar > & str)
inline

Addition assignment operator. Appends additional characters to the string.

Parameters
strstring to append.
Returns
This current instance with characters added.

◆ operator+=() [6/25]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator+= ( basic_string< char > && str)
inline

Addition assignment operator. Appends additional characters to the string.

Parameters
strstring to append.
Returns
This current instance with characters added.

◆ operator+=() [7/25]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator+= ( basic_string< xtd::char16 > && str)
inline

Addition assignment operator. Appends additional characters to the string.

Parameters
strstring to append.
Returns
This current instance with characters added.

◆ operator+=() [8/25]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator+= ( basic_string< xtd::char32 > && str)
inline

Addition assignment operator. Appends additional characters to the string.

Parameters
strstring to append.
Returns
This current instance with characters added.

◆ operator+=() [9/25]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator+= ( basic_string< xtd::char8 > && str)
inline

Addition assignment operator. Appends additional characters to the string.

Parameters
strstring to append.
Returns
This current instance with characters added.

◆ operator+=() [10/25]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator+= ( basic_string< xtd::wchar > && str)
inline

Addition assignment operator. Appends additional characters to the string.

Parameters
strstring to append.
Returns
This current instance with characters added.

◆ operator+=() [11/25]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator+= ( const std::basic_string< char > & str)
inline

Addition assignment operator. Appends additional characters to the string.

Parameters
strstring to append.
Returns
This current instance with characters added.

◆ operator+=() [12/25]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator+= ( const std::basic_string< xtd::char16 > & str)
inline

Addition assignment operator. Appends additional characters to the string.

Parameters
strstring to append.
Returns
This current instance with characters added.

◆ operator+=() [13/25]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator+= ( const std::basic_string< xtd::char32 > & str)
inline

Addition assignment operator. Appends additional characters to the string.

Parameters
strstring to append.
Returns
This current instance with characters added.

◆ operator+=() [14/25]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator+= ( const std::basic_string< xtd::char8 > & str)
inline

Addition assignment operator. Appends additional characters to the string.

Parameters
strstring to append.
Returns
This current instance with characters added.

◆ operator+=() [15/25]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator+= ( const std::basic_string< xtd::wchar > & str)
inline

Addition assignment operator. Appends additional characters to the string.

Parameters
strstring to append.
Returns
This current instance with characters added.

◆ operator+=() [16/25]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator+= ( const char * str)
inline

Addition assignment operator. Appends additional characters to the string.

Parameters
strstring to append.
Returns
This current instance with characters added.

◆ operator+=() [17/25]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator+= ( const xtd::char16 * str)
inline

Addition assignment operator. Appends additional characters to the string.

Parameters
strstring to append.
Returns
This current instance with characters added.

◆ operator+=() [18/25]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator+= ( const xtd::char32 * str)
inline

Addition assignment operator. Appends additional characters to the string.

Parameters
strstring to append.
Returns
This current instance with characters added.

◆ operator+=() [19/25]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator+= ( const xtd::char8 * str)
inline

Addition assignment operator. Appends additional characters to the string.

Parameters
strstring to append.
Returns
This current instance with characters added.

◆ operator+=() [20/25]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator+= ( const xtd::wchar * str)
inline

Addition assignment operator. Appends additional characters to the string.

Parameters
strstring to append.
Returns
This current instance with characters added.

◆ operator+=() [21/25]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator+= ( char ch)
inline

Addition assignment operator. Appends additional characters to the string.

Parameters
chCharacter value to append.
Returns
This current instance with characters added.

◆ operator+=() [22/25]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator+= ( xtd::char16 ch)
inline

Addition assignment operator. Appends additional characters to the string.

Parameters
chCharacter value to append.
Returns
This current instance with characters added.

◆ operator+=() [23/25]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator+= ( xtd::char32 ch)
inline

Addition assignment operator. Appends additional characters to the string.

Parameters
chCharacter value to append.
Returns
This current instance with characters added.

◆ operator+=() [24/25]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator+= ( xtd::char8 ch)
inline

Addition assignment operator. Appends additional characters to the string.

Parameters
chCharacter value to append.
Returns
This current instance with characters added.

◆ operator+=() [25/25]

template<class char_t, class traits_t, class allocator_t>
basic_string & xtd::basic_string< char_t, traits_t, allocator_t >::operator+= ( xtd::wchar ch)
inline

Addition assignment operator. Appends additional characters to the string.

Parameters
chCharacter value to append.
Returns
This current instance with characters added.

◆ is_empty() [2/2]

template<class char_t, class traits_t, class allocator_t>
bool xtd::basic_string< char_t, traits_t, allocator_t >::is_empty ( ) const
inlinenoexcept

Name Public Deprecated Methods.

Indicates whether this basic_string is an empty basic_string ("").

Returns
true if the value parameter is null or an empty basic_string (""); otherwise, false.
Deprecated
Replaced by xtd::basic_string::is_empty(const xtd::basic_string&) - Will be removed in version 0.4.0.

◆ class_name() [1/3]

template<class char_t, class traits_t, class allocator_t>
template<class object_t>
static basic_string xtd::basic_string< char_t, traits_t, allocator_t >::class_name ( )
inlinestatic

Gets the class name of the object_t.

Returns
The class name of the object_t.
Remarks
For example, the name of the basic_string type is basic_string.
Deprecated
Replaced by typeof_<object_t>().name() - Will be removed in version 0.4.0.

Name Public Deprecated Static Methods

◆ class_name() [2/3]

template<class char_t, class traits_t, class allocator_t>
template<class object_t>
static basic_string xtd::basic_string< char_t, traits_t, allocator_t >::class_name ( const object_t & object)
inlinestatic

Gets the class name of the specified object.

Returns
The class name of the specified object.
Remarks
For example, the name of the basic_string type is basic_string.
Deprecated
Replaced by typeof_(object).name() - Will be removed in version 0.4.0.

◆ class_name() [3/3]

template<class char_t, class traits_t, class allocator_t>
static basic_string xtd::basic_string< char_t, traits_t, allocator_t >::class_name ( const std::type_info & info)
inlinestatic

Gets the class name of the specified object.

Returns
The class name of the specified object.
Remarks
For example, the name of the basic_string type is basic_string.
Deprecated
Replaced by typeof_(info).name() - Will be removed in version 0.4.0.

◆ full_class_name() [1/3]

template<class char_t, class traits_t, class allocator_t>
template<class object_t>
static basic_string xtd::basic_string< char_t, traits_t, allocator_t >::full_class_name ( )
inlinestatic

Gets the fully qualified class name of the objec_t, including the namespace of the objec_t.

Returns
The fully qualified class name of the objec_t, including the namespace of the objec_t.
Remarks
For example, the fully qualified name of the basic_string type is xtd::basic_string.
Deprecated
Replaced by typeof_<object_t>().full_name() - Will be removed in version 0.4.0.

◆ full_class_name() [2/3]

template<class char_t, class traits_t, class allocator_t>
template<class object_t>
static basic_string xtd::basic_string< char_t, traits_t, allocator_t >::full_class_name ( const object_t & object)
inlinestatic

Gets the fully qualified class name of the specified object, including the namespace of the specified object.

Returns
The fully qualified class name of the objec_t, including the namespace of the specified object.
Remarks
For example, the fully qualified name of the basic_string type is xtd::basic_string.
Deprecated
Replaced by typeof_(object).full_name() - Will be removed in version 0.4.0.

◆ full_class_name() [3/3]

template<class char_t, class traits_t, class allocator_t>
static basic_string xtd::basic_string< char_t, traits_t, allocator_t >::full_class_name ( const std::type_info & info)
inlinestatic

Gets the fully qualified class name of the specified object, including the namespace of the specified object.

Returns
The fully qualified class name of the objec_t, including the namespace of the specified object.
Remarks
For example, the fully qualified name of the basic_string type is xtd::basic_string.
Deprecated
Replaced by typeof_(info).full_name() - Will be removed in version 0.4.0.

The documentation for this class was generated from the following file: