acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
mutable_string_range< ITERATOR_TYPE > Class Template Reference
Inheritance diagram for mutable_string_range< ITERATOR_TYPE >:
const_string_range< ITERATOR_TYPE > character_range< ITERATOR_TYPE > block_range< ITERATOR_TYPE > range< ITERATOR_TYPE >

Public Types

using BASE_RANGE = ::const_string_range<ITERATOR_TYPE>
using THIS_RANGE = ::mutable_string_range<ITERATOR_TYPE>
using STRING_RANGE = ::string_range < BASE_RANGE >
using ITEM_POINTER = get_type_item_pointer<ITERATOR_TYPE>
using ITEM = non_const<dereference<ITEM_POINTER> >
using CHARACTER = ITEM
using this_iterator = typename BASE_RANGE::this_iterator
using iterator = typename BASE_RANGE::iterator
using const_iterator = typename BASE_RANGE::const_iterator
using STRING_BASE = ::string_base< const_iterator >
using THIS_RAW_RANGE = typename BASE_RANGE::THIS_RAW_RANGE
using RAW_RANGE = typename BASE_RANGE::RAW_RANGE
using CONST_RAW_RANGE = typename BASE_RANGE::CONST_RAW_RANGE
using SCOPED_STRING = scoped_string_base<ITERATOR_TYPE>
using ARG_ITEM = typename BASE_RANGE::ARG_ITEM
Public Types inherited from const_string_range< ITERATOR_TYPE >
using BASE_RANGE = ::character_range<ITERATOR_TYPE>
using RAW_CHARACTER_RANGE = typename BASE_RANGE::RAW_CHARACTER_RANGE
using THIS_RANGE = ::const_string_range<ITERATOR_TYPE>
using STRING_RANGE = ::string_range<ITERATOR_TYPE>
using ITEM_POINTER = get_type_item_pointer<ITERATOR_TYPE>
using ITEM = non_const<dereference<ITEM_POINTER> >
using CHARACTER = ITEM
using BASE_DATA = BASE_RANGE::BASE_DATA
using this_iterator = typename BASE_RANGE::this_iterator
using iterator = typename BASE_RANGE::iterator
using const_iterator = typename BASE_RANGE::const_iterator
using THIS_RAW_RANGE = typename BASE_RANGE::THIS_RAW_RANGE
using RAW_RANGE = typename BASE_RANGE::RAW_RANGE
using CONST_RAW_RANGE = typename BASE_RANGE::CONST_RAW_RANGE
using SCOPED_STRING = scoped_string_base<ITERATOR_TYPE>
using ARG_ITEM = typename BASE_RANGE::ARG_ITEM
using STRING = string_base < ITERATOR_TYPE >
using STRING_ARRAY = ::string_base_array < STRING, STRING, e_type_string_array >
Public Types inherited from character_range< ITERATOR_TYPE >
using THIS_CHARACTER_RANGE = character_range < ITERATOR_TYPE >
using RAW_CHARACTER_RANGE = THIS_CHARACTER_RANGE
using BASE_RANGE = ::character_range < ITERATOR_TYPE >
using BASE_RAW_RANGE = ::block_range < ITERATOR_TYPE >
using _BASE_RAW_RANGE = ::block_range < ITERATOR_TYPE >
using this_iterator = typename _BASE_RAW_RANGE::this_iterator
using CHARACTER = typename BASE_RANGE::ITEM
using BASE_DATA = ::base_data < CHARACTER >
Public Types inherited from block_range< ITERATOR_TYPE >
using this_iterator = ITERATOR_TYPE
using iterator = get_iterator<ITERATOR_TYPE>
using const_iterator = get_const_iterator<iterator>
using THIS_RAW_RANGE = ::range<ITERATOR_TYPE>
using RAW_RANGE = ::range<iterator>
using CONST_RAW_RANGE = ::range<const_iterator>
using _BASE_RAW_RANGE = ::range<ITERATOR_TYPE>
using THIS_RANGE = ::block_range<ITERATOR_TYPE>
using RANGE = ::block_range<iterator>
using CONST_RANGE = ::block_range<const_iterator>
using ITEM_POINTER = get_type_item_pointer<iterator>
using THIS_ITEM = get_iterator_item<this_iterator>
using ITEM = non_const<THIS_ITEM>
using CONST_ITEM = add_const<THIS_ITEM>
using ARG_ITEM = argument_of < ITEM >
Public Types inherited from range< ITERATOR_TYPE >
using this_iterator = ITERATOR_TYPE
using iterator = get_iterator<ITERATOR_TYPE>
using const_iterator = get_const_iterator<iterator>
using THIS_RAW_RANGE = ::range<ITERATOR_TYPE>
using RAW_RANGE = ::range<iterator>
using CONST_RAW_RANGE = ::range<const_iterator>
using THIS_RANGE = ::range<ITERATOR_TYPE>
using RANGE = ::range<iterator>
using CONST_RANGE = ::range<const_iterator>
using ITEM_POINTER = get_type_item_pointer<iterator>
using THIS_ITEM = get_iterator_item<this_iterator>
using ITEM = non_const<THIS_ITEM>
using CONST_ITEM = add_const<THIS_ITEM>
using ARG_ITEM = argument_of < ITEM >

