acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
string_base_array< Type, RawType, t_etypeContainer > Class Template Reference
Inheritance diagram for string_base_array< Type, RawType, t_etypeContainer >:
comparable_array_base< Type, const Type &, comparable_eq_array_base< Type, const Type &, array_base< Type, const Type &, ::typed::def< Type >, ::heap::typed_memory< Type, ::heap::e_memory_array >, t_etypeContainer > > > comparable_eq_array_base< TYPE, ARG_TYPE, ARRAY_TYPE >

Public Types

using BASE_ARRAY = comparable_array_base < Type, const Type &, comparable_eq_array_base < Type, const Type &, array_base < Type, const Type &, ::typed::def < Type >, ::heap::typed_memory < Type, ::heap::e_memory_array >, t_etypeContainer > > >
using RAW_BASE_ARRAY = typename BASE_ARRAY::RAW_BASE_ARRAY
using BASE_STRING = Type
using BASE_RAW_STRING = RawType
using BASE_RAW_STRING_ARRAY = ::string_base_array < RawType, RawType, t_etypeContainer >
using CHARACTER = typename BASE_STRING::CHARACTER
using RAW_RANGE = typename BASE_RAW_STRING::RANGE
using BASE_TYPE = BASE_STRING
using BASE_ARG_TYPE = const BASE_STRING &
using SCOPED_STRING = typename BASE_STRING::SCOPED_STRING
using THIS_RAW_RANGE = typename BASE_ARRAY::THIS_RAW_RANGE
using CONST_RAW_RANGE = typename BASE_ARRAY::CONST_RAW_RANGE
using this_iterator = typename BASE_ARRAY::this_iterator
Public Types inherited from comparable_array_base< Type, const Type &, comparable_eq_array_base< Type, const Type &, array_base< Type, const Type &, ::typed::def< Type >, ::heap::typed_memory< Type, ::heap::e_memory_array >, t_etypeContainer > > >
using BASE_ARRAY
using RAW_BASE_ARRAY
using BASE_RANGE
using BASE_RAW_RANGE
using CONST_RAW_RANGE
using iterator
using const_iterator
using this_iterator
Public Types inherited from comparable_eq_array_base< TYPE, ARG_TYPE, ARRAY_TYPE >
using BASE_ARRAY = ARRAY_TYPE
using RAW_BASE_ARRAY = typename BASE_ARRAY::RAW_BASE_ARRAY
using BASE_RANGE = typename BASE_ARRAY::BASE_RAW_RANGE
using CONST_RAW_RANGE = typename BASE_ARRAY::CONST_RAW_RANGE
using iterator = typename ARRAY_TYPE::iterator
using const_iterator = typename ARRAY_TYPE::const_iterator
using this_iterator = typename BASE_ARRAY::this_iterator

Public Member Functions

 string_base_array (const RAW_BASE_ARRAY &a)
 string_base_array (CHARACTER *const *ppsz, ::collection::count c)
