acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
file::path Class Reference
Inheritance diagram for file::path:
string_base< const_char_pointer > file::path_meta const_string_range< const_char_pointer > file_time_set character_range< const_char_pointer > block_range< const_char_pointer > range< const_char_pointer > file::path_object

Public Types

using BASE_RANGE = typename ::string::BASE_RANGE
using CHARACTER = typename BASE_RANGE::CHARACTER
using ITEM = CHARACTER
Public Types inherited from string_base< const_char_pointer >
using BASE_RANGE
using this_iterator
using iterator
using const_iterator
using PRIMITIVE_STRING_TAG
using ITEM_POINTER
using ITEM
using CHARACTER
using BASE_DATA
using SCOPED_STRING
typedef character_count size_type
Public Types inherited from const_string_range< const_char_pointer >
using BASE_RANGE
using RAW_CHARACTER_RANGE
using THIS_RANGE
using STRING_RANGE
using ITEM_POINTER
using ITEM
using CHARACTER
using BASE_DATA
using this_iterator
using iterator
using const_iterator
using THIS_RAW_RANGE
using RAW_RANGE
using CONST_RAW_RANGE
using SCOPED_STRING
using ARG_ITEM
using STRING
using STRING_ARRAY
Public Types inherited from character_range< const_char_pointer >
using THIS_CHARACTER_RANGE
using RAW_CHARACTER_RANGE
using BASE_RANGE
using BASE_RAW_RANGE
using _BASE_RAW_RANGE
using this_iterator
using CHARACTER
using BASE_DATA
Public Types inherited from block_range< const_char_pointer >
using this_iterator
using iterator
using const_iterator
using THIS_RAW_RANGE
using RAW_RANGE
using CONST_RAW_RANGE
using _BASE_RAW_RANGE
using THIS_RANGE
using RANGE
using CONST_RANGE
using ITEM_POINTER
using THIS_ITEM
using ITEM
using CONST_ITEM
using ARG_ITEM
Public Types inherited from range< const_char_pointer >
using this_iterator
using iterator
using const_iterator
using THIS_RAW_RANGE
using RAW_RANGE
using CONST_RAW_RANGE
using THIS_RANGE
using RANGE
using CONST_RANGE
using ITEM_POINTER
using THIS_ITEM
using ITEM
using CONST_ITEM
using ARG_ITEM

Public Member Functions

 path (enum_path epath)
 path (no_initialize_t)
 path (nullptr_t)
 path (const path &path)
 path (path &&path)
template<prototype_character_range RANGE>
requires (!(::std::is_base_of_v < path, RANGE > || ::std::is_same_v < path, RANGE >))
 path (const RANGE &range, enum_path epath=e_path_none, e_type etype=e_type_unknown, bool bNormalizePath=true, ::i64 iSize=-1)
template<prototype_character CHARACTER2>
 path (const CHARACTER2 *start, const CHARACTER2 *end, enum_path epath=e_path_none, e_type etype=e_type_unknown, bool bNormalize=true, ::i64 iSize=-1)
template<prototype_character CHARACTER2>
 path (const CHARACTER2 *start, enum_path epath=e_path_none, e_type etype=e_type_unknown, bool bNormalize=true, ::i64 iSize=-1)
template<prototype_character CHARACTER2>
 path (const CHARACTER2 *start, character_count len, enum_path epath=e_path_none, e_type etype=e_type_unknown, bool bNormalize=true, ::i64 iSize=-1)
template<prototype_character CHARACTER2, character_count sizeMaximumLength>
 path (const inline_string< CHARACTER2, sizeMaximumLength > &inlinestring)
 path (const_iterator begin, const_iterator end)
template<prototype_character CHARACTER2>
 path (CHARACTER2 chSrc, character_count repeat)
 path (::ansi_character ansich)
 path (::wd16_character wd16ch)
 path (::wd32_character wd32ch)
 path (const ::atom &atom)
 path (const ::payload &payload)
 path (const ::property &property)
