6#define __XTD_CORE_INTERNAL__ 
   11#undef __XTD_CORE_INTERNAL__ 
   12#define __XTD_STD_INTERNAL__ 
   14#undef __XTD_STD_INTERNAL__ 
   30#if defined(__xtd__cpp_lib_format) 
   39template<
typename ...args_t>
 
   41template<
typename target_t, 
typename source_t>
 
   42std::basic_string<target_t> __xtd_convert_to_string(std::basic_string<source_t>&& str) 
noexcept;
 
   43template<
typename target_t, 
typename source_t>
 
   44std::basic_string<target_t> __xtd_convert_to_string(
const std::basic_string<source_t>& str) 
noexcept;
 
   45std::basic_string<char> __xtd_demangle(
const std::basic_string<char>& value) 
noexcept;
 
   46std::basic_string<char> __xtd_get_class_name(
const std::type_info& value) 
noexcept;
 
   47std::basic_string<char> __xtd_get_full_class_name(
const std::type_info& value) 
noexcept;
 
   48void __throw_basic_string_argument_exception(
const char* file, 
xtd::uint32 line, 
const char* func);
 
   49void __throw_basic_string_argument_out_of_range_exception(
const char* file, 
xtd::uint32 line, 
const char* func);
 
   50void __throw_basic_string_format_exception(
const char* file, 
xtd::uint32 line, 
const char* func);
 
   51void __throw_basic_string_format_exception_close_bracket(
const char* file, 
xtd::uint32 line, 
const char* func);
 
   52void __throw_basic_string_format_exception_open_bracket(
const char* file, 
xtd::uint32 line, 
const char* func);
 
   53void __throw_basic_string_format_exception_start_colon(
const char* file, 
xtd::uint32 line, 
const char* func);
 
   54void __throw_basic_string_index_out_of_range_exception(
const char* file, 
xtd::uint32 line, 
const char* func);
 
   55void __throw_basic_string_null_pointer_exception(
const char* file, 
xtd::uint32 line, 
const char* func);
 
   78  template<
typename char_t, 
typename traits_t, 
typename allocator_t>
 
   86    using base_type = std::basic_string<char_t, traits_t, allocator_t>;
 
  142      if constexpr (std::is_same_v<char, char_t>) chars_ = str.chars_;
 
  143      else chars_ = __xtd_convert_to_string<value_type>(str.chars_);
 
  149      if constexpr (std::is_same_v<xtd::char16, char_t>) chars_ = str.chars_;
 
  150      else chars_ = __xtd_convert_to_string<value_type>(str.chars_);
 
  155      if constexpr (std::is_same_v<xtd::char32, char_t>) chars_ = str.chars_;
 
  156      else chars_ = __xtd_convert_to_string<value_type>(str.chars_);
 
  158#if defined(__xtd__cpp_lib_char8_t) 
  162      if constexpr (std::is_same_v<xtd::char8, char_t>) chars_ = str.chars_;
 
  163      else chars_ = __xtd_convert_to_string<value_type>(str.chars_);
 
  169      if constexpr (std::is_same_v<xtd::wchar, char_t>) chars_ = str.chars_;
 
  170      else chars_ = __xtd_convert_to_string<value_type>(str.chars_);
 
  177      if constexpr (std::is_same_v<char, char_t>) chars_ = 
base_type(str.chars_, allocator);
 
  178      else chars_ = 
base_type(__xtd_convert_to_string<value_type>(str.chars_), allocator);
 
  184      if constexpr (std::is_same_v<xtd::char16, char_t>) chars_ = 
base_type(str.chars_, allocator);
 
  185      else chars_ = 
base_type(__xtd_convert_to_string<value_type>(str.chars_), allocator);
 
  191      if constexpr (std::is_same_v<xtd::char32, char_t>) chars_ = 
base_type(str.chars_, allocator);
 
  192      else chars_ = 
base_type(__xtd_convert_to_string<value_type>(str.chars_), allocator);
 
  194#if defined(__xtd__cpp_lib_char8_t) 
  199      if constexpr (std::is_same_v<xtd::char8, char_t>) chars_ = 
base_type(str.chars_, allocator);
 
  200      else chars_ = 
base_type(__xtd_convert_to_string<value_type>(str.chars_), allocator);
 
  207      if constexpr (std::is_same_v<xtd::wchar, char_t>) chars_ = 
base_type(str.chars_, allocator);
 
  208      else chars_ = 
base_type(__xtd_convert_to_string<value_type>(str.chars_), allocator);
 
  216      if (index > str.
size()) __throw_basic_string_argument_out_of_range_exception(__FILE__, __LINE__, __func__);
 
  217      if constexpr (std::is_same_v<char, char_t>) chars_ = 
base_type(str.chars_, index);
 
  218      else chars_ = 
base_type(__xtd_convert_to_string<value_type>(std::basic_string<char>(str.chars_, index)));
 
  225      if (index > str.
size()) __throw_basic_string_argument_out_of_range_exception(__FILE__, __LINE__, __func__);
 
  226      if constexpr (std::is_same_v<xtd::char16, char_t>) chars_ = 
base_type(str.chars_, index);
 
  227      else chars_ = 
base_type(__xtd_convert_to_string<value_type>(std::basic_string<xtd::char16>(str.chars_, index)));
 
  234      if (index > str.
size()) __throw_basic_string_argument_out_of_range_exception(__FILE__, __LINE__, __func__);
 
  235      if constexpr (std::is_same_v<xtd::char32, char_t>) chars_ = 
base_type(str.chars_, index);
 
  236      else chars_ = 
base_type(__xtd_convert_to_string<value_type>(std::basic_string<xtd::char32>(str.chars_, index)));
 
  238#if defined(__xtd__cpp_lib_char8_t) 
  244      if (index > str.
size()) __throw_basic_string_argument_out_of_range_exception(__FILE__, __LINE__, __func__);
 
  245      if constexpr (std::is_same_v<xtd::char8, char_t>) chars_ = 
base_type(str.chars_, index);
 
  246      else chars_ = 
base_type(__xtd_convert_to_string<value_type>(std::basic_string<xtd::char8>(str.chars_, index)));
 
  254      if (index > str.
size()) __throw_basic_string_argument_out_of_range_exception(__FILE__, __LINE__, __func__);
 
  255      if constexpr (std::is_same_v<xtd::wchar, char_t>) chars_ = 
base_type(str.chars_, index);
 
  256      else chars_ = 
base_type(__xtd_convert_to_string<value_type>(std::basic_string<xtd::wchar>(str.chars_, index)));
 
  265      if (index > str.
size()) __throw_basic_string_argument_out_of_range_exception(__FILE__, __LINE__, __func__);
 
  266      if constexpr (std::is_same_v<char, char_t>) chars_ = 
base_type(str.chars_, index, allocator);
 
  267      else chars_ = 
base_type(__xtd_convert_to_string<value_type>(std::basic_string<char>(str.chars_, index)), allocator);
 
  275      if (index > str.
size()) __throw_basic_string_argument_out_of_range_exception(__FILE__, __LINE__, __func__);
 
  276      if constexpr (std::is_same_v<xtd::char16, char_t>) chars_ = 
base_type(str.chars_, index, allocator);
 
  277      else chars_ = 
base_type(__xtd_convert_to_string<value_type>(std::basic_string<xtd::char16>(str.chars_, index)), allocator);
 
  285      if (index > str.
size()) __throw_basic_string_argument_out_of_range_exception(__FILE__, __LINE__, __func__);
 
  286      if constexpr (std::is_same_v<xtd::char32, char_t>) chars_ = 
base_type(str.chars_, index, allocator);
 
  287      else chars_ = 
base_type(__xtd_convert_to_string<value_type>(std::basic_string<xtd::char32>(str.chars_, index)), allocator);
 
  289#if defined(__xtd__cpp_lib_char8_t) 
  296      if (index > str.
size()) __throw_basic_string_argument_out_of_range_exception(__FILE__, __LINE__, __func__);
 
  297      if constexpr (std::is_same_v<xtd::char8, char_t>) chars_ = 
base_type(str.chars_, index, allocator);
 
  298      else chars_ = 
base_type(__xtd_convert_to_string<value_type>(std::basic_string<xtd::char8>(str.chars_, index)), allocator);
 
  307      if (index > str.
size()) __throw_basic_string_argument_out_of_range_exception(__FILE__, __LINE__, __func__);
 
  308      if constexpr (std::is_same_v<xtd::wchar, char_t>) chars_ = 
base_type(str.chars_, index, allocator);
 
  309      else chars_ = 
base_type(__xtd_convert_to_string<value_type>(std::basic_string<xtd::wchar>(str.chars_, index)), allocator);
 
  318      if (index + count > str.
size()) __throw_basic_string_argument_out_of_range_exception(__FILE__, __LINE__, __func__);
 
  319      if constexpr (std::is_same_v<char, char_t>) chars_ = 
base_type(str.chars_, index, count);
 
  320      else chars_ = 
base_type(__xtd_convert_to_string<value_type>(std::basic_string<char>(str.chars_, index, count)));
 
  328      if (index + count > str.
size()) __throw_basic_string_argument_out_of_range_exception(__FILE__, __LINE__, __func__);
 
  329      if constexpr (std::is_same_v<xtd::char16, char_t>) chars_ = 
base_type(str.chars_, index, count);
 
  330      else chars_ = 
base_type(__xtd_convert_to_string<value_type>(std::basic_string<xtd::char16>(str.chars_, index, count)));
 
  338      if (index + count > str.
size()) __throw_basic_string_argument_out_of_range_exception(__FILE__, __LINE__, __func__);
 
  339      if constexpr (std::is_same_v<xtd::char32, char_t>) chars_ = 
base_type(str.chars_, index, count);
 
  340      else chars_ = 
base_type(__xtd_convert_to_string<value_type>(std::basic_string<xtd::char32>(str.chars_, index, count)));
 
  342#if defined(__xtd__cpp_lib_char8_t) 
  349      if (index + count > str.
size()) __throw_basic_string_argument_out_of_range_exception(__FILE__, __LINE__, __func__);
 
  350      if constexpr (std::is_same_v<xtd::char8, char_t>) chars_ = 
base_type(str.chars_, index, count);
 
  351      else chars_ = 
base_type(__xtd_convert_to_string<value_type>(std::basic_string<xtd::char8>(str.chars_, index, count)));
 
  360      if (index + count > str.
size()) __throw_basic_string_argument_out_of_range_exception(__FILE__, __LINE__, __func__);
 
  361      if constexpr (std::is_same_v<xtd::wchar, char_t>) chars_ = 
base_type(str.chars_, index, count);
 
  362      else chars_ = 
base_type(__xtd_convert_to_string<value_type>(std::basic_string<xtd::wchar>(str.chars_, index, count)));
 
  372      if (index + count > str.
size()) __throw_basic_string_argument_out_of_range_exception(__FILE__, __LINE__, __func__);
 
  373      if constexpr (std::is_same_v<char, char_t>) chars_ = 
base_type(str.chars_, index, count, allocator);
 
  374      else chars_ = 