template<prototype_container CONTAINER>
string_base_array & operator= (const CONTAINER &container)
::collection::count get_size () const
::collection::count get_count () const
::collection::index get_lower_bound (::collection::index i=0) const
::collection::index get_upper_bound (::collection::index i=-1) const
::collection::index get_middle_index (::collection::index i=0) const
void erase_duplicates ()
void case_insensitive_erase_duplicates ()
::collection::index _007FindLine (const SCOPED_STRING &strKey, ::collection::index iStart=0) const
void _007SetLine (const SCOPED_STRING &strKey, const SCOPED_STRING &strValue, ::collection::index iStart=0)
::collection::index _007GetLine (RawType &rawtype, const SCOPED_STRING &strKey, ::collection::index iStart=0) const
RawType _007GetLine (const SCOPED_STRING &strKey, ::collection::index iStart=0) const
::collection::index _007FindSection (const SCOPED_STRING &strSection) const
::collection::index _007FindLine (const SCOPED_STRING &strSection, const SCOPED_STRING &strKey) const
::collection::index _007OpenSection (const SCOPED_STRING &strSection)
void _007SetLine (const SCOPED_STRING &strSection, const SCOPED_STRING &strKey, const SCOPED_STRING &strValue)
::collection::index _007GetLine (RawType &rawtype, const SCOPED_STRING &strSection, const SCOPED_STRING &strKey) const
RawType _007GetLine (const SCOPED_STRING &strSection, const SCOPED_STRING &strKey) const
void order ()
void case_insensitive_order ()
void collate_order ()
void case_insensitive_collate_sort ()
Type safe_at (::collection::index nIndex, Type tDefault="") const
Type safe_at (::collection::index nIndex, Type tDefault="")
Type get_at (::collection::index nIndex) const
void set_at (::collection::index nIndex, const Type &newElement)
Type & element_at (::collection::index nIndex)
const Type & element_at (::collection::index nIndex) const
Type & first (::collection::index i=0)
Type first (::collection::index i=0) const
Type & last (::collection::index i=-1)
Type last (::collection::index i=-1) const
const Type * get_data () const
Type * get_data ()
Type & set_at_grow (::collection::index nIndex, const Type &newElement)
Type & add_get (const Type &newElement)
void copy (const string_base_array &src)
template<prototype_array ARRAY>
void copy (const ARRAY &src)
::collection::index add (::strsize_range_array &stra, const SCOPED_STRING &str)
string_base_array & c_stra (string_base_array &stra) const
string_base_array c_stra () const
Type & insert_at (::collection::index nIndex, const Type &strElement)
void insert_at (::collection::index nIndex, const Type &strElement, ::collection::count nCount)
template<prototype_container CONTAINER>
void insert_at (::collection::index nStartIndex, const CONTAINER &container)
string_base_array slice (::collection::index iStart, ::collection::count iCount=-1) const
Type & insert_empty (::collection::index nIndex)
void insert_empty (::collection::index nIndex, ::collection::count c)
::collection::count truncate_on_find_character (CHARACTER ch)
::collection::count erase_prefixed (const ::scoped_string &scopedstrPrefix)
::collection::count erase_empty ()
::collection::count erase_empty_end ()
::collection::count erase_empty_begin ()
::collection::count erase_empty_trimmed_end ()
::collection::count erase_empty_trimmed_begin ()
::collection::index add_normal (const Type &str)
void trim_right (const SCOPED_STRING &strChars)
void trim_left (const SCOPED_STRING &strChars)
void trim (const SCOPED_STRING &strChars)
void trim_right ()
void trim_left ()
void trim ()
::collection::index add_unique (const Type &str)
::collection::index case_insensitive_add_unique (const Type &str)
::collection::count append_unique (const string_base_array &stra)
::collection::count case_insensitive_append_unique (const string_base_array &stra)
void make_lower ()
void make_upper ()
auto & append_formatf (const CHARACTER *psz,...)
template<typename... Args>
auto & append_format (std::format_string< Args... > fmt, Args &&... args)
auto & add_trace (enum_trace_level etracelevel, const SCOPED_STRING &scopedstr)
 operator::collection::count () const