::url::url as_url () const
::string consume_item ()
::windows_path windows_path () const
void set_type (enum_path epath)
path & set_file_path (const ::scoped_string &scopedstrFile)
path & set_folder_path (const ::scoped_string &scopedstrFolder)
path & set_file_path ()
path & set_folder_path ()
path & set_existent ()
path & set_existent_file ()
path & set_existent_folder ()
constexpr e_type type () const
e_type & type ()
bool is_unknown_type () const
void set_type (e_type etype)
constexpr ::i32_boolean does_exist () const
constexpr ::i32_boolean is_file () const
constexpr ::i32_boolean is_folder () const
constexpr ::i32_boolean is_file_or_folder () const
constexpr ::i32_boolean not_file_or_folder () const
constexpr ::i32_boolean is_existent_file () const
constexpr ::i32_boolean is_existent_folder () const
constexpr ::i32_boolean is_existent_file_or_folder () const
void set_all_extensions (const ::scoped_string &scopestrExtension)
void set_final_extension (const ::scoped_string &scopestrExtension)
void set_extension_if_no_extension (const ::scoped_string &scopestrExtension)
void defer_set_extension (const ::string_array_base &straPreserveExtensions, const ::string_array_base &straRelatedExtensions)
void defer_set_extension (const ::string_array_base &straPreserveExtensions)
void defer_set_extension (const ::file::file_dialog *pdialog)
::file::path with_all_extensions (const ::scoped_string &scopestrExtension) const
::file::path with_final_extension (const ::scoped_string &scopestrExtension) const
::file::path with_extension_if_no_extension (const ::scoped_string &scopestrExtension) const
::file::path with_deferred_extension (const ::string_array_base &straPreserveExtensions, const ::string_array_base &straRelatedExtensions) const
::file::path with_deferred_extension (const ::string_array_base &straPreserveExtensions) const
::file::path with_deferred_extension (const ::file::file_dialog *pdialog) const
path & operator= (const ::file::path &path)
bool is_equal_fast (const path &path) const
bool operator== (const path &path) const
template<character_count n>
bool operator== (const ::i8(&cha)[n]) const
bool operator== (const ::scoped_string &scopedstr) const
bool operator== (const ::string &str) const
bool operator!= (const path &path) const
bool operator!= (const ::ansi_string &str) const
bool operator!= (const ::scoped_string &scopedstr) const
path & operator+= (const ::scoped_string &scopedstr)
path slashed_path (const ::scoped_string &scopedstr) const
path slash_path (const ::scoped_string &scopedstr) const
path & operator/= (const ::scoped_string &scopedstr)
bool is_empty () const
bool has_character () const
::file::path operator| (::file::e_flag eflag) const
path sibling (const ::scoped_string &scopedstr) const
path operator* (const ::scoped_string &scopedstr) const
path & operator*= (const ::scoped_string &scopedstr)
::const_ansi_range title () const
::const_ansi_range name () const
const_iterator find_name () const
 return index pointing to beginning of name
::const_ansi_range find_all_extensions () const
::const_ansi_range find_final_extension () const
::const_ansi_range all_extensions () const
::const_ansi_range final_extension () const
bool is_relative ()
auto relative () const
path folder () const
path folder (::i32 i) const
path parent () const
path ascendant (::i32 i) const
path & ascend ()
path & ascend (::i32 i)
path operator- (::i32 i) const
path & operator-= (::i32 i)
::string_array_base parts () const
::file::path & patch_base_path (const ::file::path &pathBase)
const_ansi_range _get_count_parts_from_beginning (::collection::count iPathPartCountToConsume) const
const_ansi_range get_count_parts_from_beginning (::collection::count iPathPartCountToConsume) const
Public Member Functions inherited from string_base< const_char_pointer >
 string_base (no_initialize_t)
 string_base (nullptr_t)
 string_base (CHARACTER_POINTER start, CHARACTER_POINTER end, enum_range erange)
 string_base (OTHER_CHARACTER_POINTER start, OTHER_CHARACTER_POINTER end, enum_range erange=e_range_none)
 string_base (const string_base &str)
 string_base (const STDSTRING &stdstring)
 string_base (const RANGE &str)
 string_base (const RANGE &range1, const RANGE2 &range2)
 string_base (const ::character_range< const OTHER_CHARACTER * > &range)
 string_base (string_base &&str)
 string_base (const ::c::string &cstring)
 string_base (const BLOCK &block)
 string_base (CHARACTER_POINTER start, character_count length)
 string_base (CHARACTER_POINTER start, CHARACTER_POINTER end)
 string_base (CHARACTER_POINTER s1, CHARACTER_POINTER e1, CHARACTER_POINTER s2, CHARACTER_POINTER e2)
 string_base (CHARACTER_POINTER start)
 string_base (const CHARACTER2 *start, character_count length, enum_range erange)
 string_base (const inline_string< CHARACTER2, sizeMaximumLength > &inlinestring)
 string_base (const_iterator begin, const_iterator end)
 string_base (OTHER_CHARACTER chSrc, character_count repeat=1)
 string_base (CHARACTER chSrc, character_count repeat=1)
 string_base (const ::atom &atom)
 string_base (const ::payload &payload)
 string_base (const ::property &property)