base_type(__xtd_convert_to_string<value_type>(std::basic_string<char>(str.chars_, index, count)), allocator);
 
  383      if (index + count > str.
size()) __throw_basic_string_argument_out_of_range_exception(__FILE__, __LINE__, __func__);
 
  384      if constexpr (std::is_same_v<xtd::char16, char_t>) chars_ = 
base_type(str.chars_, index, count, allocator);
 
  385      else chars_ = 
base_type(__xtd_convert_to_string<value_type>(std::basic_string<xtd::char16>(str.chars_, index, count)), allocator);
 
  394      if (index + count > str.
size()) __throw_basic_string_argument_out_of_range_exception(__FILE__, __LINE__, __func__);
 
  395      if constexpr (std::is_same_v<xtd::char32, char_t>) chars_ = 
base_type(str.chars_, index, count, allocator);
 
  396      else chars_ = 
base_type(__xtd_convert_to_string<value_type>(std::basic_string<xtd::char32>(str.chars_, index, count)), allocator);
 
  398#if defined(__xtd__cpp_lib_char8_t) 
  406      if (index + count > str.
size()) __throw_basic_string_argument_out_of_range_exception(__FILE__, __LINE__, __func__);
 
  407      if constexpr (std::is_same_v<xtd::char8, char_t>) chars_ = 
base_type(str.chars_, index, count, allocator);
 
  408      else chars_ = 
base_type(__xtd_convert_to_string<value_type>(std::basic_string<xtd::char8>(str.chars_, index, count)), allocator);
 
  418      if (index + count > str.
size()) __throw_basic_string_argument_out_of_range_exception(__FILE__, __LINE__, __func__);
 
  419      if constexpr (std::is_same_v<xtd::wchar, char_t>) chars_ = 
base_type(str.chars_, index, count, allocator);
 
  420      else chars_ = 
base_type(__xtd_convert_to_string<value_type>(std::basic_string<xtd::wchar>(str.chars_, index, count)), allocator);
 
  460#if defined(__xtd__cpp_lib_char8_t) 
  509#if defined(__xtd__cpp_lib_char8_t) 
  533      if (str == 
null) __throw_basic_string_null_pointer_exception(__FILE__, __LINE__, __func__);
 
  534      if constexpr (std::is_same_v<char, char_t>) chars_ = std::basic_string<char>(str);
 
  535      else chars_ = __xtd_convert_to_string<value_type>(std::basic_string<char>(str));
 
  540      if (str == 
null) __throw_basic_string_null_pointer_exception(__FILE__, __LINE__, __func__);
 
  541      if constexpr (std::is_same_v<xtd::char16, char_t>) chars_ = std::basic_string<xtd::char16>(str);
 
  542      else chars_ = __xtd_convert_to_string<value_type>(std::basic_string<xtd::char16>(str));
 
  547      if (str == 
null) __throw_basic_string_null_pointer_exception(__FILE__, __LINE__, __func__);
 
  548      if constexpr (std::is_same_v<xtd::char32, char_t>) chars_ = std::basic_string<xtd::char32>(str);
 
  549      else chars_ = __xtd_convert_to_string<value_type>(std::basic_string<xtd::char32>(str));
 
  551#if defined(__xtd__cpp_lib_char8_t) 
  555      if (str == 
null) __throw_basic_string_null_pointer_exception(__FILE__, __LINE__, __func__);
 
  556      if constexpr (std::is_same_v<xtd::char8, char_t>) chars_ = std::basic_string<xtd::char8>(str);
 
  557      else chars_ = __xtd_convert_to_string<value_type>(std::basic_string<xtd::char8>(str));
 
  563      if (str == 
null) __throw_basic_string_null_pointer_exception(__FILE__, __LINE__, __func__);
 
  564      if constexpr (std::is_same_v<xtd::wchar, char_t>) chars_ = std::basic_string<xtd::wchar>(str);
 
  565      else chars_ = __xtd_convert_to_string<value_type>(std::basic_string<xtd::wchar>(str));
 
  572      if (str == 
null) __throw_basic_string_null_pointer_exception(__FILE__, __LINE__, __func__);
 
  573      if constexpr (std::is_same_v<char, char_t>) chars_ = std::basic_string<char>(str, allocator);
 
  574      else chars_ = __xtd_convert_to_string<value_type>(std::basic_string<char>(str), allocator);
 
  580      if (str == 
null) __throw_basic_string_null_pointer_exception(__FILE__, __LINE__, __func__);
 
  581      if constexpr (std::is_same_v<xtd::char16, char_t>) chars_ = std::basic_string<xtd::char16>(str, allocator);
 
  582      else chars_ = __xtd_convert_to_string<value_type>(std::basic_string<xtd::char16>(str), allocator);
 
  588      if (str == 
null) __throw_basic_string_null_pointer_exception(__FILE__, __LINE__, __func__);
 
  589      if constexpr (std::is_same_v<xtd::char32, char_t>) chars_ = std::basic_string<xtd::char32>(str, allocator);
 
  590      else chars_ = __xtd_convert_to_string<value_type>(std::basic_string<xtd::char32>(str), allocator);
 
  592#if defined(__xtd__cpp_lib_char8_t) 
  597      if (str == 
null) __throw_basic_string_null_pointer_exception(__FILE__, __LINE__, __func__);
 
  598      if constexpr (std::is_same_v<xtd::char8, char_t>) chars_ = std::basic_string<xtd::char8>(str, allocator);
 
  599      else chars_ = __xtd_convert_to_string<value_type>(std::basic_string<xtd::char8>(str), allocator);
 
  606      if (str == 
null) __throw_basic_string_null_pointer_exception(__FILE__, __LINE__, __func__);
 
  607      if constexpr (std::is_same_v<xtd::wchar, char_t>) chars_ = std::basic_string<xtd::wchar>(str);
 
  608      else chars_ = __xtd_convert_to_string<value_type>(std::basic_string<xtd::wchar>(str));
 
  614      if (str == 
null) __throw_basic_string_null_pointer_exception(__FILE__, __LINE__, __func__);
 
  615      if constexpr (std::is_same_v<char, char_t>) chars_ = std::basic_string<char>(str, count);
 
  616      else chars_ = __xtd_convert_to_string<value_type>(std::basic_string<char>(str, count));
 
  621      if (str == 
null) __throw_basic_string_null_pointer_exception(__FILE__, __LINE__, __func__);
 
  622      if constexpr (std::is_same_v<xtd::char16, char_t>) chars_ = std::basic_string<xtd::char16>(str, count);
 
  623      else chars_ = __xtd_convert_to_string<value_type>(std::basic_string<xtd::char16>(str, count));
 
  628      if (str == 
null) __throw_basic_string_null_pointer_exception(__FILE__, __LINE__, __func__);
 
  629      if constexpr (std::is_same_v<xtd::char32, char_t>) chars_ = std::basic_string<xtd::char32>(str, count);
 
  630      else chars_ = __xtd_convert_to_string<value_type>(std::basic_string<xtd::char32>(str, count));
 
  632#if defined(__xtd__cpp_lib_char8_t) 
  636      if (str == 
null) __throw_basic_string_null_pointer_exception(__FILE__, __LINE__, __func__);
 
  637      if constexpr (std::is_same_v<xtd::char8, char_t>) chars_ = std::basic_string<xtd::char8>(str, count);
 
  638      else chars_ = __xtd_convert_to_string<value_type>(std::basic_string<xtd::char8>(str, count));
 
  644      if (str == 
null) __throw_basic_string_null_pointer_exception(__FILE__, __LINE__, __func__);
 
  645      if constexpr (std::is_same_v<xtd::wchar, char_t>) chars_ = std::basic_string<xtd::wchar>(str, count);
 
  646      else chars_ = __xtd_convert_to_string<value_type>(std::basic_string<xtd::wchar>(str, count));
 
  654      if (str == 
null) __throw_basic_string_null_pointer_exception(__FILE__, __LINE__, __func__);
 
  655      if constexpr (std::is_same_v<char, char_t>) chars_ = std::basic_string<char>(str, count, allocator);
 
  656      else chars_ = __xtd_convert_to_string<value_type>(std::basic_string<char>(str, count), allocator);
 
  663      if (str == 
null) __throw_basic_string_null_pointer_exception(__FILE__, __LINE__, __func__);
 
  664      if constexpr (std::is_same_v<xtd::char16, char_t>) chars_ = std::basic_string<xtd::char16>(str, count, allocator);
 
  665      else chars_ = __xtd_convert_to_string<value_type>(std::basic_string<xtd::char16>(str, count), allocator);
 
  672      if (str == 
null) __throw_basic_string_null_pointer_exception(__FILE__, __LINE__, __func__);
 
  673      if constexpr (std::is_same_v<xtd::char32, char_t>) chars_ = std::basic_string<xtd::char32>(str, count, allocator);
 
  674      else chars_ = __xtd_convert_to_string<value_type>(std::basic_string<xtd::char32>(str, count), allocator);
 
  676#if defined(__xtd__cpp_lib_char8_t) 
  682      if (str == 
null) __throw_basic_string_null_pointer_exception(__FILE__, __LINE__, __func__);
 
  683      if constexpr (std::is_same_v<xtd::char8, char_t>) chars_ = std::basic_string<xtd::char8>(str, count, allocator);
 
  684      else chars_ = __xtd_convert_to_string<value_type>(std::basic_string<xtd::char8>(str, count), allocator);
 
  692      if (str == 
null) __throw_basic_string_null_pointer_exception(__FILE__, __LINE__, __func__);
 
  693      if constexpr (std::is_same_v<xtd::wchar, char_t>) chars_ = std::basic_string<xtd::wchar>(str, count, allocator);
 
  694      else chars_ = __xtd_convert_to_string<value_type>(std::basic_string<xtd::wchar>(str, count), allocator);
 
  700      if constexpr (std::is_same_v<char, char_t>) chars_ = str;
 
  701      else chars_ = __xtd_convert_to_string<value_type>(str);
 
  706      if constexpr (std::is_same_v<xtd::char16, char_t>) chars_ = str;
 
  707      else chars_ = __xtd_convert_to_string<value_type>(str);
 
  712      if constexpr (std::is_same_v<xtd::char32, char_t>) chars_ = str;
 
  713      else chars_ = __xtd_convert_to_string<value_type>(str);
 
  715#if defined(__xtd__cpp_lib_char8_t) 
  719      if constexpr (std::is_same_v<xtd::char8, char_t>) chars_ = str;
 
  720      else chars_ = __xtd_convert_to_string<value_type>(str);
 
  726      if constexpr (std::is_same_v<xtd::wchar, char_t>) chars_ = str;
 
  727      else chars_ = __xtd_convert_to_string<value_type>(str);
 
  734      if constexpr (std::is_same_v<char, char_t>) chars_ = 
base_type(str, allocator);
 
  735      else chars_ = 
base_type(__xtd_convert_to_string<value_type>(str), allocator);
 
  741      if constexpr (std::is_same_v<xtd::char16, char_t>) chars_ = 
