acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
wd32.h
1// Refactored by camilo on 2022-11-04 05:47 <3ThomasBorregaardSorensen!!
2#pragma once
3
4
5#define const_wd32char_trigger const ::wd32_character *
6
7
8//CLASS_DECL_ACME constexpr character_count character_count_to_byte_length(const_wd32char_trigger, character_count nCharLength);
9//CLASS_DECL_ACME constexpr character_count byte_length_to_character_count(const_wd32char_trigger, memsize nByteLength);
10
11
12CLASS_DECL_ACME void string_count_copy(::wd32_character * pchDest, const ::wd32_character * pchSrc, character_count nChars) noexcept;
13CLASS_DECL_ACME void string_count_copy(::wd32_character * pchDest, size_t nDestLen, const ::wd32_character * pchSrc, character_count nChars) noexcept;
14CLASS_DECL_ACME void overlapped_string_count_copy(::wd32_character * pchDest, const ::wd32_character * pchSrc, character_count nChars) noexcept;
15
16
17CLASS_DECL_ACME ::i32 _string_compare(const ::wd32_character * pszA, const ::wd32_character * pszB) noexcept;
18CLASS_DECL_ACME ::i32 case_insensitive__string_compare(const ::wd32_character * pszA, const ::wd32_character * pszB) noexcept;
19CLASS_DECL_ACME ::i32 _string_count_compare(const ::wd32_character * pszA, const ::wd32_character * pszB, character_count len) noexcept;
20CLASS_DECL_ACME ::i32 case_insensitive__string_count_compare(const ::wd32_character * pszA, const ::wd32_character * pszB, character_count len) noexcept;
21CLASS_DECL_ACME ::std::strong_ordering _string_collate(const ::wd32_character * pszA, const ::wd32_character * pszB) noexcept;
22CLASS_DECL_ACME ::std::strong_ordering _case_insensitive_string_collate(const ::wd32_character * pszA, const ::wd32_character * pszB) noexcept;
23CLASS_DECL_ACME ::std::strong_ordering _string_count_collate(const ::wd32_character * pszA, const ::wd32_character * pszB, character_count len) noexcept;
24CLASS_DECL_ACME ::std::strong_ordering _case_insensitive_string_count_collate(const ::wd32_character * pszA, const ::wd32_character * pszB, character_count len) noexcept;
25
26
27CLASS_DECL_ACME ::i32 string_compare(const ::wd32_character * pszA, const ::wd32_character * pszB) noexcept;
28CLASS_DECL_ACME ::i32 case_insensitive_string_compare(const ::wd32_character * pszA, const ::wd32_character * pszB) noexcept;
29CLASS_DECL_ACME ::i32 string_count_compare(const ::wd32_character * pszA, const ::wd32_character * pszB, character_count len) noexcept;
30CLASS_DECL_ACME ::i32 case_insensitive_string_count_compare(const ::wd32_character * pszA, const ::wd32_character * pszB, character_count len) noexcept;
31CLASS_DECL_ACME ::std::strong_ordering string_collate(const ::wd32_character * pszA, const ::wd32_character * pszB) noexcept;
32CLASS_DECL_ACME ::std::strong_ordering case_insensitive_string_collate(const ::wd32_character * pszA, const ::wd32_character * pszB) noexcept;
33CLASS_DECL_ACME ::std::strong_ordering string_count_collate(const ::wd32_character * pszA, const ::wd32_character * pszB, character_count len) noexcept;
34CLASS_DECL_ACME ::std::strong_ordering case_insensitive_string_count_collate(const ::wd32_character * pszA, const ::wd32_character * pszB, character_count len) noexcept;
35
36inline ::i32 _string_count_compare(const ::wd32_character* pszA, const ::wd32_character* pszB, character_count len) noexcept { return string_count_compare(pszA, pszB, len); }
37inline ::i32 _case_insensitive_string_count_compare(const ::wd32_character* pszA, const ::wd32_character* pszB, character_count len) noexcept { return case_insensitive_string_count_compare(pszA, pszB, len); }
38
39CLASS_DECL_ACME character_count string_get_length(const ::wd32_character * psz) noexcept;
40CLASS_DECL_ACME character_count string_get_length2(const ::wd32_character* psz, character_count sizeMaximumInterest) noexcept;
41CLASS_DECL_ACME character_count string_safe_length(const ::wd32_character * psz) noexcept;
42CLASS_DECL_ACME character_count string_safe_length2(const ::wd32_character* psz, character_count sizeMaximumInterest) noexcept;
43CLASS_DECL_ACME ::wd32_character * string_lowercase(::wd32_character * psz, character_count size) noexcept;
44
45
46CLASS_DECL_ACME const ::wd32_character * string_find_character(const ::wd32_character * pszBlock, ::wd32_character chMatch) noexcept;
47CLASS_DECL_ACME const ::wd32_character * string_find_character(const ::wd32_character * psz, const ::wd32_character * pszEnd, ::wd32_character chMatch) noexcept;
48CLASS_DECL_ACME const ::wd32_character * string_rear_find_character(const ::wd32_character * pszBlock, ::wd32_character chMatch) noexcept;
49//CLASS_DECL_ACME const ::wd32_character * string_rear_find_character(const ::wd32_character * psz, ::wd32_character ch, character_count iStart) noexcept;
50CLASS_DECL_ACME const ::wd32_character * string_find_string(const ::wd32_character * pszBlock, const ::wd32_character * pszMatch) noexcept;
51CLASS_DECL_ACME const ::wd32_character * string_rear_find_string(const ::wd32_character * psz, const ::wd32_character * pszFind) noexcept;
52CLASS_DECL_ACME const ::wd32_character * case_insensitive_string_find_string(const ::wd32_character * pszBlock, const ::wd32_character * pszMatch) noexcept;
53
54
55CLASS_DECL_ACME ::wd32_character character_tolower(::wd32_character wd32ch) noexcept;
56CLASS_DECL_ACME ::wd32_character character_toupper(::wd32_character wd32ch) noexcept;
57
58
59CLASS_DECL_ACME bool character_isalpha(::wd32_character ansich) noexcept;
60CLASS_DECL_ACME bool character_isalnum(::wd32_character ansich) noexcept;
61CLASS_DECL_ACME bool character_isdigit(::wd32_character ansich) noexcept;
62CLASS_DECL_ACME bool character_isspace(::wd32_character ansich) noexcept;
63
64
65CLASS_DECL_ACME bool character_isxdigit(::wd32_character ansich) noexcept;
66
67
68CLASS_DECL_ACME ::wd32_character * string_reverse(::wd32_character * psz) noexcept;
69CLASS_DECL_ACME ::wd32_character * string_uppercase(::wd32_character * psz, character_count size) noexcept;
70
71
72CLASS_DECL_ACME character_count string_skip_any_character_in(const ::wd32_character * pszBlock, const ::wd32_character * pszSet) noexcept;
73CLASS_DECL_ACME character_count string_find_first_character_in(const ::wd32_character * pszBlock, const ::wd32_character * pszSet) noexcept;
74
75
76CLASS_DECL_ACME character_count get_formatted_length(const ::wd32_character * pszFormat, va_list args) noexcept;
77CLASS_DECL_ACME character_count _string_format(::wd32_character * pszBuffer, character_count nlength, const ::wd32_character * pszFormat, va_list args) noexcept;
78CLASS_DECL_ACME void flood_characters(::wd32_character * psz, ::wd32_character ch, character_count len) noexcept;
79
80
81CLASS_DECL_ACME character_count unichar_count(const ::wd32_character * pstr);
82
83
84
85
86CLASS_DECL_ACME ::i64 string_to_signed(const ::wd32_character * psz);
87CLASS_DECL_ACME ::u64 as_u64(const ::wd32_character * psz);
88CLASS_DECL_ACME ::f64 string_to_floating(const ::wd32_character * psz);
89
90
91
92
93
94