@@ -35,9 +35,8 @@ namespace scale {
35
35
* @param encoder The encoder instance to write to.
36
36
*/
37
37
void encode (DynamicCollection auto &&collection, ScaleEncoder auto &encoder)
38
- requires NoTagged<decltype(collection)>
39
- and (not std::same_as<std::remove_cvref_t <decltype (collection)>,
40
- std::vector<bool>>)
38
+ requires(not std::same_as<std::remove_cvref_t <decltype (collection)>,
39
+ std::vector<bool>>)
41
40
{
42
41
encode (as_compact (collection.size ()), encoder);
43
42
for (auto &&item : std::forward<decltype (collection)>(collection)) {
@@ -51,8 +50,7 @@ namespace scale {
51
50
* @param encoder The encoder instance to write to.
52
51
*/
53
52
void encode (StaticCollection auto &&collection, ScaleEncoder auto &encoder)
54
- requires NoTagged<decltype(collection)>
55
- and (not DecomposableArray<decltype (collection)>)
53
+ requires(not DecomposableArray<decltype (collection)>)
56
54
{
57
55
for (auto &&item : std::forward<decltype (collection)>(collection)) {
58
56
encode (item, encoder);
@@ -64,9 +62,7 @@ namespace scale {
64
62
* @param view The string view to encode.
65
63
* @param encoder The encoder instance to write to.
66
64
*/
67
- void encode (const std::string_view view, ScaleEncoder auto &encoder)
68
- requires NoTagged<decltype(view)>
69
- {
65
+ void encode (const std::string_view view, ScaleEncoder auto &encoder) {
70
66
encode (as_compact (view.size ()), encoder);
71
67
encoder.write (
72
68
{reinterpret_cast <const uint8_t *>(view.data ()), view.size ()});
@@ -79,9 +75,7 @@ namespace scale {
79
75
*/
80
76
template <typename T>
81
77
requires std::same_as<std::remove_cvref_t <T>, std::vector<bool >>
82
- void encode (T &&vector, ScaleEncoder auto &encoder)
83
- requires NoTagged<decltype(vector)>
84
- {
78
+ void encode (T &&vector, ScaleEncoder auto &encoder) {
85
79
encode (as_compact (vector.size ()), encoder);
86
80
for (const bool item : vector) {
87
81
encoder.put (static_cast <uint8_t >(item ? 1 : 0 ));
@@ -100,8 +94,7 @@ namespace scale {
100
94
* @param decoder The decoder instance to read from.
101
95
*/
102
96
void decode (StaticCollection auto &collection, ScaleDecoder auto &decoder)
103
- requires NoTagged<decltype(collection)>
104
- and (not Decomposable<decltype (collection)>)
97
+ requires(not Decomposable<decltype (collection)>)
105
98
{
106
99
for (auto &item : collection) {
107
100
decode (item, decoder);
@@ -114,9 +107,7 @@ namespace scale {
114
107
* @param decoder The decoder instance to read from.
115
108
*/
116
109
void decode (ExtensibleBackCollection auto &collection,
117
- ScaleDecoder auto &decoder)
118
- requires NoTagged<decltype(collection)>
119
- {
110
+ ScaleDecoder auto &decoder) {
120
111
using size_type = typename std::decay_t <decltype (collection)>::size_type;
121
112
122
113
size_t item_count;
@@ -143,9 +134,8 @@ namespace scale {
143
134
* @param collection The collection to decode.
144
135
* @param decoder The decoder instance to read from.
145
136
*/
146
- void decode (ResizeableCollection auto &collection, ScaleDecoder auto &decoder)
147
- requires NoTagged<decltype(collection)>
148
- {
137
+ void decode (ResizeableCollection auto &collection,
138
+ ScaleDecoder auto &decoder) {
149
139
size_t item_count;
150
140
decode (as_compact (item_count), decoder);
151
141
if (item_count > collection.max_size ()) {
@@ -169,9 +159,7 @@ namespace scale {
169
159
* but each element can be emplaced while decoding
170
160
*/
171
161
void decode (RandomExtensibleCollection auto &collection,
172
- ScaleDecoder auto &decoder)
173
- requires NoTagged<decltype(collection)>
174
- {
162
+ ScaleDecoder auto &decoder) {
175
163
using size_type = typename std::decay_t <decltype (collection)>::size_type;
176
164
using value_type = typename std::decay_t <decltype (collection)>::value_type;
177
165
0 commit comments