::collection::index get_random_index () const
Type & random_element ()
const Type & random_element () const
Type pop_random_element ()
Type pop (::collection::index i=-1)
void slice (string_base_array &stra, ::collection::index i, ::collection::count ca=-1)
void erase (::collection::index i, ::collection::count count)
void splice (const string_base_array &stra, ::collection::index i, ::collection::count ca=-1)
void splice (const string_base_array &stra, ::collection::index i, string_base_array &straRemoved, ::collection::count ca=-1)
bool case_insensitive_move (const SCOPED_STRING &str, ::collection::index iIndex)
bool preferred (const SCOPED_STRING &str)
::collection::count preferred (string_base_array &stra)
::collection::count case_insensitive_count (const SCOPED_STRING &strFind, ::collection::index iFind=0, ::collection::index iLast=-1) const
::collection::count count (const SCOPED_STRING &strFind, ::collection::index iFind=0, ::collection::index iLast=-1) const
::collection::index case_insensitive_find_first (const SCOPED_STRING &strFind, ::collection::index iFind=0, ::collection::index iLast=-1) const
::collection::index find_first (const SCOPED_STRING &strFind, ::collection::index iFind=0, ::collection::index iLast=-1) const
::collection::index case_insensitive_find_last (const SCOPED_STRING &strFind, ::collection::index iFind=-1, ::collection::index iLast=0) const
::collection::index find_last (const SCOPED_STRING &strFind, ::collection::index iFind=-1, ::collection::index iLast=0) const
::collection::index case_insensitive_reverse_find (const SCOPED_STRING &strFind, ::collection::index iFind=-1, ::collection::index iLast=0) const
::collection::index rear_find (const SCOPED_STRING &strFind, ::collection::index iFind=-1, ::collection::index iLast=0) const
::collection::index _066Find (const SCOPED_STRING &str) const
::collection::index _case_insensitive_find_first_prefixed (const SCOPED_STRING &strStarting, ::collection::index iFind=0, ::collection::index iLast=-1) const
::collection::index _find_first_prefixed (const SCOPED_STRING &strStarting, ::collection::index iFind=0, ::collection::index iLast=-1) const
::collection::index _find_first_with_starting_word (const SCOPED_STRING &strStartingWord, ::collection::index iFind=0, ::collection::index iLast=-1) const
::collection::index case_insensitive_find_first_prefixed (const SCOPED_STRING &strStarting, ::collection::index iFind=0, ::collection::index iLast=-1) const
::collection::index find_first_prefixed (const SCOPED_STRING &strStarting, ::collection::index iFind=0, ::collection::index iLast=-1) const
::collection::index _case_insensitive_find_first_suffixed (const SCOPED_STRING &strEnding, ::collection::index iFind=0, ::collection::index iLast=-1) const
::collection::index _find_first_suffixed (const SCOPED_STRING &strEnding, ::collection::index iFind=0, ::collection::index iLast=-1) const
::collection::index case_insensitive_find_first_suffixed (const SCOPED_STRING &strEnding, ::collection::index iFind=0, ::collection::index iLast=-1) const
::collection::index find_first_suffixed (const SCOPED_STRING &strEnding, ::collection::index iFind=0, ::collection::index iLast=-1) const
::collection::index case_insensitive_find_first_begins (const SCOPED_STRING &strStarting, ::collection::index iFind=0, ::collection::index iLast=-1) const
::collection::index find_first_begins (const SCOPED_STRING &strStarting, ::collection::index iFind=0, ::collection::index iLast=-1) const
::collection::index find_first_with_starting_word (const SCOPED_STRING &strStartingWord, ::collection::index iFind=0, ::collection::index iLast=-1) const
::collection::index case_insensitive_find_first_ends (const SCOPED_STRING &strEnding, ::collection::index iFind=0, ::collection::index iLast=-1) const
::collection::index find_first_ends (const SCOPED_STRING &strEnding, ::collection::index iFind=0, ::collection::index iLast=-1) const
::collection::index _case_insensitive_find_first_contains (const SCOPED_STRING &strSubstring, ::collection::index iFind=0, ::collection::index iLast=-1, const CHARACTER **ppszBeg=nullptr, const CHARACTER **ppszEnd=nullptr) const
::collection::index _find_first_contains (const SCOPED_STRING &strSubstring, ::collection::index iFind=0, ::collection::index iLast=-1, const CHARACTER **ppszBeg=nullptr, const CHARACTER **ppszEnd=nullptr) const
::collection::index case_insensitive_find_first_contains (const SCOPED_STRING &strSubstring, ::collection::index iFind=0, ::collection::index iLast=-1, const CHARACTER **ppszBeg=nullptr, const CHARACTER **ppszEnd=nullptr) const
::collection::index find_first_contains (const SCOPED_STRING &strSubstring, ::collection::index iFind=0, ::collection::index iLast=-1, const CHARACTER **ppszBeg=nullptr, const CHARACTER **ppszEnd=nullptr) const
::collection::index case_insensitive_find_first_begins_eat (Type &strFoundAndEaten, const SCOPED_STRING &strStarting, ::collection::index iFind=0, ::collection::index iLast=-1) const
::collection::index find_first_begins_eat (Type &strFoundAndEaten, const SCOPED_STRING &strStarting, ::collection::index iFind=0, ::collection::index iLast=-1) const
::collection::index find_first_with_starting_word_eat (Type &strFoundAndEaten, const SCOPED_STRING &strStartingWord, ::collection::index iFind=0, ::collection::index iLast=-1) const
::collection::index case_insensitive_find_first_ends_eat (Type &strFoundAndEaten, const SCOPED_STRING &strEnding, ::collection::index iFind=0, ::collection::index iLast=-1) const
::collection::index find_first_ends_eat (Type &strFoundAndEaten, const SCOPED_STRING &strEnding, ::collection::index iFind=0, ::collection::index iLast=-1) const
::collection::index case_insensitive_find_first_contains_eat (Type &strFoundAndEaten, const SCOPED_STRING &strEnding, ::collection::index iFind=0, ::collection::index iLast=-1) const
::collection::index find_first_contains_eat (Type &strFoundAndEaten, const SCOPED_STRING &strEnding, ::collection::index iFind=0, ::collection::index iLast=-1) const
::collection::index case_insensitive_prefix_find_first (const SCOPED_STRING &strTopic, ::collection::index iFind=0, ::collection::index iLast=-1) const
::collection::index prefix_find_first (const SCOPED_STRING &strTopic, ::collection::index iFind=0, ::collection::index iLast=-1) const
bool case_insensitive_prefixes (const SCOPED_STRING &strTopic, ::collection::index iFind=0, ::collection::index iLast=-1) const
bool prefixes (const SCOPED_STRING &strTopic, ::collection::index iFind=0, ::collection::index iLast=-1) const
::collection::index case_insensitive_suffix_find_first (const SCOPED_STRING &strTopic, ::collection::index iFind=0, ::collection::index iLast=-1) const
::collection::index suffix_find_first (const SCOPED_STRING &strTopic, ::collection::index iFind=0, ::collection::index iLast=-1) const
bool case_insensitive_suffixes (const SCOPED_STRING &strTopic, ::collection::index iFind=0, ::collection::index iLast=-1) const
bool suffixes (const SCOPED_STRING &strTopic, ::collection::index iFind=0, ::collection::index iLast=-1) const
::collection::index case_insensitive_substring_find_first (const SCOPED_STRING &strTopic, ::collection::index iFind=0, ::collection::index iLast=-1, const CHARACTER **ppszBeg=nullptr, const CHARACTER **ppszEnd=nullptr) const
::collection::index substring_find_first (const SCOPED_STRING &strTopic, ::collection::index iFind=0, ::collection::index iLast=-1, const CHARACTER **ppszBeg=nullptr, const CHARACTER **ppszEnd=nullptr) const
bool case_insensitive_is_part_of (const SCOPED_STRING &strTopic, ::collection::index iFind=0, ::collection::index iLast=-1) const
bool is_part_of (const SCOPED_STRING &strTopic, ::collection::index iFind=0, ::collection::index iLast=-1) const
bool _067CaseInsensitiveContains (const SCOPED_STRING &strFind, ::collection::index iFind=0, ::collection::index iLast=-1, ::collection::count countMin=1, ::collection::count countMax=-1) const
bool _067Contains (const SCOPED_STRING &str, ::collection::index iFind=0, ::collection::index iLast=-1, ::collection::count countMin=1, ::collection::count countMax=-1) const
bool _067CaseInsensitiveContainsSubstring (const SCOPED_STRING &str, ::collection::index iFind=0, ::collection::index iLast=-1, ::collection::count countMin=1, ::collection::count countMax=-1) const
bool _067ContainsSubstring (const SCOPED_STRING &str, ::collection::index iFind=0, ::collection::index iLast=-1, ::collection::count countMin=1, ::collection::count countMax=-1) const
bool case_insensitive_contains (const SCOPED_STRING &strFind, ::collection::index iFind=0, ::collection::index iLast=-1) const
bool contains (const SCOPED_STRING &strFind, ::collection::index iFind=0, ::collection::index iLast=-1) const
bool case_insensitive_theres (const SCOPED_STRING &strSubstring, ::collection::index iFind=0, ::collection::index iLast=-1, const CHARACTER **ppszBeg=nullptr, const CHARACTER **ppszEnd=nullptr) const
bool theres (const SCOPED_STRING &strSubstring, ::collection::index iFind=0, ::collection::index iLast=-1, const CHARACTER **ppszBeg=nullptr, const CHARACTER **ppszEnd=nullptr) const
template<prototype_array INDEX_ARRAY>
::collection::count case_insensitive_begins (INDEX_ARRAY &ia, const SCOPED_STRING &strPrefix, ::collection::index first=0, ::collection::index iLast=-1)
template<prototype_array INDEX_ARRAY>
::collection::count begins (INDEX_ARRAY &ia, const SCOPED_STRING &strPrefix, ::collection::index first=0, ::collection::index iLast=-1)
template<prototype_array STRING_ARRAY>
::collection::count case_insensitive_ends (STRING_ARRAY &stra, const SCOPED_STRING &strSuffix, ::collection::index first=0, ::collection::index iLast=-1)
template<prototype_array STRING_ARRAY>
::collection::count ends (STRING_ARRAY &stra, const SCOPED_STRING &strSuffix, ::collection::index first=0, ::collection::index iLast=-1)
template<prototype_array STRING_ARRAY>
::collection::count case_insensitive_search (STRING_ARRAY &stra, const SCOPED_STRING &strSubstring, ::collection::index first=0, ::collection::index iLast=-1)
template<prototype_array STRING_ARRAY>
::collection::count search (STRING_ARRAY &stra, const SCOPED_STRING &strSubstring, ::collection::index first=0, ::collection::index iLast=-1)
::collection::count case_insensitive_filter_begins (const SCOPED_STRING &strPrefix, ::collection::index first=0, ::collection::index iLast=-1)
::collection::count filter_begins (const SCOPED_STRING &strPrefix, ::collection::index first=0, ::collection::index iLast=-1)
template<typename Pred>
::collection::count filter (Pred pred, ::collection::index first=0, ::collection::index iLast=-1)
template<typename Pred>
::collection::count filter_out (Pred pred, ::collection::index first=0, ::collection::index iLast=-1)
template<typename Pred, typename ArrayOut>
::collection::count filter_out (Pred pred, ArrayOut &a, ::collection::index first=0, ::collection::index iLast=-1)
::collection::count case_insensitive_erase_first (const SCOPED_STRING &str, ::collection::index iFind=0, ::collection::index iLast=-1)
::collection::count erase_first (const SCOPED_STRING &str, ::collection::index iFind=0, ::collection::index iLast=-1)
::collection::count case_insensitive_erase_last (const SCOPED_STRING &str, ::collection::index iFind=0, ::collection::index iLast=-1)
::collection::count erase_last (const SCOPED_STRING &str, ::collection::index iFind=0, ::collection::index iLast=-1)
::collection::count _067CaseInsensitiveRemove (const SCOPED_STRING &str, ::collection::index iFind=0, ::collection::index iLast=-1, ::collection::count countMin=0, ::collection::count countMax=-1)
::collection::count _067Remove (const SCOPED_STRING &str, ::collection::index iFind=0, ::collection::index iLast=-1, ::collection::count countMin=0, ::collection::count countMax=-1)
::collection::count case_insensitive_erase (const SCOPED_STRING &str, ::collection::index iFind=0, ::collection::index iLast=-1)
::collection::count erase (const SCOPED_STRING &str, ::collection::index iFind=0, ::collection::index iLast=-1)
template<prototype_container CONTAINER>
::collection::count case_insensitive_erase (const CONTAINER &container)
template<prototype_container CONTAINER>
::collection::count erase (const CONTAINER &container)
string_base_array & explode (const SCOPED_STRING &strSeparator, const SCOPED_STRING &str, bool bAddEmpty=true)
string_base_array & _001Explode (const SCOPED_STRING &str)
template<typename PRED>
Type predicate_implode (PRED pred, const SCOPED_STRING &strSeparator=nullptr, ::collection::index iStart=0, ::collection::count iCount=-1) const
Type implode (const SCOPED_STRING &strSeparator=nullptr, ::collection::index iStart=0, ::collection::count iCount=-1) const
Type postfix_implode (const SCOPED_STRING &strSuffix=nullptr, ::collection::index iStart=0, ::collection::count iCount=-1) const
Type reverse_implode (const SCOPED_STRING &strSeparator=nullptr, ::collection::index iStart=0, ::collection::count iCount=-1) const
 void reverse_implode(Type & rwstr,const SCOPED_STRING &strSeparator = nullptr,collection::index iStart = 0,collection::count iCount = -1) const;
