acme
Foundational cross-platform layer of the ca2 framework
Toggle main menu visibility
Loading...
Searching...
No Matches
const_string_range_static_array.h
1
// Created by camilo on 2025-04-24 19:01 <3ThomasBorregaardSorensen!!
2
#pragma once
3
4
5
//template < typename ITERATOR_TYPE, ::i32 t_size >
6
//class const_string_range_static_array;
7
//
8
//template < typename ITERATOR_TYPE >
9
//class const_string_range_static_array < ITERATOR_TYPE, 0>
10
//{
11
//public:
12
//
13
//
14
// const_string_range_static_array() = delete;
15
//
16
// consteval character_count size() const { return 0; }
17
//
18
// ::range < ITERATOR_TYPE >& element_at(::i32 i) const { return *((::range < ITERATOR_TYPE >*)nullptr); }
19
//
20
// void concatenate_to(::non_const < ITERATOR_TYPE >& p) const
21
// {
22
//
23
// }
24
//
25
//};
26
//
27
//
28
//template < typename ITERATOR_TYPE >
29
//class const_string_range_static_array < ITERATOR_TYPE, 1>
30
//{
31
//public:
32
//
33
// using iterator = ::non_const < ITERATOR_TYPE >;
34
//
35
// using RANGE = ::range < ITERATOR_TYPE >;
36
//
37
// using ASCENDANT = void;
38
//
39
// RANGE m_range;
40
//
41
//
42
// const_string_range_static_array() = delete;
43
//
44
//
45
// const_string_range_static_array(const RANGE& range) :
46
// m_range(range)
47
// {
48
//
49
//
50
// }
51
//
52
// //template < prototype_character CHARACTER, character_count n >
53
// //const_string_range_static_array(const CHARACTER(&s)[n]) :
54
// // m_range(s)
55
// //{
56
//
57
//
58
// //}
59
//
60
// ::range < ITERATOR_TYPE >& top const { return (RANGE&)m_range; }
61
//
62
// constexpr character_count size() const { return this->m_range.size(); }
63
//
64
// template < prototype_character TARGET_CHARACTER >
65
// character_count __utf_length(TARGET_CHARACTER* ptrigger, character_count*& plen) const
66
// {
67
//
68
// return top.__utf_length(ptrigger, plen);
69
//
70
// }
71
//
72
// template < prototype_character TARGET_CHARACTER >
73
// void __utf_concatenate_to(TARGET_CHARACTER*& p, character_count*& plen) const
74
// {
75
//
76
// top.__utf_concatenate_to(p, plen);
77
//
78
// }
79
//
80
// void block_concatenate_to(iterator& p) const
81
// {
82
//
83
// top.block_concatenate_to(p);
84
//
85
// }
86
//
87
//};
88
//
89
//
90
//template < typename ITERATOR_TYPE, ::i32 t_size >
91
//class const_string_range_static_array
92
//{
93
//public:
94
//
95
// using iterator = ::non_const < ITERATOR_TYPE >;
96
//
97
// using RANGE = ::range < ITERATOR_TYPE >;
98
//
99
// using ASCENDANT = ::const_string_range_static_array < ITERATOR_TYPE, t_size - 1 >;
100
//
101
// RANGE m_rangea[t_size];
102
//
103
// const_string_range_static_array() = delete;
104
//
105
// const_string_range_static_array(const ASCENDANT& a, const RANGE& range)
106
// {
107
//
108
// ascendant() = a;
109
//
110
// top = range;
111
//
112
// }
113
//
114
// auto& ascendant() const { return *(ASCENDANT*)this; }
115
//
116
// auto& element_at(::i32 i) const { return (RANGE&)m_rangea[i]; }
117
//
118
// auto& top const { return element_at(t_size - 1); }
119
//
120
// character_count size() const
121
// {
122
//
123
// return ascendant().size() + top.size();
124
//
125
// }
126
//
127
// template < prototype_character TARGET_CHARACTER >
128
// character_count __utf_length(TARGET_CHARACTER* ptrigger, character_count*& plen) const
129
// {
130
//
131
// auto n1 = ascendant().__utf_length(ptrigger, plen);
132
//
133
// auto n2 = top.__utf_length(ptrigger, plen);
134
//
135
// return n1 + n2;
136
//
137
// }
138
//
139
// template < prototype_character TARGET_CHARACTER >
140
// void __utf_concatenate_to(TARGET_CHARACTER*& p, character_count*& plen) const
141
// {
142
//
143
// ascendant().__utf_concatenate_to(p, plen);
144
//
145
// top.__utf_concatenate_to(p, plen);
146
//
147
// }
148
//
149
// void block_concatenate_to(iterator& p) const
150
// {
151
//
152
// ascendant().block_concatenate_to(p);
153
//
154
// top.block_concatenate_to(p);
155
//
156
// }
157
//
158
//
159
//
160
//};
161
//
prototype
string
const_string_range_static_array.h
Generated by
1.17.0