Skip to content

Commit ea4cc87

Browse files
committed
Rename ""_array() to ""_a, add ""_t, update tests.
1 parent ab1634b commit ea4cc87

2 files changed

Lines changed: 26 additions & 11 deletions

File tree

include/bitcoin/system/literals.hpp

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -118,10 +118,16 @@ BC_POP_WARNING()
118118
/// Text representations.
119119
/// ---------------------------------------------------------------------------
120120

121-
template <data_t Text>
122-
CONSTEVAL auto operator "" _array() noexcept
121+
template <data_t Data>
122+
CONSTEVAL auto operator "" _a() noexcept
123123
{
124-
return Text.data;
124+
return Data.data;
125+
}
126+
127+
template <text_t Text>
128+
CONSTEVAL auto operator "" _t() noexcept
129+
{
130+
return Text.text;
125131
}
126132

127133
/// Integer representations.

test/literals.cpp

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,23 @@
2020

2121
// text literals
2222

23-
static_assert(is_same_type<decltype(""_array), std::array<uint8_t, 0>>);
24-
static_assert(""_array.empty());
25-
26-
static_assert(is_same_type<decltype("test"_array), std::array<uint8_t, 4>>);
27-
static_assert("test"_array.at(0) == 't');
28-
static_assert("test"_array.at(1) == 'e');
29-
static_assert("test"_array.at(2) == 's');
30-
static_assert("test"_array.at(3) == 't');
23+
static_assert(is_same_type<decltype(""_a), std::array<uint8_t, 0>>);
24+
static_assert(""_a.empty());
25+
26+
static_assert(is_same_type<decltype("test"_a), std::array<uint8_t, 4>>);
27+
static_assert("test"_a.at(0) == 't');
28+
static_assert("test"_a.at(1) == 'e');
29+
static_assert("test"_a.at(2) == 's');
30+
static_assert("test"_a.at(3) == 't');
31+
32+
static_assert(is_same_type<decltype(""_t), std::array<char, 0>>);
33+
static_assert(""_t.empty());
34+
35+
static_assert(is_same_type<decltype("test"_t), std::array<char, 4>>);
36+
static_assert("test"_t.at(0) == 't');
37+
static_assert("test"_t.at(1) == 'e');
38+
static_assert("test"_t.at(2) == 's');
39+
static_assert("test"_t.at(3) == 't');
3140

3241
// en.cppreference.com/w/cpp/language/integer_literal
3342

0 commit comments

Comments
 (0)