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
168168 response::Value result { response::Type::List };
169169
170170 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+
174181 listValue.clear ();
175182
176183 return result;
Original file line number Diff line number Diff line change @@ -795,11 +795,18 @@ struct ModifiedArgument
795795 duplicate (const typename ArgumentTraits<Type, Modifier, Other...>::type& listValue)
796796 requires ListModifier<Modifier>
797797 {
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+ }
803810 }
804811};
805812
You can’t perform that action at this time.
0 commit comments