void destroy ()
const ::block as_block () const
void default_construct ()
void construct_from_a_range (CHARACTER_POINTER start, CHARACTER_POINTER end, enum_range erange=e_range_none, BASE_DATA *pbasedata=nullptr)
void construct_from_a_range (OTHER_CHARACTER_POINTER start, OTHER_CHARACTER_POINTER end, enum_range erange=e_range_none)
void construct_from_string (const string_base &str)
void construct_from_a_range (const RANGE &range)
void construct2 (const ::character_range< const CHARACTER * > &range)
void construct_from_range (const_char_pointer pSrc, character_count length)
void construct_from_range (OTHER_CHARACTER_POINTER pSrc, character_count length)
void construct20 (const OTHER_CHARACTER *psz, character_count length, enum_range erange)
void construct_from_two_ranges_concatenation (const RANGE1 &range1, const RANGE2 &range2)
character_count start_count_length (character_count &start, character_count &count, const CHARACTER2 *pszSource)
const string_base & to_string () const
const CHARACTER * c_str () const
const CHARACTER * c_str_for_printf () const
this_iterator & begin (this_iterator begin)
this_iterator & end (this_iterator end)
bool contains_erase (const SCOPED_STRING &scopedstr)
string_base to_string_base () const
const BASE_RANGE & to_string_base ()
bool operator== (const string_base &str) const
::std::strong_ordering operator<=> (const string_base &str) const
string_base & operator= (const string_base &str)
string_base & operator= (const RANGE &str)
string_base & operator= (SOME_RANGE &&range)
string_base & operator+= (const SCOPED_STRING &scopedstr)
string_base & operator+= (CHARACTER character)
string_base & surround (const SCOPED_STRING &scopedstr)
string_base & surround (const SCOPED_STRING &scopedstrLeft, const SCOPED_STRING &scopedstrRight)
string_base & f64_quote (bool bEscape=false)
string_base & single_quote (bool bEscape=false)
::character_count size_with_null_terminator () const
::character_count size_in_bytes_with_null_terminator () const
const ::block block_with_null_terminator () const
string_base & assign_range (const SAME_CHARACTER_RANGE &range)
string_base & transfer_range (SAME_CHARACTER_RANGE &&range)
string_base & assign_range (const OTHER_CHARACTER_RANGE &range)
string_base & transfer_range (OTHER_CHARACTER_RANGE &&range)
string_base & assign (const BLOCK &block)
string_base & assign (const_iterator start)
string_base & assign (const_iterator start, const_iterator end)
string_base & assign (const CHARACTER2 *start, const CHARACTER2 *end)
string_base & assign (const CHARACTER2 *pszSrc, character_count length)
string_base & assign (const CHARACTER2 *pszSrc)
string_base & _assign (const SAME_SIZE_CHARACTER *pszSrc, character_count length)
string_base & _assign (const OTHER_SIZE_CHARACTER *pszSrc, character_count length)
string_base & assign (CHARACTER2 chSrc, character_count repeat=1)
string_base & append (character_count length, CHARACTER ch)
string_base & append_character_array (const CHARACTER2 *psz, character_count length)
string_base & append_character (::wd32_character wch)
string_base & append_character (::ansi_character ch)
string_base & append_character (::wd16_character wch)
string_base & append (const ::character_range< const_char_pointer > &range)
string_base & append (const ::character_range< const OTHER_CHARACTER * > &range)
string_base & append (const_char_pointer psz)
string_base & append (const OTHER_CHARACTER *psz)
string_base & append (const CHARACTER *psz, character_count size)
string_base & append (const OTHER_CHARACTER *psz, character_count size)
string_base< const_char_pointer > & _append (const CHARACTER *pszSrc, character_count count)
string_base< const_char_pointer > & _append (const OTHER_CHARACTER *pszSrc, character_count count)
string_base & append (const ::atom &atom)
string_base & append (const ::payload &payload)
string_base & append (const ::property &property)
string_base & concatenate_with_separator (const SCOPED_STRING &scopedstrSeparator, const SCOPED_STRING &scopedstr)
void empty ()
auto_string_buffer< const_char_pointer > auto_release_buffer (character_count characterCount=-1)
CHARACTER * get_buffer (character_count characterCount=-1)
mutable_string_range< CHARACTER * > get_range_buffer (character_count characterCount)
void release_range_buffer (const mutable_string_range< CHARACTER * > &range)
void get_string (CHARACTER *psz) const noexcept
bool if_empty_set_to (const string_base &str)
string_base & release_buffer (character_count nNewLength=-1)
this_iterator truncate_on_find_character (CHARACTER ch)
this_iterator & truncate (this_iterator p)
this_iterator & truncate (INTEGRAL count)
this_iterator & rear_truncate (INTEGRAL count)
string_base truncated (INTEGRAL count) const
this_iterator & erase_beginning (this_iterator p)
void set_at (character_count iChar, CHARACTER ch)
CHARACTER * create_string (character_count character_count)
 draft: all allocation, release and assignment done