base_type(str, allocator);
 
  742      else chars_ = 
base_type(__xtd_convert_to_string<value_type>(str), allocator);
 
  748      if constexpr (std::is_same_v<xtd::char32, char_t>) chars_ = 
base_type(str, allocator);
 
  749      else chars_ = 
base_type(__xtd_convert_to_string<value_type>(str), allocator);
 
  751#if defined(__xtd__cpp_lib_char8_t) 
  756      if constexpr (std::is_same_v<xtd::char8, char_t>) chars_ = 
base_type(str, allocator);
 
  757      else chars_ = 
base_type(__xtd_convert_to_string<value_type>(str), allocator);
 
  764      if constexpr (std::is_same_v<xtd::wchar, char_t>) chars_ = 
base_type(str, allocator);
 
  765      else chars_ = 
base_type(__xtd_convert_to_string<value_type>(str), allocator);
 
  771    template<
typename input_iterator_t>
 
  772    basic_string(input_iterator_t first, input_iterator_t last) : chars_(first, last) {}
 
  777    template<
typename input_iterator_t>
 
  783    template<
typename string_view_like_t>
 
  784    explicit constexpr basic_string(
const string_view_like_t& string_view) : chars_(string_view) {}
 
  788    template<
typename string_view_like_t>
 
  795    template<
typename string_view_like_t>
 
  802    template<
typename string_view_like_t>
 
  814#if defined(__xtd__cpp_lib_char8_t) 
  835#if defined(__xtd__cpp_lib_char8_t) 
  904    bool empty() const noexcept {
return chars_.empty();}
 
 1110      if (!
dynamic_cast<const basic_string*
>(&value)) __throw_basic_string_argument_exception(__FILE__, __LINE__, __func__);
 
 1147      if (ignore_case) 
return to_upper().chars_ == value.to_upper().chars_;
 
 1148      return chars_ == value.chars_;
 
 1178      return rfind(value) + value.size() == 
size();
 
 1415        explicit basic_string_enumerator(
const basic_string& chars) : chars_(chars) {}
 
 1417        const value_type& current()
 const override {
return chars_[index_];}
 
 1419        bool move_next()
 override {
return ++index_ < chars_.size();}
 
 1421        void reset()
 override {index_ = basic_string::npos;}
 
 1427      return {new_ptr<basic_string_enumerator>(*
this)};
 
 1446      if (start_index > 
size() || start_index + count > 
size()) __throw_basic_string_index_out_of_range_exception(__FILE__, __LINE__, __func__);
 
 1447      auto result = 
find(value, start_index);
 
 1448      return result > start_index + count ? 
npos : result;
 
 1466      if (start_index > 
size() || start_index + count > 
size()) __throw_basic_string_index_out_of_range_exception(__FILE__, __LINE__, __func__);
 
 1467      auto result = 
find(value, start_index);
 
 1468      return result > start_index + count ? 
npos : result;
 
 1501      if (start_index > 
size()) __throw_basic_string_index_out_of_range_exception(__FILE__, __LINE__, __func__);
 
 1502      auto result = *
this;
 
 1503      result.chars_.insert(start_index, value);
 
 1510    [[deprecated(
"Replaced by xtd::basic_string::is_empty(const xtd::basic_string&) - Will be removed in version 0.4.0.")]]
 
 1530      if (start_index > 
size() || start_index + count > 
size()) __throw_basic_string_index_out_of_range_exception(__FILE__, __LINE__, __func__);
 
 1531      auto result = 
rfind(value, start_index + count - value.
size());
 
 1532      return result < start_index ? 
npos : result;
 
 1552      if (start_index > 
size() || start_index + count > 
size()) __throw_basic_string_index_out_of_range_exception(__FILE__, __LINE__, __func__);
 
 1553      auto result = 
rfind(value, start_index + count - 1);
 
 1554      return result < start_index ? 
npos : result;
 
 1622      std::wstringstream ss;
 
 1623      if constexpr (std::is_same_v<xtd::wchar, value_type>) ss << std::quoted(chars_, delimiter, 
escape);
 
 1624      else ss << std::quoted(__xtd_convert_to_string<xtd::wchar>(chars_), 
static_cast<xtd::wchar>(delimiter), 
static_cast<xtd::wchar>(
escape));
 
 1637      if (start_index > 
size() || start_index + count > 
size()) __throw_basic_string_index_out_of_range_exception(__FILE__, __LINE__, __func__);
 
 1638      auto result = *
this;
 
 1639      result.chars_.erase(start_index, count);
 
 1654      auto result = *
this;
 
 1655      auto old_size = old_string.
size();
 
 1656      auto new_size = new_string.size();
 
 1659        index = result.find(old_string, index);
 
 1660        if (index == 
npos) 
break;
 
 1661        if (old_size == new_size) result.chars_.replace(index, old_size, new_string);
 
 1663          result.chars_.erase(index, old_string.size());
 
 1664          result.chars_.insert(index, new_string);
 
 1666        index += new_string.size();
 
 1820      return find(value) == 0;
 
 1839      return find(value) == 0;
 
 1853      if (pos > 
size()) __throw_basic_string_argument_out_of_range_exception(__FILE__, __LINE__, __func__);
 
 1854      return chars_.substr(pos);
 
 1863      if (pos > 
size() || pos + count > 
size()) __throw_basic_string_argument_out_of_range_exception(__FILE__, __LINE__, __func__);
 
 1864      return chars_.substr(pos, count);
 
 1873      if (start_index > 
size()) __throw_basic_string_argument_out_of_range_exception(__FILE__, __LINE__, __func__);
 
 1874      return substr(start_index);
 
 1882      if (start_index > 
size() || start_index + 
length > 
size()) __throw_basic_string_argument_out_of_range_exception(__FILE__, __LINE__, __func__);
 
 1912      std::for_each(chars_.begin(), chars_.end(), [&](
auto c) {result += static_cast<value_type>(std::tolower(c));});
 
 1920      if constexpr (std::is_same_v<char, char_t>) 
return chars_;
 
 1921      else return __xtd_convert_to_string<char>(chars_);
 
 1931      if constexpr (std::is_same_v<xtd::char16, char_t>) 
return chars_;
 
 1932      else return __xtd_convert_to_string<xtd::char16>(chars_);
 
 1938      if constexpr (std::is_same_v<xtd::char32, char_t>) 
return chars_;
 
 1939      else return __xtd_convert_to_string<xtd::char32>(chars_);
 
 1942#if defined(__xtd__cpp_lib_char8_t) 
 1946      if constexpr (std::is_same_v<xtd::char8, char_t>) 
return chars_;
 
 1947      else return __xtd_convert_to_string<xtd::char8>(chars_);
 
 1955      std::for_each(chars_.begin(), chars_.end(), [&](
auto c) {result += static_cast<value_type>(std::toupper(c));});
 
 1962      if constexpr (std::is_same_v<xtd::wchar, char_t>) 
return chars_;
 
 1963      else return __xtd_convert_to_string<xtd::wchar>(chars_);
 
 2022    template<
typename object_t>
 
 2023    [[deprecated(
"Replaced by typeof_<object_t>().name() - Will be removed in version 0.4.0.")]]
 
 2029    template<
typename object_t>
 
 2030    [[deprecated(
"Replaced by typeof_(object).name() - Will be removed in version 0.4.0.")]]
 
 2036    [[deprecated(
"Replaced by typeof_(info).name() - Will be removed in version 0.4.0.")]]
 
 2097    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) {
return compare(str_a, index_a, str_b, index_b, 
length, ignore_case ? 
xtd::string_comparison::ordinal_ignore_case : 
xtd::string_comparison::ordinal);}
 
 2126    template<
typename object_a_t, 
typename object_b_t, 
typename object_c_t, 
typename object_d_t>
 
 2127    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 {
return format(
"{}{}{}{}", obj_a, obj_b, obj_c, obj_d);}
 
 2139    template<
typename object_a_t, 
typename object_b_t, 
typename object_c_t>
 
 2140    static basic_string concat(object_a_t obj_a, object_b_t obj_b, object_c_t obj_c) 
noexcept {
return format(
"{}{}{}", obj_a, obj_b, obj_c);}
 
 2150    template<
typename object_a_t, 
typename object_b_t>
 
 2158    template<