Type _008Implode (const SCOPED_STRING &strSeparator=nullptr, const SCOPED_STRING &strLastSeparator=nullptr, ::collection::index iStart=0, ::collection::count iCount=-1) const
Type _008IfImplode (const SCOPED_STRING &strIfHasElementPrefix=nullptr, const SCOPED_STRING &strSeparator=nullptr, const SCOPED_STRING &strLastSeparator=nullptr, bool bUseLast=true, ::collection::index iStart=0, ::collection::count iCount=-1) const
void surround (const SCOPED_STRING &strPrefix=nullptr, const SCOPED_STRING &strSuffix=nullptr, ::collection::index iStart=0, ::collection::count iCount=-1)
Type surround_and_implode (const SCOPED_STRING &strSeparator=nullptr, const SCOPED_STRING &strPrefix=nullptr, const SCOPED_STRING &strSuffix=nullptr, ::collection::index iStart=0, ::collection::count iCount=-1)
bool operator== (const BASE_RAW_STRING_ARRAY &a) const
bool operator!= (const BASE_RAW_STRING_ARRAY &a) const
void replace_with (const SCOPED_STRING &strNew, const SCOPED_STRING &strOld)
void get_format_string (Type &str, const SCOPED_STRING &strSeparator) const
void add_tokens (const SCOPED_STRING &str, const SCOPED_STRING &strSeparator, bool bAddEmpty=true)
void add_smallest_tokens (const SCOPED_STRING &str, const BASE_RAW_STRING_ARRAY &straSeparator, bool bAddEmpty=true, bool bWithSeparator=false)
void add_words (const SCOPED_STRING &str)
template<bool bAddEmpty>
Type::const_iterator _____add_lines_rn (const SCOPED_STRING &scopedstr, bool bWithEOL)
 Add Lines in a string that contains at least one '\r' character and one '
