comparison foosdk/sdk/pfc/string-part.h @ 1:20d02a178406 default tip

*: check in everything else yay
author Paper <paper@tflc.us>
date Mon, 05 Jan 2026 02:15:46 -0500
parents
children
comparison
equal deleted inserted replaced
0:e9bb126753e7 1:20d02a178406
1 #pragma once
2
3 namespace pfc {
4 struct string_part_ref {
5 const char* m_ptr;
6 t_size m_len;
7
8
9 static string_part_ref make(const char* ptr, t_size len);
10 string_part_ref substring(t_size base) const;
11 string_part_ref substring(t_size base, t_size len) const;
12 static string_part_ref make(const char* str);
13 bool equals(string_part_ref other) const;
14 bool equals(const char* str) const;
15 };
16
17 inline string_part_ref string_part(const char* ptr, t_size len) {
18 string_part_ref val = { ptr, len }; return val;
19 }
20
21 template<typename T> static string_part_ref stringToRef(T const& val) { return string_part(stringToPtr(val), val.length()); }
22 inline string_part_ref stringToRef(string_part_ref val) { return val; }
23 inline string_part_ref stringToRef(const char* val) { return string_part(val, strlen(val)); }
24 }