void defer_set_size (character_count characterCount)
const SCOPED_STRING & if_empty (const SCOPED_STRING &scopedstr) const
bool set_if_empty (const SCOPED_STRING &scopedstr)
void add (CHARACTER ch)
void reserve (character_count res_arg=0)
string_base & erase_end (character_count start)
string_base & erase_count_end (character_count count)
string_base & index_erase (character_count start, character_count count)
string_base & index_erase (character_count count)
 erase count characters from start
string_base & erase (const_iterator start, character_count count)
string_base & erase (const_iterator start, const_iterator end=0)
::collection::count insert (character_count iIndex, CHARACTER ch)
::collection::count insert (character_count iIndex, const string_base &str)
::collection::count replace_with (CHARACTER charNew, CHARACTER charOld, character_count start=0)
::collection::count _replace_with (const SCOPED_STRING &scopedstrNew, const SCOPED_STRING &scopedstrOld, character_count start, EQUALITY equality)
::collection::count replace_with (const SCOPED_STRING &scopedstrNew, const SCOPED_STRING &scopedstrOld, character_count start=0)
::collection::count case_insensitive_replace_with (const SCOPED_STRING &scopedstrNew, const SCOPED_STRING &scopedstrOld, character_count start=0)
::collection::count replace_with_count (const SCOPED_STRING &scopedstrNew, const SCOPED_STRING &scopedstrOld, character_count iStart=0)
::collection::count replace_with_ci_count (const SCOPED_STRING &scopedstrNew, const SCOPED_STRING &scopedstrOld, character_count iStart=0)
::collection::count find_replace (CHARACTER charOld, CHARACTER charNew, character_count iStart=0)
::collection::count find_replace (const SCOPED_STRING &scopedstrOld, const SCOPED_STRING &scopedstrNew, character_count start=0)
::collection::count case_insensitive_find_replace (const SCOPED_STRING &scopedstrOld, const SCOPED_STRING &scopedstrNew, character_count start=0)
::collection::count find_replace_count (const SCOPED_STRING &scopedstrOld, const SCOPED_STRING &scopedstrNew, character_count iStart=0)
::collection::count case_insensitive_find_replace_count (const SCOPED_STRING &scopedstrOld, const SCOPED_STRING &scopedstrNew, character_count iStart=0)
string_base & replace (const_iterator start, const_iterator end, const SCOPED_STRING &scopedstr)
string_base & replace_index (character_count start, character_count end, const SCOPED_STRING &scopedstr)
::collection::count erase_character (CHARACTER chRemove)
::collection::count erase_any_character_in (const SCOPED_STRING &scopedstrCharacters)
string_base Tokenize (const SCOPED_STRING &scopedstrTokens, character_count &iStart) const
string_base & begins_eat_any_character_in (const SCOPED_STRING &scopedstrCharacters=0)
string_base intersection (const SCOPED_STRING &scopedstr) const
string_base ansistr () const
unicode_iterator< CHARACTER > unicode_begin () const
unicode_iterator< CHARACTER > unicode_end () const
string_base unicode_substr (START start) const
string_base unicode_substr (START start, COUNT count) const
constexpr bool starts_with_word (const SCOPED_STRING &range, const ::get_word_function< const_char_pointer > &functionGetWord) const
string_base get_word (const SCOPED_STRING &sSep)
const_string_range< const_char_pointer > _peek_word (const SCOPED_STRING &sSep, const_char_pointer *ppnext=nullptr) const
string_base peek_word (const SCOPED_STRING &sSep, const_char_pointer *ppnext=nullptr) const
constexpr bool case_insensitive_starts_with_word (const SCOPED_STRING &range, const get_word_function< const_char_pointer > &functionGetWord) const
constexpr bool starts_with_word (const SCOPED_STRING &range) const
constexpr bool case_insensitive_starts_with_word (const SCOPED_STRING &range) const
bool begins_eat (const SCOPED_STRING &scopedstrPrefix)
bool ends_eat (const SCOPED_STRING &scopedstrSuffix)
bool case_insensitive_begins_eat (const SCOPED_STRING &scopedstrPrefix)
bool case_insensitive_ends_eat (const SCOPED_STRING &scopedstrSuffix)
bool begins_erase_get_erased (string_base &strErased, const SCOPED_STRING &scopedstr)
bool ends_erase_get_erased (string_base &strErased, const SCOPED_STRING &scopedstr)
bool begins_replace (const SCOPED_STRING &scopedstrNewPrefix, const SCOPED_STRING &scopedstrPrefix)
bool case_insensitive_begins_replace (const SCOPED_STRING &scopedstrNewPrefix, const SCOPED_STRING &scopedstrPrefix)
bool begins_get_remainder (string_base &strRemainder, const SCOPED_STRING &scopedstr) const
bool ends_get_remainder (string_base &strRemainder, const SCOPED_STRING &scopedstr) const
bool case_insensitive_begins_get_remainder (string_base &strRemainder, const SCOPED_STRING &scopedstr) const
bool case_insensitive_ends_get_remainder (string_base &strRemainder, const SCOPED_STRING &scopedstr) const
string_base begins_bitten (const SCOPED_STRING &scopedstr) const
string_base ends_bitten (const SCOPED_STRING &scopedstr) const
string_base case_insensitive_begins_bitten (const SCOPED_STRING &scopedstr) const
string_base case_insensitive_ends_bitten (const SCOPED_STRING &scopedstr) const
string_base case_insensitive_begins_eaten (const SCOPED_STRING &scopedstr) const
string_base case_insensitive_ends_eaten (const SCOPED_STRING &scopedstr) const
string_base & ensure_prefix (const SCOPED_STRING &scopedstrPrefix)
string_base & case_insensitive_ensure_prefix (const SCOPED_STRING &scopedstrPrefix)
string_base & ensure_suffix (const SCOPED_STRING &scopedstrSuffix)
string_base & case_insensitive_ensure_suffix (const SCOPED_STRING &scopedstrSuffix)
string_base defer_prefixed (const SCOPED_STRING &scopedstrPrefix) const
string_base case_insensitive_defer_prefixed (const SCOPED_STRING &scopedstrPrefix) const
string_base defer_suffixed (const SCOPED_STRING &scopedstrSuffix) const
string_base case_insensitive_defer_suffixed (const SCOPED_STRING &scopedstrSuffix) const
bool eat_before (string_base &strBefore, const SCOPED_STRING &strSeparator, bool bEatEverythingIfNotFound=false)
bool eat_before_let_separator (string_base &strBefore, const SCOPED_STRING &strSeparator, bool bEatEverythingIfNotFound=false)
string_base & make_upper ()
string_base & make_lower ()
string_base & MakeReverse ()
string_base lower () const
string_base upper () const
string_base uppered () const
string_base reversed () const
string_base & trim_right ()
string_base & trim_left ()
string_base & trim ()
string_base & trim (CHARACTER chTarget)
string_base & trim (const SCOPED_STRING &scopedstrTargets)
string_base & trim_right (CHARACTER chTarget)
string_base & trim_right (const SCOPED_STRING &scopedstrTargets)
 template < pointer_castable < CHARACTER > PCHAR >
