File tree Expand file tree Collapse file tree 2 files changed +22
-8
lines changed Expand file tree Collapse file tree 2 files changed +22
-8
lines changed Original file line number Diff line number Diff line change @@ -168,9 +168,16 @@ struct ModifiedVariable
168
168
response::Value result { response::Type::List };
169
169
170
170
result.reserve (listValue.size ());
171
- std::ranges::for_each (listValue, [&result](auto & value) {
172
- result.emplace_back (serialize<Other...>(std::move (value)));
173
- });
171
+ if constexpr (std::is_same_v<Type,bool >){
172
+ for (auto const v: listValue)
173
+ result.push_back (v);
174
+ }
175
+ else {
176
+ std::ranges::for_each (listValue, [&result](auto & value) {
177
+ result.emplace_back (serialize<Other...>(std::move (value)));
178
+ });
179
+ }
180
+
174
181
listValue.clear ();
175
182
176
183
return result;
Original file line number Diff line number Diff line change @@ -795,11 +795,18 @@ struct ModifiedArgument
795
795
duplicate (const typename ArgumentTraits<Type, Modifier, Other...>::type& listValue)
796
796
requires ListModifier<Modifier>
797
797
{
798
- typename ArgumentTraits<Type, Modifier, Other...>::type result (listValue.size ());
799
-
800
- std::ranges::transform (listValue, result.begin (), duplicate<Other...>);
801
-
802
- return result;
798
+ if constexpr (std::is_same_v<Type,bool >){
799
+ typename ArgumentTraits<Type, Modifier, Other...>::type result;
800
+ result.reserve (listValue.size ());
801
+ for (auto const v: listValue)
802
+ result.push_back (v);
803
+ }
804
+ else
805
+ {
806
+ typename ArgumentTraits<Type, Modifier, Other...>::type result (listValue.size ());
807
+ std::ranges::transform (listValue, result.begin (), duplicate<Other...>);
808
+ return result;
809
+ }
803
810
}
804
811
};
805
812
You can’t perform that action at this time.
0 commit comments