typename other_
char_t>
 
 2160    static basic_string concat(
const std::initializer_list<basic_string>& values) 
noexcept {
 
 2162      std::for_each(values.begin(), values.end(), [&](
const auto & item) {result += item;});
 
 2165    static basic_string concat(
const std::initializer_list<const_pointer>& values) 
noexcept {
 
 2167      std::for_each(values.begin(), values.end(), [&](
const auto & item) {result += item;});
 
 2170    template<
typename other_
char_t>
 
 2171    static basic_string concat(
const std::initializer_list<const other_char_t*>& values) 
noexcept {
 
 2173      std::for_each(values.begin(), values.end(), [&](
const auto & item) {result += item;});
 
 2180    template<
typename object_t>
 
 2183    template<
typename object_t>
 
 2186      for (
const auto& arg : args)
 
 2187        result += 
format(
"{}", arg);
 
 2194    template<
typename value_t>
 
 2196      return format(
"{}", value);
 
 2220      if constexpr (std::is_same_v<char, char_t>) 
return __xtd_demangle(name.
chars());
 
 2221      else return __xtd_demangle(__xtd_convert_to_string<char>(name.
chars()));
 
 2235    template<
typename char_a_t, 
typename char_b_t>
 
 2251    template<
typename char_a_t, 
typename char_b_t>
 
 2260    template<
typename ...args_t>
 
 2267    template<
typename object_t>
 
 2268    [[deprecated(
"Replaced by typeof_<object_t>().full_name() - Will be removed in version 0.4.0.")]]
 
 2274    template<
typename object_t>
 
 2275    [[deprecated(
"Replaced by typeof_(object).full_name() - Will be removed in version 0.4.0.")]]
 
 2281    [[deprecated(
"Replaced by typeof_(info).full_name() - Will be removed in version 0.4.0.")]]
 
 2295    template<
typename collection_t>
 
 2304    template<
typename collection_t>
 
 2314    template<
typename collection_t>
 
 2316      if (index > values.size() || index + count > values.size()) __throw_basic_string_argument_out_of_range_exception(__FILE__, __LINE__, __func__);
 
 2319      for (
const auto& item : values) {
 
 2322          result += 
format(
"{}", item);
 
 2324        if (++
i >= index + count) 
break;
 
 2329    template<
typename value_t>
 
 2331    template<
typename value_t>
 
 2333    template<
typename value_t>
 
 2340    template<
typename value_t>
 
 2342      if constexpr (std::is_same_v<char, char_t>) 
return xtd::parse<value_t>(str.
chars());
 
 2343      else return xtd::parse<value_t>(__xtd_convert_to_string<char>(str.
chars()));
 
 2405    template<
typename ... args_t>
 
 2412    template<
typename value_t>
 
 2415        value = parse<value_t>(str);
 
 2431      if (index >= 
length()) __throw_basic_string_index_out_of_range_exception(__FILE__, __LINE__, __func__);
 
 2432      return chars_[index];
 
 2443      if constexpr(std::is_same<char_t, char>::value) chars_ = str.chars_;
 
 2444      else chars_ = __xtd_convert_to_string<value_type>(str.chars());
 
 2451      if constexpr(std::is_same<char_t, xtd::char16>::value) chars_ = str.chars_;
 
 2452      else chars_ = __xtd_convert_to_string<value_type>(str.chars());
 
 2459      if constexpr(std::is_same<char_t, xtd::char32>::value) chars_ = str.chars_;
 
 2460      else chars_ = __xtd_convert_to_string<value_type>(str.chars());
 
 2463#if defined(__xtd__cpp_lib_char8_t) 
 2468      if constexpr(std::is_same<char_t, xtd::char8>::value) chars_ = str.chars_;
 
 2469      else chars_ = __xtd_convert_to_string<value_type>(str.chars());
 
 2477      if constexpr(std::is_same<char_t, xtd::wchar>::value) chars_ = str.chars_;
 
 2478      else chars_ = __xtd_convert_to_string<value_type>(str.chars());
 
 2486      if constexpr(std::is_same<char_t, char>::value) chars_ = std::move(str.chars_);
 
 2487      else chars_ = std::move(__xtd_convert_to_string<value_type>(std::move(str.chars_)));
 
 2494      if constexpr(std::is_same<char_t, xtd::char16>::value) chars_ = std::move(str.chars_);
 
 2495      else chars_ = std::move(__xtd_convert_to_string<value_type>(std::move(str.chars_)));
 
 2502      if constexpr(std::is_same<char_t, xtd::char32>::value) chars_ = std::move(str.chars_);
 
 2503      else chars_ = std::move(__xtd_convert_to_string<value_type>(std::move(str.chars_)));
 
 2506#if defined(__xtd__cpp_lib_char8_t) 
 2511      if constexpr(std::is_same<char_t, xtd::char8>::value) chars_ = std::move(str.chars_);
 
 2512      else chars_ = std::move(__xtd_convert_to_string<value_type>(std::move(str.chars_)));
 
 2520      if constexpr(std::is_same<char_t, xtd::wchar>::value) chars_ = std::move(str.chars_);
 
 2521      else chars_ = std::move(__xtd_convert_to_string<value_type>(std::move(str.chars_)));
 
 2529      if constexpr(std::is_same<char_t, char>::value) chars_ = str;
 
 2530      else chars_ = __xtd_convert_to_string<value_type>(str);
 
 2537      if constexpr(std::is_same<char_t, xtd::char16>::value) chars_ = str;
 
 2538      else chars_ = __xtd_convert_to_string<value_type>(str);
 
 2545      if constexpr(std::is_same<char_t, xtd::char32>::value) chars_ = str;
 
 2546      else chars_ = __xtd_convert_to_string<value_type>(str);
 
 2549#if defined(__xtd__cpp_lib_char8_t) 
 2554      if constexpr(std::is_same<char_t, xtd::char8>::value) chars_ = str;
 
 2555      else chars_ = __xtd_convert_to_string<value_type>(str);
 
 2563      if constexpr(std::is_same<char_t, xtd::wchar>::value) chars_ = str;
 
 2564      else chars_ = __xtd_convert_to_string<value_type>(str);
 
 2572      if constexpr(std::is_same<char_t, char>::value) chars_ = std::move(str);
 
 2573      else chars_ = std::move(__xtd_convert_to_string<value_type>(std::move(str)));
 
 2580      if constexpr(std::is_same<char_t, xtd::char16>::value) chars_ = std::move(str);
 
 2581      else chars_ = std::move(__xtd_convert_to_string<value_type>(std::move(str)));
 
 2588      if constexpr(std::is_same<char_t, xtd::char32>::value) chars_ = std::move(str);
 
 2589      else chars_ = std::move(__xtd_convert_to_string<value_type>(std::move(str)));
 
 2592#if defined(__xtd__cpp_lib_char8_t) 
 2597      if constexpr(std::is_same<char_t, xtd::char8>::value) chars_ = std::move(str);
 
 2598      else chars_ = std::move(__xtd_convert_to_string<value_type>(std::move(str)));
 
 2606      if constexpr(std::is_same<char_t, xtd::wchar>::value) chars_ = std::move(str);
 
 2607      else chars_ = std::move(__xtd_convert_to_string<value_type>(std::move(str)));
 
 2616      if (str == 
null) __throw_basic_string_null_pointer_exception(__FILE__, __LINE__, __func__);
 
 2617      if constexpr (std::is_same_v<char, char_t>) chars_ = std::basic_string<char>(str);
 
 2618      else chars_ = __xtd_convert_to_string<value_type>(std::basic_string<char>(str));
 
 2626      if (str == 
null) __throw_basic_string_null_pointer_exception(__FILE__, __LINE__, __func__);
 
 2627      if constexpr (std::is_same_v<xtd::char16, char_t>) chars_ = std::basic_string<xtd::char16>(str);
 
 2628      else chars_ = __xtd_convert_to_string<value_type>(std::basic_string<xtd::char16>(str));
 
 2636      if (str == 
null) __throw_basic_string_null_pointer_exception(__FILE__, __LINE__, __func__);
 
 2637      if constexpr (std::is_same_v<xtd::char32, char_t>) chars_ = std::basic_string<xtd::char32>(str);
 
 2638      else chars_ = __xtd_convert_to_string<value_type>(std::basic_string<xtd::char32>(str));
 
 2641#if defined(__xtd__cpp_lib_char8_t) 
 2647      if (str == 
null) __throw_basic_string_null_pointer_exception(__FILE__, __LINE__, __func__);
 
 2648      if constexpr (std::is_same_v<xtd::char8, char_t>) chars_ = std::basic_string<xtd::char8>(str);
 
 2649      else chars_ = __xtd_convert_to_string<value_type>(std::basic_string<xtd::char8>(str));
 
 2658      if (str == 
null) __throw_basic_string_null_pointer_exception(__FILE__, __LINE__, __func__);
 
 2659      if constexpr (std::is_same_v<xtd::wchar, char_t>) chars_ = std::basic_string<xtd::wchar>(str);
 
 2660      else chars_ = __xtd_convert_to_string<value_type>(std::basic_string<xtd::wchar>(str));
 
 2685#if defined(__xtd__cpp_lib_char8_t) 
 2723#if defined(__xtd__cpp_lib_char8_t) 
 2744      if constexpr (std::is_same_v<char, char_t>) chars_ += str.chars_;
 
 2745      else chars_ += __xtd_convert_to_string<value_type>(str.chars_);
 
 2752      if constexpr (std::is_same_v<xtd::char16, char_t>) chars_ += str.chars_;
 
 2753      else chars_ += __xtd_convert_to_string<value_type>(str.chars_);
 
 2760      if constexpr (std::is_same_v<xtd::char32, char_t>) chars_ += str.chars_;
 
 2761      else chars_ += __xtd_convert_to_string<value_type>(str.chars_);
 
 2764#if defined(__xtd__cpp_lib_char8_t) 
 2769      if constexpr (std::is_same_v<xtd::char8, char_t>) chars_ += str.chars_;
 
 2770      else chars_ += __xtd_convert_to_string<value_type>(str.chars_);
 
 2778      if constexpr (std::is_same_v<xtd::wchar, char_t>) chars_ += str.chars_;
 
 2779      else chars_ += __xtd_convert_to_string<value_type>(str.chars_);
 
 2787      if constexpr (std::is_same_v<char, char_t>) chars_ += std::move(str.chars_);
 
 2788      else chars_ += __xtd_convert_to_string<value_type>(std::move(str.chars_));
 
 2795      if constexpr (std::is_same_v<xtd::char16, char_t>) chars_ += std::move(str.chars_);
 
 2796      else chars_ += __xtd_convert_to_string<value_type>(std::move(str.chars_));
 
 2803      if constexpr (std::is_same_v<xtd::char32, char_t>) chars_ += std::move(str.chars_);
 
 2804      else chars_ += __xtd_convert_to_string<value_type>(std::move(str.chars_));
 
 2807#if defined(__xtd__cpp_lib_char8_t) 
 2812      if constexpr (std::is_same_v<xtd::char8, char_t>) chars_ += std::move(str.chars_);
 
 2813      else chars_ += __xtd_convert_to_string<value_type>(std::move(str.chars_));
 
 2821      if constexpr (std::is_same_v<xtd::wchar, char_t>) chars_ += std::move(str.chars_);
 
 2822      else chars_ += __xtd_convert_to_string<value_type>(std::move(str.chars_));
 
 2830      if constexpr (std::is_same_v<char, char_t>) chars_ += str;
 
 2831      else chars_ += __xtd_convert_to_string<value_type>(str);
 
 2838      if constexpr (std::is_same_v<xtd::char16, char_t>) chars_ += str;
 
 2839      else chars_ += __xtd_convert_to_string<value_type>(str);
 
 2846      if constexpr (std::is_same_v<xtd::char32, char_t>) chars_ += str;
 
 2847      else chars_ += __xtd_convert_to_string<value_type>(str);
 
 2850#if defined(__xtd__cpp_lib_char8_t) 
 2855      if constexpr (std::is_same_v<xtd::char8, char_t>) chars_ += str;
 
 2856      else chars_ += __xtd_convert_to_string<value_type>(str);
 
 2864      if constexpr (std::is_same_v<xtd::wchar, char_t>) chars_ += str;
 
 2865      else chars_ += __xtd_convert_to_string<value_type>(str);
 
 2889#if defined(__xtd__cpp_lib_char8_t) 
 2926#if defined(__xtd__cpp_lib_char8_t) 
 2970#if defined(__xtd__cpp_lib_char8_t) 
 2996      auto result = std::move(lhs);
 
 2997      result += std::move(rhs);
 
 3005      auto result = std::move(lhs);
 
 3006      result += std::move(rhs);
 
 3014      auto result = std::move(lhs);
 
 3015      result += std::move(rhs);
 
 3018#if defined(__xtd__cpp_lib_char8_t) 
 3024      auto result = std::move(lhs);
 
 3025      result += std::move(rhs);
 
 3034      auto result = std::move(lhs);
 
 3035      result += std::move(rhs);
 
 3044      auto result = std::move(lhs);
 
 3053      auto result = std::move(lhs);
 
 3062      auto result = std::move(lhs);
 
 3066#if defined(__xtd__cpp_lib_char8_t) 
 3072      auto result = std::move(lhs);
 
 3082      auto result = std::move(lhs);
 
 3093      result += std::move(rhs);
 
 3102      result += std::move(rhs);
 
 3111      result += std::move(rhs);
 
 3114#if defined(__xtd__cpp_lib_char8_t) 
 3121      result += std::move(rhs);
 
 3131      result += std::move(rhs);
 
 3162#if defined(__xtd__cpp_lib_char8_t) 
 3189      if constexpr (std::is_same_v<char, char_t>) result += rhs.
chars();
 
 3190      else result += __xtd_convert_to_string<char>(rhs.
chars());
 
 3199      if constexpr (std::is_same_v<xtd::char16, char_t>) result += rhs.
chars();
 
 3200      else result += __xtd_convert_to_string<xtd::char16>(rhs.
chars());
 
 3209      if constexpr (std::is_same_v<xtd::char32, char_t>) result += rhs.
chars();
 
 3210      else result += __xtd_convert_to_string<xtd::char32>(rhs.
chars());
 
 3213#if defined(__xtd__cpp_lib_char8_t) 
 3220      if constexpr (std::is_same_v<xtd::char8, char_t>) result += rhs.
chars();
 
 3221      else result += __xtd_convert_to_string<xtd::char8>(rhs.
chars());
 
 3231      if constexpr (std::is_same_v<xtd::wchar, char_t>) result += rhs.
chars();
 
 3232      else result += __xtd_convert_to_string<xtd::wchar>(rhs.
chars());
 
 3263#if defined(__xtd__cpp_lib_char8_t) 
 3289      auto result = std::move(lhs);
 
 3298      auto result = std::move(lhs);
 
 3307      auto result = std::move(lhs);
 
 3311#if defined(__xtd__cpp_lib_char8_t) 
 3317      auto result = std::move(lhs);
 
 3327      auto result = std::move(lhs);
 
 3359#if defined(__xtd__cpp_lib_char8_t) 
 3386      result += std::move(rhs);
 
 3395      result += std::move(rhs);
 
 3404      result += std::move(rhs);
 
 3408#if defined(__xtd__cpp_lib_char8_t) 
 3415      result += std::move(rhs);
 
 3425      result += std::move(rhs);
 
 3456#if defined(__xtd__cpp_lib_char8_t) 
 3482      auto result = std::move(lhs);
 
 3491      auto result = std::move(lhs);
 
 3500      auto result = std::move(lhs);
 
 3504#if defined(__xtd__cpp_lib_char8_t) 
 3510      auto result = std::move(lhs);
 
 3520      auto result = std::move(lhs);
 
 3552#if defined(__xtd__cpp_lib_char8_t) 
 3579      result += std::move(rhs);
 
 3588      result += std::move(rhs);
 
 3597      result += std::move(rhs);
 
 3600#if defined(__xtd__cpp_lib_char8_t) 
 3607      result += std::move(rhs);
 
 3617      result += std::move(rhs);
 
 3631      if constexpr (std::is_same_v<char, char_t>) 
return stream << str.
chars();
 
 3632      else return stream << __xtd_convert_to_string<char>(str.
chars());
 
 3651      auto s = std::basic_string<char> {};
 
 3665      auto s = std::basic_string<xtd::wchar> {};
 
 3676#if defined(__xtd__cpp_lib_char8_t) 
 3681    static const 
xtd::array<value_type> default_split_separators;
 
 3682    static const 
xtd::array<value_type> default_trim_chars;
 
 3684    template<typename arg_t>
 
 3685    static auto convert_param(arg_t&& arg) noexcept {
 
 3686      if constexpr(std::is_same<std::remove_cv_t<std::remove_reference_t<arg_t>>, std::string>::value) 
return std::forward<arg_t>(arg).c_str();
 
 3687      else if constexpr(std::is_same<std::remove_cv_t<std::remove_reference_t<arg_t>>, std::u16string>::value) 
return std::forward<arg_t>(arg).c_str();
 
 3688      else if constexpr(std::is_same<std::remove_cv_t<std::remove_reference_t<arg_t>>, std::u32string>::value) 
return std::forward<arg_t>(arg).c_str();
 
 3689#if defined(__xtd__cpp_lib_char8_t) 
 3690      else if constexpr(std::is_same<std::remove_cv_t<std::remove_reference_t<arg_t>>, std::u8string>::value) 
return std::forward<arg_t>(arg).c_str();
 
 3692      else if constexpr(std::is_same<std::remove_cv_t<std::remove_reference_t<arg_t>>, std::wstring>::value) 
return std::forward<arg_t>(arg).c_str();
 
 3693      else if constexpr(std::is_same<std::remove_cv_t<std::remove_reference_t<arg_t>>, 
basic_string>::value) 
return std::forward<arg_t>(arg).c_str();
 
 3694      else return std::forward<arg_t>(arg);
 
 3698      auto length = full_name.last_index_of(
"<");
 
 3700      if (full_name.last_index_of(
"::", 0, 
length) == 
npos) 
return full_name;
 
 3701      return full_name.substring(full_name.last_index_of(
"::", 0, 
length) + 2);
 
 3704    typename base_type::iterator to_base_type_iterator(
iterator value) 
const noexcept {
 
 3705      if (value == 
begin()) 
return chars_.begin();
 
 3706      if (value == 
end()) 
return chars_.end();
 
 3707      return chars_.begin() + (value - 
begin());
 
 3710    iterator to_iterator(
typename base_type::iterator value) 
const noexcept {
 
 3711      if (value == chars_.begin()) 
return begin();
 
 3712      if (value == chars_.end()) 
return end();
 
 3713      return begin() + (value - chars_.begin());
 
 3720#define __XTD_BASIC_STRING_INTERNAL__ 
 3722#undef __XTD_BASIC_STRING_INTERNAL__ 
Contains array definitions.
 
Contains __format method.
 
Contains string definitions.
 
Contains __xtd_std_version definitions.
 
Contains xtd::basic_string class.
 
Provides methods for creating, manipulating, searching, and sorting arrays, thereby serving as the ba...
Definition array.hpp:58
 
Represents text as a sequence of character units.
Definition basic_string.hpp:79
 
basic_string(const basic_string< xtd::char32 > &str) noexcept
Initializes a new instance of xtd::basic_string with specified string to copy.
Definition basic_string.hpp:154
 
basic_string trim(value_type trim_char) const noexcept
Removes all leading and trailing occurrences of a character specified from the specified xtd::basic_s...
 
basic_string(const xtd::char8 *str, xtd::size count)
Initializes a new instance of xtd::basic_string with specified substring and count characters.
Definition basic_string.hpp:635
 
basic_string(const basic_string< xtd::char32 > &str, xtd::size index, xtd::size count)
Initializes a new instance of xtd::basic_string with specified substring at index and count character...
Definition basic_string.hpp:337
 
std::basic_string< char_t, traits_t, allocator_t > base_type
Represents the basic string base type.
Definition basic_string.hpp:86
 
static basic_string concat(object_a_t obj_a, object_b_t obj_b) noexcept
Concatenates two specified instances of object.
Definition basic_string.hpp:2151
 
xtd::size index_of(value_type value) const noexcept
Reports the index of the first occurrence of the specified character in this basic_string.
Definition basic_string.hpp:1453
 
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 in...
Definition basic_string.hpp:2070
 
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 to_lower() const noexcept
Returns a copy of the current xtd::basic_string converted to lowercase.
Definition basic_string.hpp:1910
 
static value_t parse(const basic_string &str)
Converts a basic_string into a value_t type.
Definition basic_string.hpp:2341
 
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 tot...
Definition basic_string.hpp:1583
 
basic_string(const basic_string< char > &str, xtd::size index)
Initializes a new instance of xtd::basic_string with specified substring at index.
Definition basic_string.hpp:215
 
static const basic_string empty_string
Represents the empty basic_string.
Definition basic_string.hpp:124
 
basic_string(xtd::size count, xtd::char16 character, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified count copies of character and specifie...
Definition basic_string.hpp:450
 
basic_string(const basic_string< xtd::char8 > &str, xtd::size index)
Initializes a new instance of xtd::basic_string with specified substring at index.
Definition basic_string.hpp:243
 
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 usin...
Definition basic_string.hpp:1176
 
static basic_string class_name(const object_t &object)
Gets the class name of the specified object.
Definition basic_string.hpp:2031
 
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....
Definition basic_string.hpp:1374
 
basic_string(const xtd::char32 *str, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified string to copy, and allocator.
Definition basic_string.hpp:587
 
constexpr basic_string(const string_view_like_t &string_view)
Initializes a new instance of xtd::basic_string with specified string view of substring and allocator...
Definition basic_string.hpp:784
 
allocator_type get_allocator() const
Returns the allocator associated with the string.
Definition basic_string.hpp:1402
 
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....
Definition basic_string.hpp:1465
 
basic_string(xtd::char16 character, xtd::size count, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified count copies of character and specifie...
Definition basic_string.hpp:499
 
basic_string(const xtd::char16 *str, xtd::size count, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified substring, count characters and alloca...
Definition basic_string.hpp:662
 
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....
Definition basic_string.hpp:1458
 
basic_string trim() const noexcept
Removes all leading and trailing occurrences of white-space characters from the specified xtd::basic_...
Definition basic_string.hpp:1970
 
xtd::array< basic_string > split() const noexcept
Splits this basic_string into substrings that are based on the default white-space characters....
 
const_reverse_iterator rbegin() const
Returns a reverse iterator to the first character of the string.
Definition basic_string.hpp:926
 
basic_string(xtd::size count, xtd::char8 character)
Initializes a new instance of xtd::basic_string with specified count copies of character.
Definition basic_string.hpp:464
 
basic_string(std::initializer_list< xtd::char16 > il, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified initializer list and allocator.
Definition basic_string.hpp:830
 
basic_string(const xtd::char8 *str, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified string to copy, and allocator.
Definition basic_string.hpp:596
 
basic_string(const xtd::char32 *str)
Initializes a new instance of xtd::basic_string with specified string to copy.
Definition basic_string.hpp:546
 
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....
Definition basic_string.hpp:1228
 
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 c...
 
typename base_type::allocator_type allocator_type
Represents the basic string allocator type.
Definition basic_string.hpp:92
 
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 ...
Definition basic_string.hpp:1881
 
basic_string(char character, xtd::size count)
Initializes a new instance of xtd::basic_string with specified count copies of character.
Definition basic_string.hpp:485
 
basic_string(const xtd::char16 *str, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified string to copy, and allocator.
Definition basic_string.hpp:579
 
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....
Definition basic_string.hpp:1354
 
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...
Definition basic_string.hpp:1159
 
basic_string(std::initializer_list< char > il, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified initializer list and allocator.
Definition basic_string.hpp:826
 
basic_string(const char *str, xtd::size count)
Initializes a new instance of xtd::basic_string with specified substring and count characters.
Definition basic_string.hpp:613
 
enumerator_type get_enumerator() const noexcept override
Returns an enumerator that iterates through a collection.
Definition basic_string.hpp:1412
 
static basic_string demangle(const basic_string &name)
Gets demangled basic_string of name,.
Definition basic_string.hpp:2219
 
basic_string(xtd::wchar character, xtd::size count)
Initializes a new instance of xtd::basic_string with specified count copies of character.
Definition basic_string.hpp:523
 
basic_string(input_iterator_t first, input_iterator_t last, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified first and last iterators of substring ...
Definition basic_string.hpp:778
 
basic_string(xtd::size count, xtd::char8 character, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified count copies of character and specifie...
Definition basic_string.hpp:469
 
int32 compare(size_type pos1, size_type count1, const basic_string &str) const
Compares two character sequences.
Definition basic_string.hpp:985
 
typename xtd::collections::generic::enumerator< value_type > enumerator_type
Represents the basic string enumerator type.
Definition basic_string.hpp:116
 
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 ...
Definition basic_string.hpp:1688
 
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....
Definition basic_string.hpp:1398
 
size_type rfind(const_pointer s) const
Finds the last substring that is equal to the given character sequence. The search begins at xtd::bas...
Definition basic_string.hpp:1694
 
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::bas...
Definition basic_string.hpp:1674
 
basic_string(const basic_string< xtd::char8 > &str) noexcept
Initializes a new instance of xtd::basic_string with specified string to copy.
Definition basic_string.hpp:161
 
basic_string(xtd::wchar character, xtd::size count, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified count copies of character and specifie...
Definition basic_string.hpp:528
 
basic_string(const basic_string< xtd::char8 > &str, xtd::size index, xtd::size count)
Initializes a new instance of xtd::basic_string with specified substring at index and count character...
Definition basic_string.hpp:348
 
basic_string(const allocator_type &allocator) noexcept
Initializes a new instance of xtd::basic_string with specified allocator.
 
static bool try_parse(const basic_string &str, value_t &value) noexcept
Try to convert a basic_string into a value_t type.
Definition basic_string.hpp:2413
 
basic_string(input_iterator_t first, input_iterator_t last)
Initializes a new instance of xtd::basic_string with specified first and last iterators of substring.
Definition basic_string.hpp:772
 
virtual const base_type & get_base_type() const noexcept
Returns the underlying base type.
Definition basic_string.hpp:1406
 
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....
Definition basic_string.hpp:1299
 
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....
Definition basic_string.hpp:1522
 
size_type find_last_of(const_pointer s) const
Finds the last character equal to one of characters in the given character sequence....
Definition basic_string.hpp:1336
 
basic_string(const basic_string< xtd::wchar > &str, const allocator_type &allocator) noexcept
Initializes a new instance of xtd::basic_string with specified string to copy and allocator.
Definition basic_string.hpp:206
 
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...
Definition basic_string.hpp:2282
 
typename base_type::const_pointer const_pointer
Represents the basic string const pointer type.
Definition basic_string.hpp:104
 
friend std::basic_istream< char > & operator>>(std::basic_istream< char > &stream, basic_string &str)
Input stream operator. Behaves as a FormattedInputFunction. After constructing and checking the sentr...
Definition basic_string.hpp:3650
 
basic_string(std::initializer_list< xtd::wchar > il)
Initializes a new instance of xtd::basic_string with specified initializer list.
Definition basic_string.hpp:821
 
int32 compare(size_type pos1, size_type count1, const_pointer s) const
Compares two character sequences.
Definition basic_string.hpp:1075
 
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....
Definition basic_string.hpp:1343
 
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....
Definition basic_string.hpp:1272
 
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.
Definition basic_string.hpp:2127
 
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...
Definition basic_string.hpp:1826
 
basic_string(xtd::char8 character, xtd::size count, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified count copies of character and specifie...
Definition basic_string.hpp:518
 
virtual bool contains(const basic_string &value) const noexcept
Returns a value indicating whether a specified substring occurs within this basic_string.
Definition basic_string.hpp:1130
 
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....
Definition basic_string.hpp:1234
 
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 ...
Definition basic_string.hpp:2244
 
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.
Definition basic_string.hpp:1500
 
basic_string(const basic_string< xtd::char16 > &str) noexcept
Initializes a new instance of xtd::basic_string with specified string to copy.
Definition basic_string.hpp:148
 
basic_string(basic_string &&str, const allocator_type &allocator) noexcept
Initializes a new instance of xtd::basic_string with specified string to move and allocator.
Definition basic_string.hpp:430
 
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....
Definition basic_string.hpp:1255
 
basic_string to_upper() const noexcept
Returns a copy of the current xtd::basic_string converted to uppercase.
Definition basic_string.hpp:1953
 
int32 compare(size_type pos1, size_type count1, const_pointer s, size_type count2) const
Compares two character sequences.
Definition basic_string.hpp:1098
 
basic_string(const std::basic_string< char > &str) noexcept
Initializes a new instance of xtd::basic_string with specified string to copy.
Definition basic_string.hpp:699
 
typename base_type::traits_type traits_type
Represents the basic string traits type.
Definition basic_string.hpp:88
 
const base_type & chars() const noexcept
Returns a reference to the underlying base type.
Definition basic_string.hpp:883
 
basic_string trim_start(value_type trim_char) const noexcept
Removes all leading occurrences of a character specified from the specified xtd::basic_string .
 
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....
Definition basic_string.hpp:1529
 
basic_string(const std::basic_string< xtd::char16 > &str, const allocator_type &allocator) noexcept
Initializes a new instance of xtd::basic_string with specified string to copy and allocator.
Definition basic_string.hpp:740
 
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,...
Definition basic_string.hpp:2315
 
basic_string substring(xtd::size start_index) const
Retrieves a substring from this instance. The substring starts at a specified character position and ...
Definition basic_string.hpp:1872
 
typename base_type::pointer pointer
Represents the basic string pointer type.
Definition basic_string.hpp:102
 
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 c...
 
basic_string(char character, xtd::size count, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified count copies of character and specifie...
Definition basic_string.hpp:490
 
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....
Definition basic_string.hpp:1304
 
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...
Definition basic_string.hpp:1862
 
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 ...
Definition basic_string.hpp:1121
 
xtd::array< value_type > to_char_array() const noexcept
Copies the characters in this instance to a Unicode character array.
 
basic_string quoted() const
Allows insertion and extraction of quoted strings, such as the ones found in CSV or XML.
Definition basic_string.hpp:1610
 
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,...
Definition basic_string.hpp:2111
 
basic_string< char > to_string() const noexcept override
Converts the value of this instance to a xtd::basic_string <char>.
Definition basic_string.hpp:1919
 
typename base_type::const_reference const_reference
Represents the basic string const referecne type.
Definition basic_string.hpp:100
 
basic_string(std::initializer_list< xtd::char32 > il)
Initializes a new instance of xtd::basic_string with specified initializer list.
Definition basic_string.hpp:813
 
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,...
Definition basic_string.hpp:2305
 
size_type find(const_pointer s) const
Finds the first substring equal to the given character sequence. Search begins at 0,...
Definition basic_string.hpp:1204
 
basic_string< xtd::wchar > to_wstring() const noexcept
Converts the value of this instance to a xtd::basic_string <xtd::wchar>.
Definition basic_string.hpp:1961
 
basic_string(const std::basic_string< xtd::char16 > &str) noexcept
Initializes a new instance of xtd::basic_string with specified string to copy.
Definition basic_string.hpp:705
 
basic_string(const xtd::wchar *str, xtd::size count)
Initializes a new instance of xtd::basic_string with specified substring and count characters.
Definition basic_string.hpp:643
 
basic_string(const basic_string< xtd::char8 > &str, const allocator_type &allocator) noexcept
Initializes a new instance of xtd::basic_string with specified string to copy and allocator.
Definition basic_string.hpp:198
 
basic_string remove(xtd::size start_index) const
Deletes all the characters from this basic_string beginning at a specified position and continuing th...
Definition basic_string.hpp:1631
 
basic_string(const basic_string< xtd::wchar > &str, xtd::size index)
Initializes a new instance of xtd::basic_string with specified substring at index.
Definition basic_string.hpp:253
 
const_iterator begin() const override
Returns an iterator to the first character of the string.
Definition basic_string.hpp:857
 
friend std::basic_ostream< char > & operator<<(std::basic_ostream< char > &stream, const basic_string &str)
Output stream operator. Behaves as a FormattedOutputFunction. After constructing and checking the sen...
Definition basic_string.hpp:3630
 
basic_string(const basic_string< xtd::wchar > &str, xtd::size index, xtd::size count)
Initializes a new instance of xtd::basic_string with specified substring at index and count character...
Definition basic_string.hpp:359
 
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....
Definition basic_string.hpp:1392
 
const_iterator end() const override
Returns an iterator to the character following the last character of the string. This character acts ...
Definition basic_string.hpp:908
 
constexpr basic_string(const string_view_like_t &string_view, size_type index, size_type count, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified string view of substring and allocator...
Definition basic_string.hpp:803
 
basic_string(std::initializer_list< xtd::char32 > il, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified initializer list and allocator.
Definition basic_string.hpp:834
 
basic_string(const basic_string< xtd::char32 > &str, xtd::size index, xtd::size count, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified substring at index,...
Definition basic_string.hpp:393
 
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 th...
Definition basic_string.hpp:1636
 
xtd::size last_index_of(value_type value) const noexcept
Reports the index of the last occurrence of the specified character in this tring.
Definition basic_string.hpp:1537
 
static basic_string class_name()
Gets the class name of the object_t.
Definition basic_string.hpp:2024
 
static basic_string class_name(const std::type_info &info)
Gets the class name of the specified object.
Definition basic_string.hpp:2037
 
const_iterator cend() const override
Returns an iterator to the character following the last character of the string. This character acts ...
Definition basic_string.hpp:887
 
basic_string(xtd::size count, xtd::wchar character)
Initializes a new instance of xtd::basic_string with specified count copies of character.
Definition basic_string.hpp:474
 
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....
Definition basic_string.hpp:1380
 
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(const basic_string< xtd::wchar > &str) noexcept
Initializes a new instance of xtd::basic_string with specified string to copy.
Definition basic_string.hpp:168
 
static bool equals(const basic_string &a, const basic_string &b) noexcept
Determines whether two specified xtd::basic_string objects have the same value.
Definition basic_string.hpp:2229
 
bool is_empty() const noexcept
Indicates whether this basic_string is an empty basic_string ("").
Definition basic_string.hpp:1511
 
basic_string(const std::basic_string< char > &str, const allocator_type &allocator) noexcept
Initializes a new instance of xtd::basic_string with specified string to copy and allocator.
Definition basic_string.hpp:733
 
size_type find(value_type ch) const
Finds the first substring equal to the given character sequence. Search begins at 0,...
Definition basic_string.hpp:1216
 
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 ...
Definition basic_string.hpp:1712
 
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 ...
Definition basic_string.hpp:2059
 
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 posi...
Definition basic_string.hpp:2048
 
typename xtd::collections::generic::ienumerable< char_t >::iterator iterator
Represents the basic string iterator type.
Definition basic_string.hpp:107
 
basic_string(const basic_string< xtd::char32 > &str, xtd::size index)
Initializes a new instance of xtd::basic_string with specified substring at index.
Definition basic_string.hpp:233
 
typename base_type::const_reverse_iterator const_reverse_iterator
Represents the basic string const reverse iterator type.
Definition basic_string.hpp:114
 
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.
Definition basic_string.hpp:2133
 
basic_string(const basic_string< xtd::char16 > &str, xtd::size index, xtd::size count)
Initializes a new instance of xtd::basic_string with specified substring at index and count character...
Definition basic_string.hpp:327
 
basic_string(const char *str)
Initializes a new instance of xtd::basic_string with specified string to copy.
Definition basic_string.hpp:532
 
basic_string(const basic_string< xtd::char16 > &str, xtd::size index, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified substring at index and allocator.
Definition basic_string.hpp:274
 
size_type max_size() const noexcept
Returns the maximum number of elements the string is able to hold due to system or library implementa...
Definition basic_string.hpp:922
 
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...
Definition basic_string.hpp:1615
 
int32 compare_to(const object &value) const
Compares this instance with a specified xtd::object and indicates whether this instance precedes,...
Definition basic_string.hpp:1109
 
basic_string(const basic_string< xtd::char16 > &str, xtd::size index)
Initializes a new instance of xtd::basic_string with specified substring at index.
Definition basic_string.hpp:224
 
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 tot...
Definition basic_string.hpp:1604
 
basic_string(xtd::char32 character, xtd::size count, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified count copies of character and specifie...
Definition basic_string.hpp:508
 
basic_string(const xtd::char8 *str, xtd::size count, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified substring, count characters and alloca...
Definition basic_string.hpp:681
 
int32 compare(size_type pos1, size_type count1, const basic_string &str, size_type pos2, size_type count2) const
Compares two character sequences.
Definition basic_string.hpp:1034
 
basic_string(std::initializer_list< char > il)
Initializes a new instance of xtd::basic_string with specified initializer list.
Definition basic_string.hpp:807
 
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 ...
Definition basic_string.hpp:2252
 
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.
Definition basic_string.hpp:2140
 
basic_string(const basic_string< char > &str, xtd::size index, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified substring at index and allocator.
Definition basic_string.hpp:264
 
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 basi...
Definition basic_string.hpp:1653
 
basic_string(const basic_string< xtd::char16 > &str, const allocator_type &allocator) noexcept
Initializes a new instance of xtd::basic_string with specified string to copy and allocator.
Definition basic_string.hpp:183
 
xtd::size get_hash_code() const noexcept override
Returns the hash code for this basic_string.
Definition basic_string.hpp:1410
 
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...
Definition basic_string.hpp:1818
 
typename base_type::size_type size_type
Represents the basic string size type.
Definition basic_string.hpp:94
 
virtual bool contains(value_type value) const noexcept
Returns a value indicating whether a specified char occurs within this basic_string.
Definition basic_string.hpp:1126
 
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....
Definition basic_string.hpp:1360
 
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....
Definition basic_string.hpp:1278
 
bool ends_with(value_type value) const noexcept
Determines whether the end of this basic_string matches the specified character.
Definition basic_string.hpp:1154
 
basic_string(const basic_string< xtd::wchar > &str, xtd::size index, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified substring at index and allocator.
Definition basic_string.hpp:306
 
size_type rfind(value_type ch) const
Finds the last substring that is equal to the given character sequence. The search begins at xtd::bas...
Definition basic_string.hpp:1706
 
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.
Definition basic_string.hpp:2119
 
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,...
Definition basic_string.hpp:2296
 
const_reverse_iterator crend() const
Returns a reverse iterator to the character following the last character of the string....
Definition basic_string.hpp:891
 
basic_string(xtd::char8 character, xtd::size count)
Initializes a new instance of xtd::basic_string with specified count copies of character.
Definition basic_string.hpp:513
 
basic_string(const xtd::wchar *str)
Initializes a new instance of xtd::basic_string with specified string to copy.
Definition basic_string.hpp:562
 
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....
Definition basic_string.hpp:1551
 
basic_string(const char *str, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified string to copy, and allocator.
Definition basic_string.hpp:571
 
basic_string & operator=(const basic_string< char > &str) noexcept
Copy assignment operator. Replaces the contents with a copy of the contents of str.
Definition basic_string.hpp:2442
 
const_reverse_iterator crbegin() const
Returns a reverse iterator to the first character of the string.
Definition basic_string.hpp:879
 
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....
Definition basic_string.hpp:1242
 
basic_string(const basic_string< xtd::char8 > &str, xtd::size index, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified substring at index and allocator.
Definition basic_string.hpp:295
 
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....
Definition basic_string.hpp:1445
 
basic_string(const basic_string< xtd::char32 > &str, xtd::size index, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified substring at index and allocator.
Definition basic_string.hpp:284
 
const_pointer data() const noexcept
Returns a pointer to the underlying array serving as character storage. The pointer is such that the ...
Definition basic_string.hpp:900
 
basic_string(basic_string &&)=default
Initializes a new instance of xtd::basic_string with specified string to move.
 
static constexpr size_type npos
This is a special value equal to the maximum value representable by the type xtd::size.
Definition basic_string.hpp:127
 
static basic_string concat(const basic_string &str_a, const basic_string &str_b) noexcept
Concatenates two specified instances of basic_string.
Definition basic_string.hpp:2145
 
size_type find(const basic_string &str) const
Finds the first substring equal to the given character sequence. Search begins at 0,...
Definition basic_string.hpp:1184
 
basic_string trim_end() const noexcept
Removes all trailing occurrences of white-space characters from the specified xtd::basic_string.
Definition basic_string.hpp:1986
 
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 ch...
 
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.
Definition basic_string.hpp:2236
 
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...
Definition basic_string.hpp:2083
 
const_reverse_iterator rend() const
Returns a reverse iterator to the character following the last character of the string....
Definition basic_string.hpp:930
 
basic_string(const basic_string< char > &str) noexcept
Initializes a new instance of xtd::basic_string with specified string to copy.
Definition basic_string.hpp:141
 
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.
Definition basic_string.hpp:1433
 
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....
Definition basic_string.hpp:1310
 
basic_string(xtd::char16 character, xtd::size count)
Initializes a new instance of xtd::basic_string with specified count copies of character.
Definition basic_string.hpp:494
 
int32 compare(const_pointer s) const
Compares two character sequences.
Definition basic_string.hpp:1053
 
bool equals(const object &obj) const noexcept override
Determines whether this instance and a specified object, which must also be a xtd::basic_string objec...
Definition basic_string.hpp:1135
 
size_type find_first_of(char_t ch) const
Finds the first character equal to one of the characters in the given character sequence....
Definition basic_string.hpp:1260
 
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....
Definition basic_string.hpp:1292
 
size_type size() const noexcept
Returns the number of char_t elements in the string, i.e. std::distance(begin(), end()).
Definition basic_string.hpp:934
 
const_reference at(size_type pos) const
Returns a reference to the character at specified location pos.
Definition basic_string.hpp:943
 
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....
Definition basic_string.hpp:1286
 
basic_string(const basic_string< char > &str, xtd::size index, xtd::size count)
Initializes a new instance of xtd::basic_string with specified substring at index and count character...
Definition basic_string.hpp:317
 
basic_string substr(size_type pos) const
Returns a substring [pos, pos + count). If the requested substring extends past the end of the string...
Definition basic_string.hpp:1852
 
basic_string to_title_case() const noexcept
Converts the current basic_string to title case (except for words that are entirely in uppercase,...
 
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.
Definition basic_string.hpp:1647
 
size_type length() const noexcept
Gets the number of characters in the current xtd::basic_string object.
Definition basic_string.hpp:918
 
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 c...
 
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,...
Definition basic_string.hpp:1171
 
basic_string(xtd::size count, xtd::char32 character)
Initializes a new instance of xtd::basic_string with specified count copies of character.
Definition basic_string.hpp:454
 
basic_string(xtd::size count, xtd::wchar character, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified count copies of character and specifie...
Definition basic_string.hpp:480
 
basic_string(const std::basic_string< xtd::char32 > &str, const allocator_type &allocator) noexcept
Initializes a new instance of xtd::basic_string with specified string to copy and allocator.
Definition basic_string.hpp:747
 
static basic_string concat(const xtd::array< object_t > &args) noexcept
Concatenates the basic_string representations of the elements in a specified object array.
 
basic_string(const char *str, xtd::size count, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified substring, count characters and alloca...
Definition basic_string.hpp:653
 
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 ("").
Definition basic_string.hpp:2287
 
constexpr basic_string(const string_view_like_t &string_view, size_type index, size_type count)
Initializes a new instance of xtd::basic_string with specified string view of substring and allocator...
Definition basic_string.hpp:796
 
basic_string(xtd::size count, char character, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified count copies of character and specifie...
Definition basic_string.hpp:441
 
basic_string(const xtd::char16 *str)
Initializes a new instance of xtd::basic_string with specified string to copy.
Definition basic_string.hpp:539
 
basic_string & operator+=(const basic_string< char > &str)
Addition assignment operator. Appends additional characters to the string.
Definition basic_string.hpp:2743
 
typename base_type::value_type value_type
Represents the basic string value type.
Definition basic_string.hpp:90
 
typename base_type::reverse_iterator reverse_iterator
Represents the basic string reverse iterator type.
Definition basic_string.hpp:112
 
basic_string(const xtd::char16 *str, xtd::size count)
Initializes a new instance of xtd::basic_string with specified substring and count characters.
Definition basic_string.hpp:620
 
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,...
Definition basic_string.hpp:1146
 
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 tot...
Definition basic_string.hpp:1597
 
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....
Definition basic_string.hpp:1322
 
static basic_string full_class_name()
Gets the fully qualified class name of the objec_t, including the namespace of the objec_t.
Definition basic_string.hpp:2269
 
basic_string(std::initializer_list< xtd::char16 > il)
Initializes a new instance of xtd::basic_string with specified initializer list.
Definition basic_string.hpp:810
 
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(xtd::size count, xtd::char16 character)
Initializes a new instance of xtd::basic_string with specified count copies of character.
Definition basic_string.hpp:445
 
int32 compare(size_type pos1, size_type count1, const basic_string &str, size_type pos2) const
Compares two character sequences.
Definition basic_string.hpp:1009
 
static basic_string concat(value_t value) noexcept
Creates the basic_string representation of a specified object.
Definition basic_string.hpp:2195
 
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 ch...
 
basic_string(std::initializer_list< xtd::char8 > il)
Initializes a new instance of xtd::basic_string with specified initializer list.
Definition basic_string.hpp:817
 
static basic_string concat(const xtd::array< basic_string > &values) noexcept
Concatenates the elements of a specified basic_string array.
 
const_reference front() const
Returns reference to the first character in the string. The behavior is undefined if empty() is true.
Definition basic_string.hpp:913
 
basic_string trim_start() const noexcept
Removes all leading occurrences of white-space characters from the specified xtd::basic_string.
Definition basic_string.hpp:2002
 
bool ends_with(const basic_string &value) const noexcept
Determines whether the end of this basic_string matches the specified basic_string.
Definition basic_string.hpp:1166
 
size_type find_first_of(const_pointer s) const
Finds the first character equal to one of the characters in the given character sequence....
Definition basic_string.hpp:1248
 
basic_string()=default
Initializes a new instance of xtd::basic_string.
 
basic_string(const basic_string< xtd::char32 > &str, const allocator_type &allocator) noexcept
Initializes a new instance of xtd::basic_string with specified string to copy and allocator.
Definition basic_string.hpp:190
 
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...
Definition basic_string.hpp:2276
 
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.
Definition basic_string.hpp:1516
 
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 tot...
Definition basic_string.hpp:1590
 
basic_string(const xtd::char32 *str, xtd::size count, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified substring, count characters and alloca...
Definition basic_string.hpp:671
 
bool equals(const basic_string &value) const noexcept override
Determines whether this instance and another specified xtd::basic_string object have the same value.
Definition basic_string.hpp:1140
 
bool starts_with(value_type value) const noexcept
Determines whether the beginning of this instance of xtd::basic_string matches a specified xtd::basic...
Definition basic_string.hpp:1812
 
const_iterator cbegin() const override
Returns an iterator to the first character of the string.
Definition basic_string.hpp:875
 
basic_string(xtd::size count, char character)
Initializes a new instance of xtd::basic_string with specified count copies of character.
Definition basic_string.hpp:436
 
size_type find_last_of(char_t ch) const
Finds the last character equal to one of characters in the given character sequence....
Definition basic_string.hpp:1348
 
basic_string(const xtd::char8 *str)
Initializes a new instance of xtd::basic_string with specified string to copy.
Definition basic_string.hpp:554
 
basic_string(std::initializer_list< xtd::char8 > il, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified initializer list and allocator.
Definition basic_string.hpp:839
 
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 ...
Definition basic_string.hpp:1680
 
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,...
Definition basic_string.hpp:2097
 
basic_string(const basic_string< xtd::wchar > &str, xtd::size index, xtd::size count, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified substring at index,...
Definition basic_string.hpp:417
 
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 sp...
 
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....
Definition basic_string.hpp:1387
 
basic_string< xtd::char8 > to_u8string() const noexcept
Converts the value of this instance to a xtd::basic_string <xtd::char8>.
Definition basic_string.hpp:1945
 
basic_string(xtd::char32 character, xtd::size count)
Initializes a new instance of xtd::basic_string with specified count copies of character.
Definition basic_string.hpp:503
 
basic_string(const basic_string< xtd::char8 > &str, xtd::size index, xtd::size count, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified substring at index,...
Definition basic_string.hpp:405
 
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 ch...
 
size_type find(value_type ch, size_type pos) const
Finds the first substring equal to the given character sequence. Search begins at pos,...
Definition basic_string.hpp:1222
 
size_type find_last_of(const basic_string &str) const
Finds the last character equal to one of characters in the given character sequence....
Definition basic_string.hpp:1316
 
int32 compare(const basic_string &str) const
Compares two character sequences.
Definition basic_string.hpp:963
 
const_pointer c_str() const noexcept
Returns a pointer to a null-terminated character array with data equivalent to those stored in the st...
Definition basic_string.hpp:867
 
bool empty() const noexcept
Checks if the string has no characters, i.e. whether begin() == end().
Definition basic_string.hpp:904
 
basic_string(const xtd::wchar *str, xtd::size count, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified substring, count characters and alloca...
Definition basic_string.hpp:691
 
typename base_type::reference reference
Represents the basic string referecne type.
Definition basic_string.hpp:98
 
basic_string(std::initializer_list< xtd::wchar > il, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified initializer list and allocator.
Definition basic_string.hpp:844
 
basic_string(const std::basic_string< xtd::wchar > &str) noexcept
Initializes a new instance of xtd::basic_string with specified string to copy.
Definition basic_string.hpp:725
 
basic_string(const xtd::wchar *str, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified string to copy, and allocator.
Definition basic_string.hpp:605
 
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....
Definition basic_string.hpp:1330
 
basic_string(const std::basic_string< xtd::char8 > &str, const allocator_type &allocator) noexcept
Initializes a new instance of xtd::basic_string with specified string to copy and allocator.
Definition basic_string.hpp:755
 
typename xtd::collections::generic::ienumerable< char_t >::const_iterator const_iterator
Represents the basic string const iterator type.
Definition basic_string.hpp:110
 
constexpr basic_string(const string_view_like_t &string_view, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified string view of substring and allocator...
Definition basic_string.hpp:789
 
basic_string substr() const
Returns a substring [pos, pos + count). If the requested substring extends past the end of the string...
Definition basic_string.hpp:1846
 
typename base_type::difference_type difference_type
Represents the basic string difference type.
Definition basic_string.hpp:96
 
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....
Definition basic_string.hpp:1366
 
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,...
Definition basic_string.hpp:1190
 
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....
Definition basic_string.hpp:1438
 
basic_string(const std::basic_string< xtd::char32 > &str) noexcept
Initializes a new instance of xtd::basic_string with specified string to copy.
Definition basic_string.hpp:711
 
friend basic_string operator+(const basic_string &lhs, const basic_string< char > &rhs)
Addition operator. Returns a string containing characters from lhs followed by the characters from rh...
Definition basic_string.hpp:2947
 
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....
Definition basic_string.hpp:1266
 
basic_string(const xtd::char32 *str, xtd::size count)
Initializes a new instance of xtd::basic_string with specified substring and count characters.
Definition basic_string.hpp:627
 
basic_string(const std::basic_string< xtd::char8 > &str) noexcept
Initializes a new instance of xtd::basic_string with specified string to copy.
Definition basic_string.hpp:718
 
basic_string(const basic_string< char > &str, xtd::size index, xtd::size count, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified substring at index,...
Definition basic_string.hpp:371
 
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...
Definition basic_string.hpp:1832
 
basic_string(const basic_string< xtd::char16 > &str, xtd::size index, xtd::size count, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified substring at index,...
Definition basic_string.hpp:382
 
basic_string(const std::basic_string< xtd::wchar > &str, const allocator_type &allocator) noexcept
Initializes a new instance of xtd::basic_string with specified string to copy and allocator.
Definition basic_string.hpp:763
 
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...
Definition basic_string.hpp:1621
 
basic_string(const basic_string< char > &str, const allocator_type &allocator) noexcept
Initializes a new instance of xtd::basic_string with specified string to copy and allocator.
Definition basic_string.hpp:176
 
basic_string< xtd::char16 > to_u16string() const noexcept
Converts the value of this instance to a xtd::basic_string <xtd::char16>.
Definition basic_string.hpp:1930
 
basic_string(xtd::size count, xtd::char32 character, const allocator_type &allocator)
Initializes a new instance of xtd::basic_string with specified count copies of character and specifie...
Definition basic_string.hpp:459
 
xtd::array< value_type > to_array() const noexcept
Copies the characters in this instance to a Unicode character array.
 
basic_string< xtd::char32 > to_u32string() const noexcept
Converts the value of this instance to a xtd::basic_string <xtd::char32>.
Definition basic_string.hpp:1937
 
const_reference operator[](xtd::size index) const
Returns a reference to the character at specified location index.
Definition basic_string.hpp:2430
 
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....
Definition basic_string.hpp:1543
 
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 usin...
Definition basic_string.hpp:1837
 
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,...
Definition basic_string.hpp:1198
 
size_type capacity() const noexcept
Returns the number of characters that the string has currently allocated space for.
Definition basic_string.hpp:871
 
const_reference back() const
Returns reference to the last character in the string.
Definition basic_string.hpp:853
 
size_type find(const_pointer s, size_type pos) const
Finds the first substring equal to the given character sequence. Search begins at pos,...
Definition basic_string.hpp:1211
 
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 ...
Definition basic_string.hpp:1701
 
virtual const_iterator cend() const
Returns an iterator to the element following the last element of the enumarable.
Definition enumerable_iterators.hpp:209
 
virtual iterator begin()
Returns an iterator to the first element of the enumarable.
Definition enumerable_iterators.hpp:201
 
virtual iterator end()
Returns an iterator to the element following the last element of the enumarable.
Definition enumerable_iterators.hpp:216
 
virtual const_iterator cbegin() const
Returns an iterator to the first element of the enumarable.
Definition enumerable_iterators.hpp:205
 
virtual const_iterator end() const
Returns an iterator to the element following the last element of the enumarable.
Definition enumerable_iterators.hpp:213
 
virtual const_iterator begin() const
Returns an iterator to the first element of the enumarable.
Definition enumerable_iterators.hpp:198
 
Supports a simple iteration over a generic collection.
Definition enumerator.hpp:31
 
Exposes the enumerator, which supports a simple iteration over a collection of a specified type.
Definition ienumerable.hpp:35
 
typename enumerable_iterators< type_t, ienumerable< type_t > >::const_iterator const_iterator
Represents the const iterator of xtd::collections::generic::ienumerable value type.
Definition ienumerable.hpp:43
 
typename enumerable_iterators< type_t, ienumerable< type_t > >::iterator iterator
Represents the iterator of xtd::collections::generic::ienumerable value type.
Definition ienumerable.hpp:41
 
Supports a simple iteration over a generic collection.
Definition ienumerator.hpp:58
 
static xtd::size combine(args_t... values) noexcept
Combines values into a hash code.
Definition hash_code.hpp:65
 
Defines a generalized comparison method that a value type or class implements to create a type-specif...
Definition icomparable.hpp:21
 
Defines a generalized method that a value type or class implements to create a type-specific method f...
Definition iequatable.hpp:22
 
Supports all classes in the xtd class hierarchy and provides low-level services to derived classes....
Definition object.hpp:42
 
Contains xtd::collections::generic::ienumarable <type_t> interface.
 
char8_t char8
Represents a 8-bit unicode character.
Definition char8.hpp:27
 
wchar_t wchar
Represents a wide character.
Definition wchar.hpp:24
 
int32_t int32
Represents a 32-bit signed integer.
Definition int32.hpp:23
 
null_ptr null
Represents a null pointer value.
 
char16_t char16
Represents a 16-bit unicode character.
Definition char16.hpp:26
 
uint32_t uint32
Represents a 32-bit unsigned integer.
Definition uint32.hpp:23
 
size_t size
Represents a size of any object in bytes.
Definition size.hpp:23
 
char32_t char32
Represents a 32-bit unicode character.
Definition char32.hpp:26
 
string_comparison
Specifies the culture, case, and sort rules to be used by certain overloads of the xtd::string::compa...
Definition string_comparison.hpp:14
 
string_split_options
Specifies whether applicable xtd::string::split method overloads include or omit empty substrings fro...
Definition string_split_options.hpp:14
 
@ ordinal
Compare strings using ordinal (binary) sort rules.
 
@ ordinal_ignore_case
Compare strings using ordinal (binary) sort rules and ignoring the case of the strings being compared...
 
@ separator
The Separator key.
 
@ escape
The ESC (ESCAPE) key.
 
Contains xtd::hash_code class.
 
Contains xtd::icomparable interface.
 
Contains xtd::iequatable interface.
 
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.hpp:10
 
Contains xtd::null pointer valiue.
 
Contains xtd::object class.
 
Contains xtd::parse methods.
 
Contains xtd::string_comparison enum class.
 
Contains xtd::string_split_options enum class.
 
Contains xtd::to_string methods.
 
Contains unused_ keyword.
 
Contains xtd fundamental types.