string_base & trim_left (CHARACTER chTarget)
string_base & trim_left (const SCOPED_STRING &scopedstrTargets)
string_base right_trimmed () const
string_base left_trimmed () const
string_base trimmed () const
string_base trimmed (CHARACTER chTarget) const
string_base trimmed (const SCOPED_STRING &scopedstrTargets) const
string_base right_trimmed (CHARACTER chTarget) const
string_base right_trimmed (const SCOPED_STRING &scopedstrCharacters) const
string_base left_trimmed (CHARACTER chTarget) const
string_base left_trimmed (const SCOPED_STRING &strTargets) const
bool pair_trim (CHARACTER character1, CHARACTER character2)
string_base & pair_trim_quotes ()
string_base paired_trim_quotes ()
string_base & formatf (const CHARACTER *pszFormat,...)
string_base & formatf_arguments (const CHARACTER *pszFormat, va_list args)
string_base & format_arguments (const scoped_string &scopedstrFormat, std::format_args args)
string_base & format_arguments (const scoped_wstring &scopedstrFormat, std::wformat_args args)
string_base & append_formatf (const CHARACTER *pszFormat,...)
string_base & append_formatf_arguments (const CHARACTER *pszFormat, va_list args)
string_base & format (::std::format_string< Args... > fmt, Args &&... args)
string_base & append_format (std::format_string< Args... > fmt, Args &&... args)
string_base & runtime_format (const scoped_string &scopedstrFormat, Args &&... args)
string_base & runtime_format (const scoped_wstring &scopedstrFormat, Args &&... args)
void resize (character_count n)
void resize (character_count n, CHARACTER c)
string_base unichar_substr (character_count iFirst) const
string_base unichar_substr (character_count iFirst, character_count nCount) const
string_base unichar_left (character_count nCount) const
string_base unichar_mid (character_count iFirst) const
string_base unichar_mid (character_count iFirst, character_count nCount) const
void clear ()
Public Member Functions inherited from const_string_range< const_char_pointer >
 const_string_range (no_initialize_t)