' character.
template<bool bAddEmpty>
void __add_lines_suffix (typename Type::const_iterator start, typename Type::const_iterator end)
 Add Last Line when adding lines in a string.
template<bool bAddEmpty>
void __add_lines_rn (const SCOPED_STRING &scopedstr)
template<CHARACTER chSeparator, bool bAddEmpty>
void __add_lines (const SCOPED_STRING &scopedstr)
template<bool bAddEmpty>
void _add_lines (const SCOPED_STRING &scopedstr, bool bWithEOL=false)
void add_lines (const SCOPED_STRING &scopedstr, bool bAddEmpty=true, bool bWithEOL=false)
template<CHARACTER chSeparator, bool bAddEmpty>
Type::const_iterator _____add_lines (const SCOPED_STRING &scopedstr, bool bWithEOL=false)
 Add Lines in a string that contains only one type of separator @chSeparator.
void _001AddTokens (const SCOPED_STRING &str)
bool is_empty (::collection::count countMinimum=1) const
bool has_elements (::collection::count countMinimum=1) const
Type encode_v16 ()
void decode_v16 (const SCOPED_STRING &str)
::collection::count count_except (const SCOPED_STRING &str)
::collection::count count_except (const string_base_array &stra)
::collection::count case_insensitive_count_except (const SCOPED_STRING &str)
::collection::count case_insensitive_count_except (const string_base_array &stra)
Type & get_network_payload (Type &str, bool bNewLine=true) const
::array_base< const_char_pointer > c_ansi_get (bool bMemoryAlloc=false) const
void c_add (char_pointer *ppsz, ::collection::count iCount, bool bMemoryAlloc=false)
 expect strings allocated with malloc (sic, not acme::get()->m_pheapmanagement->memory(::heap::e_memory_main)->allocate) or strdup and array allocated with malloc (sic, not acme::get()->m_pheapmanagement->memory(::heap::e_memory_main)->allocate)