Public Member Functions

template<::std::size_t count>
constexpr mutable_string_range (const ITEM(&array)[count])
template<prototype_integral INTEGRAL>
constexpr mutable_string_range (const_iterator begin, INTEGRAL count)
 mutable_string_range (no_initialize_t)
 mutable_string_range (nullptr_t)
template<typed_range< iterator > RANGE>
 mutable_string_range (const RANGE &range)
template<typed_range< const_iterator > RANGE>
 mutable_string_range (const RANGE &range)
 mutable_string_range (THIS_RANGE &range)
 mutable_string_range (THIS_RANGE &&range)
 mutable_string_range (this_iterator begin, this_iterator end)
 mutable_string_range (const ::block &block)
 mutable_string_range (ITERATOR_TYPE psz)
 mutable_string_range (ITERATOR_TYPE psz, character_count len)
 mutable_string_range (ITERATOR_TYPE psz, character_count start, character_count count)
void escape_copy (::i8 escape, const ::const_ansi_range &rangeSource)
Public Member Functions inherited from const_string_range< ITERATOR_TYPE >
 const_string_range (no_initialize_t)
 const_string_range (nullptr_t)
template<prototype_integral INTEGRAL>
constexpr const_string_range (const_iterator begin, INTEGRAL count)
template<typed_range< iterator > TYPED_RANGE>
requires (!::std::is_same_v < TYPED_RANGE, THIS_RANGE >)
constexpr const_string_range (const TYPED_RANGE &range)
constexpr const_string_range (const const_string_range &range)
constexpr const_string_range (const_string_range &&range)
constexpr const_string_range (this_iterator begin, this_iterator end, enum_range erange=e_range_none, BASE_DATA *pbasedata=nullptr)
 const_string_range (const ::block &block)
 const_string_range (ITERATOR_TYPE psz)
const_string_range start_count (character_count start, character_count count=-1)
::collection::count length () const
const_string_range & assign_bounded (ITERATOR_TYPE psz, character_count start, character_count count)
const_string_range subrange (character_count iFirst) const
const_string_range subrange (const_iterator p) const
const_string_range subrange (const_iterator p, character_count count) const
template<prototype_integral START, prototype_integral COUNT>
const_string_range subrange (START start, COUNT count) const
template<prototype_integral START>
const_string_range subrange (START start, const_iterator p) const
auto & last () const
auto & last (::collection::index i) const
auto last_index () const
auto last_index (::collection::index i) const
bool is_trimmed_empty () const
constexpr THIS_RANGE _begin_set (ITERATOR_TYPE pbegin) const
constexpr THIS_RANGE begin_set (ITERATOR_TYPE pbegin) const
constexpr THIS_RANGE _end_set (ITERATOR_TYPE pend) const
constexpr THIS_RANGE end_set (ITERATOR_TYPE pend) const
template<prototype_integral START, prototype_integral COUNT>
STRING_RANGE operator() (START start, COUNT count) const
template<prototype_integral START, typed_character_pointer< const_string_range< ITERATOR_TYPE >::CHARACTER > CHARACTER_POINTER>
STRING_RANGE operator() (START start, CHARACTER_POINTER end) const
template<typed_character_pointer< typename const_string_range< ITERATOR_TYPE >::CHARACTER > CHARACTER_POINTER>
STRING_RANGE operator() (CHARACTER_POINTER start) const
template<prototype_integral START>
STRING_RANGE operator() (START start) const
STRING_RANGE operator() () const
template<prototype_integral START, prototype_integral COUNT>
auto substr (START start, COUNT count) const
template<prototype_integral START, typed_character_pointer< typename const_string_range< ITERATOR_TYPE >::CHARACTER > CHARACTER_POINTER>
auto substr (START start, CHARACTER_POINTER end) const
template<typed_character_pointer< typename const_string_range< ITERATOR_TYPE >::CHARACTER > CHARACTER_POINTER>
auto substr (CHARACTER_POINTER start) const
template<prototype_integral START>
auto substr (START start) const
::end_of_line_and_next_line< const CHARACTER * > end_of_line_and_next_line () const
constexpr bool has_character () const
bool is_empty () const noexcept
memsize length_in_bytes () const
character_count get_upper_bound (character_count i=-1) const noexcept
 operator::block () const
CHARACTER _character_at (character_count i) const
CHARACTER character_at (character_count i) const
const CHARACTER * data () const
 operator const CHARACTER * () const
