feat: ABI concerns resolved with introduction of u8 strings for symbols

This commit is contained in:
Mateusz Pusz committed 2024-02-16 22:13:13 +01:00
1 parent 54dbeea68b
commit cb858f1e51
18 files changed
+112 -93

No files matched your search

+15 -15
View File
@@ -40,30 +40,30 @@ static_assert(sym1 <= 'b');
static_assert(sym1 <= 'c');
static_assert(sym1 >= 'b');
static_assert(sym1 >= 'a');
static_assert(sym1.unicode() == "b");
static_assert(sym1.unicode() == u8"b");
static_assert(sym1.ascii() == "b");
constexpr basic_symbol_text sym3("ab");
static_assert(sym3.unicode() == "ab");
static_assert(sym3.unicode() == u8"ab");
static_assert(sym3.ascii() == "ab");
constexpr basic_fixed_string txt1("bc");
constexpr basic_symbol_text sym4(txt1);
static_assert(sym4.unicode() == "bc");
static_assert(sym4.unicode() == u8"bc");
static_assert(sym4.ascii() == "bc");
constexpr basic_symbol_text sym5("bc", "de");
static_assert(sym5.unicode() == "bc");
constexpr basic_symbol_text sym5(u8"bc", "de");
static_assert(sym5.unicode() == u8"bc");
static_assert(sym5.ascii() == "de");
constexpr basic_fixed_string txt2("de");
constexpr basic_symbol_text sym6(sym4.unicode(), txt2);
static_assert(sym6.unicode() == "bc");
static_assert(sym6.unicode() == u8"bc");
static_assert(sym6.ascii() == "de");
static_assert(sym6 == basic_symbol_text("bc", "de"));
static_assert(sym6 != basic_symbol_text("fg", "hi"));
static_assert(sym6 != basic_symbol_text("bcd", "ef"));
static_assert(sym6 == basic_symbol_text(u8"bc", "de"));
static_assert(sym6 != basic_symbol_text(u8"fg", "hi"));
static_assert(sym6 != basic_symbol_text(u8"bcd", "ef"));
static_assert(sym6 < basic_symbol_text("c"));
static_assert(sym6 > basic_symbol_text("a"));
@@ -75,13 +75,13 @@ static_assert(sym6 >= basic_symbol_text("bc"));
static_assert(basic_symbol_text("a") + sym4 == basic_symbol_text("abc"));
static_assert(sym4 + basic_symbol_text("f") == basic_symbol_text("bcf"));
static_assert(basic_symbol_text("a", "f") + sym6 == basic_symbol_text("abc", "fde"));
static_assert(sym6 + basic_symbol_text("a", "f") == basic_symbol_text("bca", "def"));
static_assert(basic_symbol_text(u8"a", "f") + sym6 == basic_symbol_text(u8"abc", "fde"));
static_assert(sym6 + basic_symbol_text(u8"a", "f") == basic_symbol_text(u8"bca", "def"));
static_assert(basic_symbol_text('a') + sym6 == basic_symbol_text("abc", "ade"));
static_assert(sym6 + basic_symbol_text('f') == basic_symbol_text("bcf", "def"));
static_assert(basic_symbol_text('a') + sym6 == basic_symbol_text(u8"abc", "ade"));
static_assert(sym6 + basic_symbol_text('f') == basic_symbol_text(u8"bcf", "def"));
static_assert(basic_symbol_text("a") + sym6 == basic_symbol_text("abc", "ade"));
static_assert(sym6 + basic_symbol_text("f") == basic_symbol_text("bcf", "def"));
static_assert(basic_symbol_text("a") + sym6 == basic_symbol_text(u8"abc", "ade"));
static_assert(sym6 + basic_symbol_text("f") == basic_symbol_text(u8"bcf", "def"));
} // namespace