void c_add (char_pointer *ppsz, bool bMemoryAlloc=false)
 expect strings allocated with malloc (sic, not acme::get()->m_pheapmanagement->memory(::heap::e_memory_main)->allocate) or strdup and array allocated with malloc (sic, not acme::get()->m_pheapmanagement->memory(::heap::e_memory_main)->allocate)
void c_add (wchar_t **ppsz, ::collection::count iCount, bool bMemoryAlloc=false)
 expect strings allocated with malloc (sic, not acme::get()->m_pheapmanagement->memory(::heap::e_memory_main)->allocate) or wcsdup and array allocated with malloc (sic, not acme::get()->m_pheapmanagement->memory(::heap::e_memory_main)->allocate)
void c_add (wchar_t **ppsz, bool bMemoryAlloc=false)
 expect strings allocated with malloc (sic, not acme::get()->m_pheapmanagement->memory(::heap::e_memory_main)->allocate) or wcsdup and array allocated with malloc (sic, not acme::get()->m_pheapmanagement->memory(::heap::e_memory_main)->allocate)
void feed_line (const ::scoped_string &scopedstr, bool bCarriage)
string_base_array & intersect (const string_base_array &a)
string_base_array & case_insensitive_intersect (const string_base_array &a)
string_base_array & operator&= (const string_base_array &a)
::std::strong_ordering case_insensitive_order (const THIS_RAW_RANGE &rawrange) const
template<prototype_container CONTAINER>
::collection::count case_insensitive_erase (const CONTAINER &container)
template<prototype_container CONTAINER>
::collection::count erase (const CONTAINER &container)
template<prototype_array INDEX_ARRAY>
::collection::count begins (INDEX_ARRAY &iaPrefixed, const SCOPED_STRING &strPrefix, ::collection::index iFirst, ::collection::index iLast)
template<prototype_array INDEX_ARRAY>
::collection::count case_insensitive_begins (INDEX_ARRAY &iaPrefixed, const SCOPED_STRING &strPrefix, ::collection::index iFirst, ::collection::index iLast)
template<prototype_array STRING_ARRAY>
::collection::count case_insensitive_ends (STRING_ARRAY &straSuffixed, const SCOPED_STRING &strSuffix, ::collection::index iFirst, ::collection::index iLast)
template<prototype_array STRING_ARRAY>
::collection::count ends (STRING_ARRAY &iaSuffixed, const SCOPED_STRING &strSuffix, ::collection::index iFirst, ::collection::index iLast)
template<prototype_array STRING_ARRAY>
::collection::count search (STRING_ARRAY &iaResult, const SCOPED_STRING &strTopic, ::collection::index iFirst, ::collection::index iLast)
template<prototype_array STRING_ARRAY>
::collection::count case_insensitive_search (STRING_ARRAY &ia, const SCOPED_STRING &strTopic, ::collection::index iFirst, ::collection::index iLast)
template<typename Pred>
::collection::count filter (Pred pred, ::collection::index iFirst, ::collection::index iLast)
template<typename Pred>
::collection::count filter_out (Pred pred, ::collection::index iFirst, ::collection::index iLast)
template<typename Pred, typename ArrayOut>
::collection::count filter_out (Pred pred, ArrayOut &a, ::collection::index iFirst, ::collection::index iLast)
Public Member Functions inherited from comparable_array_base< Type, const Type &, comparable_eq_array_base< Type, const Type &, array_base< Type, const Type &, ::typed::def< Type >, ::heap::typed_memory< Type, ::heap::e_memory_array >, t_etypeContainer > > >
constexpr auto _order (const BASE_RAW_RANGE &range) const
constexpr auto order (const BASE_RAW_RANGE &range) const
constexpr auto operator<=> (const comparable_array_base &array) const
Public Member Functions inherited from comparable_eq_array_base< TYPE, ARG_TYPE, ARRAY_TYPE >
 comparable_eq_array_base (const RAW_BASE_ARRAY &a)