const CHARACTER * address_at (::collection::index i) const
const CHARACTER * rear_address (::collection::index i) const
const CHARACTER & operator[] (::collection::index i) const
character_count index_of (const CHARACTER *p) const
const_string_range trimmed_left () const
const_string_range trimmed_left (const SCOPED_STRING &scopedstr) const
const_string_range trimmed_right () const
const_string_range trimmed_right (const SCOPED_STRING &scopedstr) const
const_string_range trimmed () const
constexpr bool _is_p_in_range (ITERATOR_TYPE p) const
const_string_range & trim_left (const SCOPED_STRING &scopedstrAnyPrefixCharacterToTrim)
const_string_range & trim_left ()
const_string_range & trim_right (const SCOPED_STRING &scopedstrAnySuffixCharacterToTrim)
const_string_range & trim_right ()
const_string_range & trim (const SCOPED_STRING &scopedstrAnyPrefixCharacterToTrim, const SCOPED_STRING &scopedstrAnySuffixCharacterToTrim)
const_string_range & trim ()
bool defer_trim (const SCOPED_STRING &scopedstrAnyPrefixCharacterToTrim, const SCOPED_STRING &scopedstrAnySuffixCharacterToTrim)
const_string_range trimmed (const SCOPED_STRING &scopedstr) const
THIS_RANGE get_utf8_char () const
::std::strong_ordering collate (const SCOPED_STRING &range) const noexcept
::std::strong_ordering case_insensitive_collate (const SCOPED_STRING &range) const noexcept
bool operator== (const THIS_RANGE &range) const
constexpr ::std::strong_ordering _order (const SCOPED_STRING &range) const
constexpr ::std::strong_ordering operator<=> (const SCOPED_STRING &range) const
template<typed_character_range< CHARACTER > CHARACTER_RANGE>
constexpr bool equals (const CHARACTER_RANGE &range) const
template<typed_character_pointer< CHARACTER > CHARACTER_POINTER>
constexpr bool equals (CHARACTER_POINTER psz) const
constexpr bool has_file_extension_without_dot (const SCOPED_STRING &scopedstrFileExtensionWithoutDot) const
constexpr bool equals (const SCOPED_STRING &scopedstr) const
template<typed_character_range< CHARACTER > CHARACTER_RANGE>
constexpr bool case_insensitive_equals (const CHARACTER_RANGE &range) const
template<typed_character_pointer< CHARACTER > CHARACTER_POINTER>
constexpr bool case_insensitive_equals (CHARACTER_POINTER psz) const
constexpr bool case_insensitive_equals (const SCOPED_STRING &scopedstr) const
template<typed_character_range< CHARACTER > CHARACTER_RANGE>
constexpr ::i32 compare (const CHARACTER_RANGE &range) const
template<typed_character_pointer< CHARACTER > CHARACTER_POINTER>
constexpr ::i32 compare (CHARACTER_POINTER psz) const
constexpr ::i32 compare (const SCOPED_STRING &scopedstr) const
template<typed_character_range< CHARACTER > CHARACTER_RANGE>
constexpr ::i32 case_insensitive_compare (const CHARACTER_RANGE &range) const
template<typed_character_pointer< CHARACTER > CHARACTER_POINTER>
constexpr ::i32 case_insensitive_compare (CHARACTER_POINTER psz) const
constexpr ::i32 case_insensitive_compare (const SCOPED_STRING &scopedstr) const
template<typed_character_range< CHARACTER > CHARACTER_RANGE>
constexpr ::std::strong_ordering order (const CHARACTER_RANGE &range) const
template<typed_character_pointer< CHARACTER > CHARACTER_POINTER>
constexpr ::std::strong_ordering order (CHARACTER_POINTER psz) const
constexpr ::std::strong_ordering order (const SCOPED_STRING &scopedstr) const
template<typed_character_range< CHARACTER > CHARACTER_RANGE>
constexpr ::std::strong_ordering case_insensitive_order (const CHARACTER_RANGE &range) const
template<typed_character_pointer< CHARACTER > CHARACTER_POINTER>
constexpr ::std::strong_ordering case_insensitive_order (CHARACTER_POINTER psz) const
constexpr ::std::strong_ordering case_insensitive_order (const SCOPED_STRING &scopedstr) const
constexpr const_iterator _find (const SCOPED_STRING &range) const
constexpr const_iterator find (const SCOPED_STRING &range) const
constexpr character_count find_index (const SCOPED_STRING &range, character_count start=0) const
constexpr character_count find_index (CHARACTER ch, character_count start=0) const
constexpr const_iterator _rear_find (const SCOPED_STRING &range, const_iterator end=nullptr) const
constexpr const_iterator rear_find (const SCOPED_STRING &range, const_iterator end=nullptr) const
constexpr character_count _rear_find_index (const SCOPED_STRING &range, character_count end=-1) const
constexpr character_count rear_find_index (const SCOPED_STRING &range, character_count end=-1) const
constexpr const_iterator _rear_find (CHARACTER character, const_iterator end=nullptr) const
constexpr const_iterator rear_find (CHARACTER character, const_iterator end=nullptr) const
constexpr character_count _rear_find_index (CHARACTER character, character_count end=-1) const
constexpr character_count rear_find_index (CHARACTER character, character_count end=-1) const
const_iterator case_insensitive_find (const SCOPED_STRING &scopedstr) const RELEASENOTHROW
character_count case_insensitive_find_index (const SCOPED_STRING &scopedstr) const RELEASENOTHROW
character_count case_insensitive_find_index (const SCOPED_STRING &scopedstr, character_count start) const RELEASENOTHROW
constexpr const_iterator _case_insensitive_rear_find (const SCOPED_STRING &scopedstr) const
character_count _case_insensitive_rear_find_index (const SCOPED_STRING &scopedstr, character_count end=-1) const RELEASENOTHROW
constexpr const_iterator case_insensitive_rear_find (const SCOPED_STRING &scopedstr) const
character_count case_insensitive_rear_find_index (const SCOPED_STRING &scopedstr, character_count end=-1) const RELEASENOTHROW
constexpr const_iterator _find_first_character (CHARACTER ch) const
constexpr character_count _find_first_character_index (CHARACTER ch) const
constexpr const_iterator find_first_character (CHARACTER ch) const
constexpr const_iterator _find_first_character_in (const SCOPED_STRING &range) const
constexpr character_count _find_first_character_in_index (const SCOPED_STRING &range) const
constexpr const_iterator find_first_character_in (const SCOPED_STRING &range) const
constexpr character_count find_first_character_in_index (const SCOPED_STRING &range, ::character_count start=0) const
constexpr bool contains_any_character_in (const SCOPED_STRING &range) const
string_base< ITERATOR_TYPE > lowered () const
string_base< ITERATOR_TYPE > uppered () const
template<::comparison::equality< ITEM > EQUALITY>
constexpr ITERATOR_TYPE _skip_any_character_in (const THIS_RANGE &rangeBlock, EQUALITY equality) const
constexpr ITERATOR_TYPE skip_any_character_in (const SCOPED_STRING &range) const
constexpr ITERATOR_TYPE rear_skip_any_character_in (const THIS_RANGE &range) const noexcept
constexpr const_iterator _skip (CHARACTER item) const
constexpr const_iterator skip (CHARACTER item) const
constexpr const_iterator _rear_find_first_character_in (const SCOPED_STRING &range) const noexcept
constexpr const_iterator rear_find_first_character_in (const SCOPED_STRING &range) const noexcept
constexpr bool _begins (const SCOPED_STRING &range) const
constexpr bool begins (const SCOPED_STRING &range) const
bool begins_eat (const SCOPED_STRING &range)
::collection::count begins_count (bool(*character_is_function)(CHARACTER character)) const
constexpr bool _ends (const SCOPED_STRING &range) const
constexpr bool ends (const SCOPED_STRING &range) const
template<typename PRED>
bool is_every_char (PRED pred) const
template<typename NUMBER>
NUMBER & translate_index (NUMBER &number) const
bool contains (const SCOPED_STRING &scopedstr=0) const
bool contains (CHARACTER ch) const
bool contains (const SCOPED_STRING &scopedstr, const CHARACTER **ppszBeg, const CHARACTER **ppszEnd=nullptr) const
template<prototype_array STRING_ARRAY>
bool contains_any (const STRING_ARRAY &stra) const
template<prototype_array STRING_ARRAY>
bool contains_all (const STRING_ARRAY &stra) const
bool case_insensitive_contains (const SCOPED_STRING &scopedstr=0) const
bool case_insensitive_contains (const SCOPED_STRING &scopedstr, const CHARACTER **ppszBeg, const CHARACTER **ppszEnd=nullptr) const
template<prototype_array STRING_ARRAY>
bool case_insensitive_contains_at_least_one_of (const STRING_ARRAY &stra) const
template<prototype_array STRING_ARRAY>
bool case_insensitive_contains_all (const STRING_ARRAY &stra) const
bool unicode_case_insensitive_contains (const SCOPED_STRING &scopedstr=0) const
bool unicode_case_insensitive_contains (const SCOPED_STRING &scopedstr, const CHARACTER **ppszBeg, const CHARACTER **ppszEnd=nullptr) const
template<prototype_array STRING_ARRAY>
bool unicode_case_insensitive_contains_at_least_one_of (const STRING_ARRAY &stra) const
template<prototype_array STRING_ARRAY>
bool unicode_case_insensitive_contains_all (const STRING_ARRAY &stra) const
template<::comparison::equality< CHARACTER > EQUALITY>
::collection::count _occurrence_count_of (const SCOPED_STRING &scopedstr, EQUALITY equality) const
::collection::count occurrence_count_of (const SCOPED_STRING &scopedstr=0) const
::collection::count case_insensitive_occurrence_count_of (const SCOPED_STRING &scopedstr=0) const
const_iterator find (CHARACTER ch) const RELEASENOTHROW
const_iterator case_insensitive_find (CHARACTER ch) const RELEASENOTHROW
character_count case_insensitive_find_index (CHARACTER ch) const RELEASENOTHROW
character_count case_insensitive_find_index (CHARACTER ch, character_count start) const RELEASENOTHROW
const_iterator find_skip_or_end (CHARACTER ch=0) const RELEASENOTHROW
ITERATOR_TYPE find_first_whitespace () const RELEASENOTHROW
 for the rear_* functions the most relevant returned value is actually in m_end.