const_string_range start_count (character_count start, character_count count=-1)
::collection::count length () const
const_string_range & assign_bounded (const_char_pointer psz, character_count start, character_count count)
const_string_range subrange (character_count iFirst) const
auto & last () const
auto last_index () const
bool is_trimmed_empty () const
constexpr THIS_RANGE _begin_set (const_char_pointer pbegin) const
constexpr THIS_RANGE begin_set (const_char_pointer pbegin) const
constexpr THIS_RANGE _end_set (const_char_pointer pend) const
constexpr THIS_RANGE end_set (const_char_pointer pend) const
STRING_RANGE operator() (START start, COUNT count) const
auto substr (START start, COUNT count) 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_right () const
const_string_range trimmed () const
constexpr bool _is_p_in_range (const_char_pointer p) const
const_string_range & trim_left (const SCOPED_STRING &scopedstrAnyPrefixCharacterToTrim)
const_string_range & trim_right (const SCOPED_STRING &scopedstrAnySuffixCharacterToTrim)
const_string_range & trim (const SCOPED_STRING &scopedstrAnyPrefixCharacterToTrim, const SCOPED_STRING &scopedstrAnySuffixCharacterToTrim)
bool defer_trim (const SCOPED_STRING &scopedstrAnyPrefixCharacterToTrim, const SCOPED_STRING &scopedstrAnySuffixCharacterToTrim)
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
constexpr bool equals (const CHARACTER_RANGE &range) const
constexpr bool has_file_extension_without_dot (const SCOPED_STRING &scopedstrFileExtensionWithoutDot) const
constexpr bool case_insensitive_equals (const CHARACTER_RANGE &range) const
constexpr ::i32 compare (const CHARACTER_RANGE &range) const
constexpr ::i32 case_insensitive_compare (const CHARACTER_RANGE &range) const
constexpr ::std::strong_ordering order (const CHARACTER_RANGE &range) const
constexpr ::std::strong_ordering case_insensitive_order (const CHARACTER_RANGE &range) 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 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
const_iterator case_insensitive_find (const SCOPED_STRING &scopedstr) const RELEASENOTHROW
character_count case_insensitive_find_index (const SCOPED_STRING &scopedstr) 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< const_char_pointer > lowered () const
string_base< const_char_pointer > uppered () const
constexpr const_char_pointer _skip_any_character_in (const THIS_RANGE &rangeBlock, EQUALITY equality) const
constexpr const_char_pointer skip_any_character_in (const SCOPED_STRING &range) const
constexpr const_char_pointer 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
bool is_every_char (PRED pred) const
NUMBER & translate_index (NUMBER &number) const
bool contains (const SCOPED_STRING &scopedstr=0) const
bool contains_any (const STRING_ARRAY &stra) const
bool contains_all (const STRING_ARRAY &stra) const
bool case_insensitive_contains (const SCOPED_STRING &scopedstr=0) const
bool case_insensitive_contains_at_least_one_of (const STRING_ARRAY &stra) const
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_at_least_one_of (const STRING_ARRAY &stra) const
bool unicode_case_insensitive_contains_all (const STRING_ARRAY &stra) const
::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_skip_or_end (CHARACTER ch=0) const RELEASENOTHROW
const_char_pointer find_first_whitespace () const RELEASENOTHROW
 for the rear_* functions the most relevant returned value is actually in m_end.