::collection::index find_first (ARG_TYPE t) const
::collection::index find_first (ARG_TYPE t, ::collection::index find, ::collection::index last=-1) const
::collection::index find_last (ARG_TYPE t) const
::collection::index find_last_not (ARG_TYPE t) const
::collection::count get_count () const
::collection::count get_count (ARG_TYPE t, ::collection::index start=0, ::collection::index last=-1, ::collection::count countMax=-1) const
bool contains (ARG_TYPE t) const
bool has (ARG_TYPE t) const
bool contains (ARG_TYPE t, ::collection::index start, ::collection::index last=-1, ::collection::count countMin=1, ::collection::count countMax=-1) const
bool contains (comparable_eq_array_base &a, ::collection::count cMinCount=-1) const
::collection::index erase_last (ARG_TYPE t)
::collection::index erase_first (ARG_TYPE t)
::collection::index erase_first (ARG_TYPE t, ::collection::index find, ::collection::index last=-1)
::collection::count erase (ARG_TYPE t)
::collection::count erase (ARG_TYPE t, ::collection::index find, ::collection::index last=-1, ::collection::count countMin=0, ::collection::count countMax=-1)
template<prototype_container CONTAINER>
::collection::count erase (const CONTAINER &container)
::collection::count erase (iterator start, iterator end)
bool add_unique (ARG_TYPE t)
::collection::count append_unique (const ARRAY_TYPE &a)
TYPE & insert_unique (ARG_TYPE t)
bool insert_unique_at (::collection::index i, ARG_TYPE t)
::collection::count add_erase (bool bAdd, ARG_TYPE t)
void merge (const comparable_eq_array_base &a)
void intersect (const comparable_eq_array_base &a)
comparable_eq_array_base & operator-= (const TYPE &t)
template<prototype_range RANGE>
comparable_eq_array_base & operator-= (const RANGE &range)
comparable_eq_array_base & operator-= (const std::initializer_list< TYPE > &initializer_list)
comparable_eq_array_base & transfer (comparable_eq_array_base &&array)
TYPE get_next (ARG_TYPE t)
bool equals (CONST_RAW_RANGE a) const
bool operator== (CONST_RAW_RANGE a) const
template<prototype_container CONTAINER>
::collection::index erase (const CONTAINER &container)