ITERATOR_TYPE skip_whitespace () const RELEASENOTHROW
::character_count count_left (const SCOPED_STRING &range=typed_whitespace< CHARACTER >()) const RELEASENOTHROW
ITERATOR_TYPE rear_find_first_whitespace () const RELEASENOTHROW
ITERATOR_TYPE rear_skip_whitespace () const RELEASENOTHROW
::character_count count_right (const SCOPED_STRING &range=typed_whitespace< CHARACTER >()) const RELEASENOTHROW
::character_count count_left_and_right (const SCOPED_STRING &range=typed_whitespace< CHARACTER >()) const RELEASENOTHROW
const_string_range begins_bitten (const SCOPED_STRING &scopedstrPrefix) const
const_string_range & operator= (const THIS_RANGE &range)
const_string_range & operator= (const_string_range &&range)
const_string_range & operator= (const block &block)
bool case_insensitive_begins (const SCOPED_STRING &scopedstrPrefix) const
bool case_insensitive_ends (const SCOPED_STRING &scopedstrSuffix) const
const_iterator unicode_find (const SCOPED_STRING &scopedstr) const RELEASENOTHROW
 Find the first occurrence of scopedstr, starting at start position and up to count characters from start. Optionally returns at ppszTail the address immediately after where scopedstr was found in the string.