const_char_pointer skip_whitespace () const RELEASENOTHROW
::character_count count_left (const SCOPED_STRING &range=typed_whitespace< CHARACTER >()) const RELEASENOTHROW
const_char_pointer rear_find_first_whitespace () const RELEASENOTHROW
const_char_pointer 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)
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 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 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_including_any_character_in (const SCOPED_STRING &scopedstrCharSet) const
THIS_RANGE left_skipping_any_character_in (const SCOPED_STRING &scopedstrCharSet) const
const_char_pointer __count_parts_from_beginning (::collection::count &cPathMaxPartCount, CHARACTER chPartSeparator) const
Public Member Functions inherited from character_range< const_char_pointer >
constexpr character_range (no_initialize_t)
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)
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)
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)
Public Member Functions inherited from block_range< const_char_pointer >
constexpr block_range (no_initialize_t noinitialize)
block_range & operator= (const block_range &range)
const ::block block () const
Public Member Functions inherited from range< const_char_pointer >
constexpr range (no_initialize_t)
range & operator= (const range &range)
void add_initializer_list (const ::std::initializer_list< ITEM > &initializer_list)
void set_null ()
constexpr THIS_RAW_RANGE operator() (START start) const
::collection::count array_get_count () const
void block_concatenate_to (A_ITEM *&p)
constexpr auto index_of (const_iterator p) const
this_iterator & begin ()
this_iterator & end ()
auto & first ()
constexpr this_iterator data ()
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
constexpr bool _equals (const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) const
constexpr bool equals (const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) const
constexpr auto _order (const THIS_RAW_RANGE &rangeBlock, ORDERING ordering) const
constexpr auto order (const THIS_RAW_RANGE &rangeBlock, ORDERING ordering) const
constexpr const_iterator _find (const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) const
constexpr const_iterator find (const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) const
constexpr const_iterator _rear_find (const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) const
constexpr const_iterator rear_find (const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) const
constexpr const_iterator _find_first_character (ITEM item, EQUALITY equality) const
constexpr const_iterator find_first_character (ITEM item, EQUALITY equality) const
constexpr const_iterator _find_first_character_in (const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) const
constexpr const_iterator find_first_character_in (const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) const
constexpr const_iterator _rear_find_first_character_in (const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) const
constexpr const_iterator rear_find_first_character_in (const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) const
constexpr const_iterator _skip (ARG_ITEM item, EQUALITY equality) const
constexpr const_iterator skip (ARG_ITEM item, EQUALITY equality) const
constexpr const_iterator _rear_skip (ARG_ITEM item, EQUALITY equality) const
constexpr const_iterator rear_skip (ARG_ITEM item, EQUALITY equality) const
constexpr bool _begins (const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) const
constexpr bool begins (const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) const
constexpr bool _ends (const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) const
constexpr bool ends (const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) const
Public Member Functions inherited from file::path_meta
 path_meta (enum_path epath=e_path_none, ::i64 iSize=-1, e_type etype=e_type_unknown, ::i64 iName=-1, character_count iBasePathLength=-1, const ::file::e_flag &eflag=::file::e_flag_none)
::file::e_flag & flags ()
const ::file::e_flag & flags () const
Public Member Functions inherited from file_time_set
bool operator== (const file_time_set &file_timeset) const
bool modified_timeout (const file_time &current, ::i32 iSeconds) const
bool modified_timeout (::i32 iSeconds) const

Additional Inherited Members

