acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
bstring.h
1#pragma once
2
3
4//class CLASS_DECL_ACME bstring_data
5//{
6//public:
7//
8//
9// character_count m_len;
10// character_count m_alloc;
11//
12//
13//};
14//
15//
17//class CLASS_DECL_ACME bstring
18//{
19//public:
20//
21// typedef ::u8 value_type;
22//
23// value_type * m_puchData;
24//
25//
26// static bstring s_nil;
27//
28//
29// bstring();
30//
31//
32// bstring(bstring_data * pdata);
33//
34//
35// bstring(const bstring & bstr);
36//
37//
38// bstring(bstring && bstr);
39//
40//
41// bstring(character_count s, ::i8 ch);
42//
43//
44// bstring(const bstring& str, character_count pos, character_count len = -1);
45//
46//
47// bstring(const ::scoped_string & scopedstr);
48//
49//
50// bstring(const void * p, character_count start, character_count end);
51//
52//
53// bstring(const void * p, character_count c);
54//
55//
56// ~bstring();
57//
58//
59// character_count get_allocation_size() const
60// {
61//
62// return get_bstring_data()->m_len;
63//
64// }
65//
66// void set_allocation_size(character_count s)
67// {
68//
69// get_bstring_data()->m_len = s;
70//
71// }
72//
73//
74// character_count length() const
75// {
76//
77// return get_bstring_data()->m_len - 1;
78//
79// }
80//
81// character_count size() const
82// {
83//
84// return length();
85//
86// }
87//
88// character_count get_length() const
89// {
90//
91// return length();
92//
93// }
94//
95// character_count get_size() const
96// {
97//
98// return get_allocation_size();
99//
100// }
101//
102// void allocate(character_count s);
103// void allocate_add_up(character_count s);
104// void free();
105//
106// void append(const ::scoped_string & scopedstr);
107//
108// void append(const bstring & bstr);
109//
110// void assign(const bstring & bstr);
111//
112// void assign(const ::scoped_string & scopedstr)
113// {
114//
115// assign(scopedstr, strlen(scopedstr) + 1);
116//
117// }
118//
119// void reserve(character_count s);
120//
121// void assign(const void * p, character_count s, character_count c);
122//
123// bstring & assign(const bstring& str, character_count subpos, character_count sublen);
124//
125// void assign(const void * p, character_count s);
126//
127// bstring & assign(character_count s, ::i8 c);
128//
129// bstring & append(character_count s, ::i8 c);
130//
131// bstring & erase(character_count s = 0, character_count len = -1);
132//
133// void clear();
134//
135// void append(const void * p, character_count s);
136//
137// character_count copy(value_type * s, character_count len, character_count pos = 0) const;
138//
139// bool is_empty() const
140// {
141// return length() <= 0;
142//
143// }
144//
145//
146// bool is_null() const
147// {
148// return length() <= 0;
149//
150// }
151//
152//
153// ::u8 * get_data() const
154// {
155//
156// return m_puchData;
157//
158// }
159//
160//
161// bstring_data * get_bstring_data() const
162// {
163//
164// return &((bstring_data*)m_puchData)[-1];
165//
166// }
167//
168//
169// void set_bstring_data(bstring_data * pdata)
170// {
171//
172// m_puchData = (::u8 *) &pdata[1];
173//
174// }
175//
176//
177// bstring & operator = (const bstring & bstr);
178//
179//
180// bstring operator + (::i8 ch) const;
181//
182//
183// bstring operator + (const ::scoped_string & scopedstr) const;
184//
185//
186// bstring operator + (const bstring & bstr) const;
187//
188//
189// bstring & operator += (::i8 ch);
190//
191//
192// bstring & operator += (const ::scoped_string & scopedstr);
193//
194//
195// bstring & operator += (const ::scoped_string & scopedstr);
196//
197//
198// bstring & operator += (const bstring & bstr);
199//
200//
201// const_char_pointer c_str() const;
202//
203//
204// ::i8 & operator [](character_count i);
205//
206//
207// const ::i8 & operator [](character_count i) const;
208//
209//
210// char_pointer get_buffer(character_count s);
211//
212//
213// void release_buffer(character_count s = -1);
214//
215//
216// void ReleaseBuffer(character_count s = -1);
217//
218//
219// ::u8 * data();
220//
221//
222// const ::u8 * data() const;
223//
224//
225// bool empty() const;
226//
227//
228// ::i32 compare(const ::scoped_string & scopedstr) const;
229//
230//
231// bool operator == (const ::scoped_string & scopedstr) const;
232//
233//
234// bool operator != (const ::scoped_string & scopedstr) const;
235//
236//
237// bool operator <= (const ::scoped_string & scopedstr) const;
238//
239//
240// bool operator < (const ::scoped_string & scopedstr) const;
241//
242//
243// bool operator >= (const ::scoped_string & scopedstr) const;
244//
245//
246// bool operator > (const ::scoped_string & scopedstr) const;
247//
248//
249// ::i32 compare(const bstring & bstr) const;
250//
251//
252// bool operator != (const bstring & bstr) const;
253//
254//
255// bool operator == (const bstring & bstr) const;
256//
257//
258// bool operator <= (const bstring & bstr) const;
259//
260//
261// bool operator < (const bstring & bstr) const;
262//
263//
264// bool operator >= (const bstring & bstr) const;
265//
266//
267// bool operator > (const bstring & bstr) const;
268//
269//
270//};
271
272
273
274