const_iterator unicode_case_insensitive_find (const SCOPED_STRING &scopedstr) const RELEASENOTHROW
::collection::index unicode_case_insensitive_find_index (const SCOPED_STRING &scopedstr, character_count start=0) const RELEASENOTHROW
const_iterator unicode_rear_find (const SCOPED_STRING &scopedstr) const RELEASENOTHROW
const_iterator unicode_case_insensitive_rear_find (const SCOPED_STRING &scopedstr) const RELEASENOTHROW
const_iterator find_first (CHARACTER chSeparator, ::character_count start=0) const RELEASENOTHROW
 character_count _find_first_character_in(const CHARACTER * blockCharacters, character_count iStart = 0) const RELEASENOTHROW;
const_iterator _rear_skip (CHARACTER ca) const RELEASENOTHROW
const_iterator rear_skip (CHARACTER ca) const RELEASENOTHROW
CHARACTER last_char (character_count count=-1) const
character_count unichar_count () const
const_iterator unichar_at (character_count iUnicharIndex) const
bool operator== (const ::character_range< const CHARACTER * > &range) const
template<character_count n>
bool operator== (const CHARACTER(&s)[n]) const
template<typename OTHER_CHARACTER>
requires other_primitive_character < OTHER_CHARACTER, CHARACTER >
bool operator== (const ::character_range< const OTHER_CHARACTER * > &range) const
bool operator== (const ::ansi_character *psz) const
bool operator== (const ::wd16_character *psz) const
bool operator== (const ::wd32_character *psz) const
bool operator== (const ::inline_number_string &inline_number_string) const
bool xml_is_comment () const
::std::strong_ordering escape_case_insensitive_count_order (const ::scoped_string &scopedstr, ::i32 escape) const
STRING surrounded (const SCOPED_STRING &scopedstr) const
STRING surrounded (const SCOPED_STRING &scopedstrLeft, const SCOPED_STRING &scopedstrRight) const
STRING f64_quoted (bool bEscape=false) const
STRING single_quoted (bool bEscape) const
STRING_ARRAY explode (const SCOPED_STRING &scopedstrSeparator, bool bAddEmpty=true) const
STRING_RANGE _get_count_parts_from_beginning (::collection::count cPathPartCountToConsume, CHARACTER chSeparator) const
THIS_RANGE right (character_count nCount) const
THIS_RANGE left (character_count count) const
THIS_RANGE left (const_iterator p) const
THIS_RANGE left_including_any_character_in (const SCOPED_STRING &scopedstrCharSet) const
THIS_RANGE left_skipping_any_character_in (const SCOPED_STRING &scopedstrCharSet) const
ITERATOR_TYPE __count_parts_from_beginning (::collection::count &cPathMaxPartCount, CHARACTER chPartSeparator) const
Public Member Functions inherited from character_range< ITERATOR_TYPE >
constexpr character_range (no_initialize_t)
constexpr character_range (nullptr_t)
template<typed_character_pointer< typename character_range< ITERATOR_TYPE >::CHARACTER > CHARACTER_POINTER>
 character_range (CHARACTER_POINTER begin, CHARACTER_POINTER end, enum_range erange=e_range_none, BASE_DATA *pbasedata=nullptr)
template<other_character_pointer< typename character_range< ITERATOR_TYPE >::CHARACTER > OTHER_CHARACTER_POINTER>
 character_range (OTHER_CHARACTER_POINTER start, OTHER_CHARACTER_POINTER end, enum_range erange=e_range_none)=delete
template<character_count length>
 character_range (const CHARACTER(&s)[length])
template<character_pointer CHARACTER_POINTER>
 character_range (CHARACTER_POINTER start)
template<character_pointer CHARACTER_POINTER>
 character_range (CHARACTER_POINTER start, character_count length)=delete
template<other_primitive_character< CHARACTER > OTHER_CHARACTER, character_count length>
 character_range (const CHARACTER(&s)[length])=delete
 character_range (const character_range &characterrange)
 character_range (character_range &&characterrange)
template<typename TYPED_RANGE>
requires (typed_range<TYPED_RANGE, this_iterator> && !std::is_same_v<std::decay_t<TYPED_RANGE>, character_range>)
 character_range (const TYPED_RANGE &range)
template<typename OTHER_RANGE>
requires (other_character_range<OTHER_RANGE, CHARACTER>)
 character_range (const OTHER_RANGE &range)=delete