Static Public Member Functions inherited from string_base< const_char_pointer >
static consteval bool is_null_terminated ()
static string_base empty_string ()
Static Public Member Functions inherited from const_string_range< const_char_pointer >
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])
static constexpr const_char_pointer _static_skip_any_character_in (THIS_RANGE range, const THIS_RANGE &rangeBlock, EQUALITY equality) noexcept
static constexpr const_char_pointer static_skip_any_character_in (const THIS_RANGE &range, const THIS_RANGE &rangeBlock, EQUALITY equality) noexcept
static constexpr const_char_pointer _static_rear_skip_any_character_in (THIS_RANGE range, const THIS_RANGE &rangeBlock, EQUALITY equality) noexcept
static constexpr const_char_pointer static_rear_skip_any_character_in (THIS_RANGE range, const THIS_RANGE &rangeBlock, EQUALITY equality) noexcept
Static Public Member Functions inherited from range< const_char_pointer >
static constexpr memsize item_size ()
static constexpr bool _initialize_equals (bool &b, const THIS_RAW_RANGE &range, const THIS_RAW_RANGE &rangeBlock)
static constexpr bool _static_equals (THIS_RAW_RANGE range, THIS_RAW_RANGE rangeBlock, EQUALITY equality)
static constexpr bool static_equals (const THIS_RAW_RANGE &range, const THIS_RAW_RANGE &rangeBlock, EQUALITY equality)
static constexpr auto _static_order (THIS_RAW_RANGE range, THIS_RAW_RANGE rangeBlock, ORDERING 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)
static const_iterator _static_find (THIS_RAW_RANGE range, const THIS_RAW_RANGE &rangeBlock, EQUALITY 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)
static const_iterator _static_rear_find (THIS_RAW_RANGE range, const THIS_RAW_RANGE &rangeBlock, EQUALITY equality)
static const_iterator static_rear_find (const THIS_RAW_RANGE &range, const THIS_RAW_RANGE &rangeBlock, EQUALITY equality)
static constexpr bool _initialize_find_first_character (const_iterator &p, const THIS_RAW_RANGE &range, ITEM2 item) noexcept
static constexpr const_iterator _static_find_first_character (THIS_RAW_RANGE range, ITEM item, EQUALITY equality) noexcept
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
static constexpr const_iterator _static_find_first_character_in (THIS_RAW_RANGE range, const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) noexcept
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
static constexpr const_iterator _static_rear_find_first_character_in (THIS_RAW_RANGE range, const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) noexcept
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
static constexpr const_iterator _static_skip (THIS_RAW_RANGE range, ARG_ITEM item, EQUALITY equality) noexcept
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
static constexpr const_iterator _static_rear_skip (THIS_RAW_RANGE range, ARG_ITEM item, EQUALITY equality) noexcept
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_contains (bool &b, const THIS_RAW_RANGE &range, const THIS_RAW_RANGE &rangeBlock) noexcept
static constexpr bool _static_begins (THIS_RAW_RANGE range, THIS_RAW_RANGE rangeBlock, EQUALITY equality) noexcept
static constexpr bool static_begins (const THIS_RAW_RANGE &range, const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) noexcept
static constexpr bool _static_ends (THIS_RAW_RANGE range, THIS_RAW_RANGE rangeBlock, EQUALITY equality) noexcept
static constexpr bool static_ends (const THIS_RAW_RANGE &range, const THIS_RAW_RANGE &rangeBlock, EQUALITY equality) noexcept
Public Attributes inherited from character_range< const_char_pointer >
BASE_DATA * m_pbasedata
Public Attributes inherited from range< const_char_pointer >
this_iterator m_begin
this_iterator m_end
enum_range m_erange
Public Attributes inherited from file::path_meta
enum_path m_epath
::i64 m_iSize
e_type m_etype
character_count m_iName
character_count m_iBasePathLength
::pointer<::particle > m_pparticleOsPath
::file::e_flag m_flags
Public Attributes inherited from file_time_set
file_time m_filetimeCreation
file_time m_filetimeModified
file_time m_filetimeAccess

Member Function Documentation

◆ find_all_extensions()

const_ansi_range file::path::find_all_extensions ( ) const
inline

return index just after first dot in file name -1 if not found

◆ find_final_extension()

const_ansi_range file::path::find_final_extension ( ) const
inline

return index just after last dot in file name -1 if not found


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