acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
character_range< ITERATOR_TYPE > Class Template Reference
Inheritance diagram for character_range< ITERATOR_TYPE >:
block_range< ITERATOR_TYPE > range< ITERATOR_TYPE > const_string_range< const ::ansi_character * > const_string_range< const ::wd16_character * > const_string_range< const ::wd32_character * > const_string_range< const ::wide_character * > ITEM< ITERATOR_TYPE > CHARACTER< ITERATOR_TYPE > const_string_range< ITERATOR_TYPE > number::const_string_range< ITERATOR_TYPE >

Public Types

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

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

Public Attributes

BASE_DATA * m_pbasedata
Public Attributes inherited from range< ITERATOR_TYPE >
this_iterator m_begin
this_iterator m_end
enum_range m_erange

Additional Inherited Members

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

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