BASE_DATA * create_string_data2 (character_count lengthNew, enum_range erange)
memsize storage_count () const
character_count storage_character_count () const
character_count length () const
character_count size () const
memsize character_count_in_bytes () const
memsize null_terminated_character_count_in_bytes () const
character_range & operator= (const character_range &range)
character_range & operator= (character_range &&range)
constexpr bool has_string_storage () const
constexpr bool is_null_terminated () const
constexpr bool is_working_string_range () const
void set_null ()
void _set_length (::character_count count)
template<typename SAME_ITERATOR_TYPE>
requires (sizeof(get_iterator_item < SAME_ITERATOR_TYPE >) == sizeof(CHARACTER))
void construct_string (SAME_ITERATOR_TYPE start, SAME_ITERATOR_TYPE end, enum_range erange=e_range_none, typename ::character_range< SAME_ITERATOR_TYPE >::BASE_DATA *pbasedata=nullptr)
template<typename OTHER_ITERATOR_TYPE>
requires (sizeof(get_iterator_item < OTHER_ITERATOR_TYPE >) != sizeof(CHARACTER))
void construct_string (OTHER_ITERATOR_TYPE start, OTHER_ITERATOR_TYPE end, enum_range erange=e_range_none)
Public Member Functions inherited from block_range< ITERATOR_TYPE >
constexpr block_range (no_initialize_t noinitialize)
constexpr block_range (nullptr_t)
template<::collection::count count>
requires (!prototype_character < ITEM >)
constexpr block_range (const ITEM(&array)[count], enum_range erange=e_range_none)
template<typed_range< iterator > TYPED_RANGE>
requires (!::std::is_same_v < TYPED_RANGE, THIS_RANGE >)
constexpr block_range (const TYPED_RANGE &range)
constexpr block_range (const block_range &range)
constexpr block_range (block_range &&range)
template<typename TYPE>
constexpr block_range (TYPE *&p)
template<prototype_integral INTEGRAL>
constexpr block_range (this_iterator begin, INTEGRAL count, enum_range erange=e_range_none)
constexpr block_range (this_iterator begin, this_iterator end, enum_range erange=e_range_none)
template<::comparison::equality< ITEM > EQUALITY>
constexpr block_range (this_iterator begin, EQUALITY equality)
block_range & operator= (const block_range &range)
block_range & operator= (block_range &&range)
const ::block block () const
::block block ()
Public Member Functions inherited from range< ITERATOR_TYPE >
constexpr range (no_initialize_t)
constexpr range (nullptr_t)
template<::collection::count count>
requires (!prototype_character < ITEM >)
constexpr range (const ITEM(&array)[count], enum_range erange=e_range_none)
template<typed_range< iterator > TYPED_RANGE>
requires (!::std::is_same_v < TYPED_RANGE, THIS_RANGE >)
constexpr range (const TYPED_RANGE &range)
constexpr range (const range &range)
constexpr range (range &&range)
template<typename TYPE>
constexpr range (TYPE *&p)
template<prototype_integral INTEGRAL>
constexpr range (this_iterator begin, INTEGRAL count, enum_range erange=e_range_none)
constexpr range (this_iterator begin, this_iterator end, enum_range erange=e_range_none)
template<::comparison::equality< ITEM > EQUALITY>
constexpr range (this_iterator begin, EQUALITY equality)
range & operator= (const range &range)
range & operator= (range &&range)
void add_initializer_list (const ::std::initializer_list< ITEM > &initializer_list)
void set_null ()
template<prototype_integral START>
constexpr THIS_RAW_RANGE operator() (START start) const
template<prototype_integral START, prototype_integral COUNT>
constexpr THIS_RAW_RANGE operator() (START start, COUNT count) const
::collection::count array_get_count () const
template<same_as< ITEM > A_ITEM>
void block_concatenate_to (A_ITEM *&p)
template<prototype_integral START>
constexpr THIS_RAW_RANGE operator() (START start)
template<prototype_integral START, prototype_integral COUNT>
THIS_RAW_RANGE operator() (START start, COUNT count)
constexpr auto index_of (const_iterator p) const
this_iterator & begin ()
this_iterator & end ()
const_iterator begin () const
const_iterator end () const
this_iterator & begin (this_iterator begin)
this_iterator & end (this_iterator end)
auto & first ()
auto & first () const
constexpr this_iterator data ()
constexpr const this_iterator data () const
constexpr ::collection::count size () const
constexpr memsize size_in_bytes () const
constexpr bool is_empty () const
constexpr bool is_set () const
bool operator! () const
constexpr bool is_before_begin (const_iterator iterator) const
constexpr bool is_end (const_iterator iterator) const
constexpr bool is_iterator_ok (const_iterator iterator) const
constexpr bool is_this_range (const range &range) const
constexpr THIS_RAW_RANGE _start_range (memsize start) const
constexpr THIS_RAW_RANGE _end_range (const_iterator end) const
constexpr THIS_RAW_RANGE _start_count_range (memsize start, memsize count) const
template<::comparison::equality< ITEM > EQUALITY>
constexpr bool _equals (const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) const
template<::comparison::equality< ITEM > EQUALITY>
constexpr bool equals (const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) const
template<::comparison::ordering< ITEM > ORDERING>
constexpr auto _order (const THIS_RAW_RANGE &rangeBlock, ORDERING ordering) const
template<::comparison::ordering< ITEM > ORDERING>
constexpr auto order (const THIS_RAW_RANGE &rangeBlock, ORDERING ordering) const
template<::comparison::equality< ITEM > EQUALITY>
constexpr const_iterator _find (const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) const
template<::comparison::equality< ITEM > EQUALITY>
constexpr const_iterator find (const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) const
template<::comparison::equality< ITEM > EQUALITY>
constexpr const_iterator _rear_find (const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) const
template<::comparison::equality< ITEM > EQUALITY>
constexpr const_iterator rear_find (const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) const
template<::comparison::equality< ITEM > EQUALITY>
constexpr const_iterator _find_first_character (ITEM item, EQUALITY equality) const
template<::comparison::equality< ITEM > EQUALITY>
constexpr const_iterator find_first_character (ITEM item, EQUALITY equality) const
template<::comparison::equality< ITEM > EQUALITY>
constexpr const_iterator _find_first_character_in (const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) const
template<::comparison::equality< ITEM > EQUALITY>
constexpr const_iterator find_first_character_in (const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) const
template<::comparison::equality< ITEM > EQUALITY>
constexpr const_iterator _rear_find_first_character_in (const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) const
template<::comparison::equality< ITEM > EQUALITY>
constexpr const_iterator rear_find_first_character_in (const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) const
template<::comparison::equality< ITEM > EQUALITY>
constexpr const_iterator _skip (ARG_ITEM item, EQUALITY equality) const
template<::comparison::equality< ITEM > EQUALITY>
constexpr const_iterator skip (ARG_ITEM item, EQUALITY equality) const
template<::comparison::equality< ITEM > EQUALITY>
constexpr const_iterator _rear_skip (ARG_ITEM item, EQUALITY equality) const
template<::comparison::equality< ITEM > EQUALITY>
constexpr const_iterator rear_skip (ARG_ITEM item, EQUALITY equality) const
template<::comparison::equality< ITEM > EQUALITY>
constexpr const_iterator _rear_find (ARG_ITEM item, EQUALITY equality) const
template<::comparison::equality< ITEM > EQUALITY>
constexpr const_iterator rear_find (ARG_ITEM item, EQUALITY equality) const
template<::comparison::equality< ITEM > EQUALITY>
constexpr bool _begins (const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) const
template<::comparison::equality< ITEM > EQUALITY>
constexpr bool begins (const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) const
template<::comparison::equality< ITEM > EQUALITY>
constexpr bool _ends (const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) const
template<::comparison::equality< ITEM > EQUALITY>
constexpr bool ends (const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) const