Member Function Documentation

◆ _____add_lines()

template<typename Type, typename RawType, ::enum_type t_etypeContainer>
template<CHARACTER chSeparator, bool bAddEmpty>
Type::const_iterator string_base_array< Type, RawType, t_etypeContainer >::_____add_lines ( const SCOPED_STRING & scopedstr,
bool bWithEOL = false )
inline

Add Lines in a string that contains only one type of separator @chSeparator.

Template Parameters
chSeparatorthe EOL character
bAddEmptytrue to add empty lines
Parameters
scopedstrstring with lines to add lines for
bWithEOLtrue to include EOL
Returns
Last Line without separator

◆ _____add_lines_rn()

template<typename Type, typename RawType, ::enum_type t_etypeContainer>
template<bool bAddEmpty>
Type::const_iterator string_base_array< Type, RawType, t_etypeContainer >::_____add_lines_rn ( const SCOPED_STRING & scopedstr,
bool bWithEOL )

Add Lines in a string that contains at least one '\r' character and one '
' character.

Template Parameters
bAddEmptytrue to add empty lines
Parameters
scopedstrlines to add lines for
bWithEOLtrue to include EOL
Returns
Last Line without separator

◆ __add_lines_suffix()

template<typename Type, typename RawType, ::enum_type t_etypeContainer>
template<bool bAddEmpty>
void string_base_array< Type, RawType, t_etypeContainer >::__add_lines_suffix ( typename Type::const_iterator start,
typename Type::const_iterator end )
inline

Add Last Line when adding lines in a string.

Template Parameters
bAddEmptytrue to add empty lines
Parameters
startline start
endline end

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