Additional Inherited Members

Static Public Member Functions inherited from const_string_range< ITERATOR_TYPE >
template<::i32 cCount, ::i32 wCount, ::i32 u16Count, ::i32 u32Count>
static consteval auto typed_str_literal (const ::i8(&c)[cCount], const wchar_t(&w)[wCount], const char16_t(&u16)[u16Count], const char32_t(&u32)[u32Count])
template<::comparison::equality< ITEM > EQUALITY>
static constexpr ITERATOR_TYPE _static_skip_any_character_in (THIS_RANGE range, const THIS_RANGE &rangeBlock, EQUALITY equality) noexcept
template<::comparison::equality< ITEM > EQUALITY>
static constexpr ITERATOR_TYPE static_skip_any_character_in (const THIS_RANGE &range, const THIS_RANGE &rangeBlock, EQUALITY equality) noexcept
template<::comparison::equality< ITEM > EQUALITY>
static constexpr ITERATOR_TYPE _static_rear_skip_any_character_in (THIS_RANGE range, const THIS_RANGE &rangeBlock, EQUALITY equality) noexcept
template<::comparison::equality< ITEM > EQUALITY>
static constexpr ITERATOR_TYPE static_rear_skip_any_character_in (THIS_RANGE range, const THIS_RANGE &rangeBlock, EQUALITY equality) noexcept
Static Public Member Functions inherited from range< ITERATOR_TYPE >
static constexpr memsize item_size ()
static constexpr bool _initialize_equals (bool &b, const THIS_RAW_RANGE &range, const THIS_RAW_RANGE &rangeBlock)
template<::comparison::equality< ITEM > EQUALITY>
static constexpr bool _static_equals (THIS_RAW_RANGE range, THIS_RAW_RANGE rangeBlock, EQUALITY equality)
template<::comparison::equality< ITEM > EQUALITY>
static constexpr bool static_equals (const THIS_RAW_RANGE &range, const THIS_RAW_RANGE &rangeBlock, EQUALITY equality)
template<::comparison::ordering< ITEM > ORDERING>
static constexpr auto _static_order (THIS_RAW_RANGE range, THIS_RAW_RANGE rangeBlock, ORDERING ordering)
template<::comparison::ordering< ITEM > ORDERING>
static constexpr auto static_order (const THIS_RAW_RANGE &range, const THIS_RAW_RANGE &rangeBlock, ORDERING ordering)
static bool _initialize_find (const_iterator &p, const THIS_RAW_RANGE &range, const THIS_RAW_RANGE &rangeBlock)
template<::comparison::equality< ITEM > EQUALITY>
static const_iterator _static_find (THIS_RAW_RANGE range, const THIS_RAW_RANGE &rangeBlock, EQUALITY equality)
template<::comparison::equality< ITEM > EQUALITY>
static const_iterator static_find (const THIS_RAW_RANGE &range, const THIS_RAW_RANGE &rangeBlock, EQUALITY equality)
static bool _initialize_rear_find (const_iterator &p, const THIS_RAW_RANGE &range, const THIS_RAW_RANGE &rangeBlock)
template<::comparison::equality< ITEM > EQUALITY>
static const_iterator _static_rear_find (THIS_RAW_RANGE range, const THIS_RAW_RANGE &rangeBlock, EQUALITY equality)
template<::comparison::equality< ITEM > EQUALITY>
static const_iterator static_rear_find (const THIS_RAW_RANGE &range, const THIS_RAW_RANGE &rangeBlock, EQUALITY equality)
template<typename ITEM2>
static constexpr bool _initialize_find_first_character (const_iterator &p, const THIS_RAW_RANGE &range, ITEM2 item) noexcept
template<::comparison::equality< ITEM > EQUALITY>
static constexpr const_iterator _static_find_first_character (THIS_RAW_RANGE range, ITEM item, EQUALITY equality) noexcept
template<::comparison::equality< ITEM > EQUALITY>
static constexpr const_iterator static_find_first_character (const THIS_RAW_RANGE &range, ITEM item, EQUALITY equality) noexcept
static constexpr bool _initialize_find_first_character_in (const_iterator &p, const THIS_RAW_RANGE &range, const THIS_RAW_RANGE &rangeBlock) noexcept
template<::comparison::equality< ITEM > EQUALITY>
static constexpr const_iterator _static_find_first_character_in (THIS_RAW_RANGE range, const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) noexcept
template<::comparison::equality< ITEM > EQUALITY>
static constexpr const_iterator static_find_first_character_in (const THIS_RAW_RANGE &range, const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) noexcept
static constexpr bool _initialize_rear_find_first_character_in (const_iterator &p, const THIS_RAW_RANGE &range, const THIS_RAW_RANGE &rangeBlock) noexcept
template<::comparison::equality< ITEM > EQUALITY>
static constexpr const_iterator _static_rear_find_first_character_in (THIS_RAW_RANGE range, const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) noexcept
template<::comparison::equality< ITEM > EQUALITY>
static constexpr const_iterator static_rear_find_first_character_in (THIS_RAW_RANGE range, const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) noexcept
static constexpr bool _initialize_skip (const_iterator &p, const THIS_RAW_RANGE &range) noexcept
template<::comparison::equality< ITEM > EQUALITY>
static constexpr const_iterator _static_skip (THIS_RAW_RANGE range, ARG_ITEM item, EQUALITY equality) noexcept
template<::comparison::equality< ITEM > EQUALITY>
static constexpr const_iterator static_skip (const THIS_RAW_RANGE &range, ARG_ITEM item, EQUALITY equality) noexcept
static constexpr bool _initialize_rear_skip (const_iterator &p, const THIS_RAW_RANGE &range) noexcept
template<::comparison::equality< ITEM > EQUALITY>
static constexpr const_iterator _static_rear_skip (THIS_RAW_RANGE range, ARG_ITEM item, EQUALITY equality) noexcept
template<::comparison::equality< ITEM > EQUALITY>
static constexpr const_iterator static_rear_skip (const THIS_RAW_RANGE &range, ARG_ITEM item, EQUALITY equality) noexcept
static constexpr bool _initialize_find_item (const_iterator &p, const THIS_RAW_RANGE &range) noexcept
static constexpr bool _initialize_rear_find (const_iterator &p, const THIS_RAW_RANGE &range) noexcept
template<::comparison::equality< ITEM > EQUALITY>
static constexpr const_iterator _static_rear_find (THIS_RAW_RANGE range, ARG_ITEM item, EQUALITY equality) noexcept
template<::comparison::equality< ITEM > EQUALITY>
static constexpr const_iterator static_rear_find (THIS_RAW_RANGE range, ARG_ITEM item, EQUALITY equality) noexcept
static constexpr bool _initialize_contains (bool &b, const THIS_RAW_RANGE &range, const THIS_RAW_RANGE &rangeBlock) noexcept
template<::comparison::equality< ITEM > EQUALITY>
static constexpr bool _static_begins (THIS_RAW_RANGE range, THIS_RAW_RANGE rangeBlock, EQUALITY equality) noexcept
template<::comparison::equality< ITEM > EQUALITY>
static constexpr bool static_begins (const THIS_RAW_RANGE &range, const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) noexcept
template<::comparison::equality< ITEM > EQUALITY>
static constexpr bool _static_ends (THIS_RAW_RANGE range, THIS_RAW_RANGE rangeBlock, EQUALITY equality) noexcept
template<::comparison::equality< ITEM > EQUALITY>
static constexpr bool static_ends (const THIS_RAW_RANGE &range, const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) noexcept
Public Attributes inherited from character_range< ITERATOR_TYPE >
BASE_DATA * m_pbasedata
Public Attributes inherited from range< ITERATOR_TYPE >
this_iterator m_begin
this_iterator m_end
enum_range m_erange

Member Function Documentation

◆ escape_copy()

template<typename ITERATOR_TYPE>
void mutable_string_range< ITERATOR_TYPE >::escape_copy ( ::i8 escape,
const ::const_ansi_range & rangeSource )

similar with _tcscpy with escape process /p escape - will be escape character Return : Coder Date Desc bro 2002-10-29


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