Commit 67843998 authored by Dominik Charousset's avatar Dominik Charousset

match_expr: fixed issue w/ multiple wildcards

parent 302cc2f1
...@@ -94,9 +94,14 @@ struct invoke_policy_impl : invoke_policy_base<FilteredPattern> { ...@@ -94,9 +94,14 @@ struct invoke_policy_impl : invoke_policy_base<FilteredPattern> {
Pattern Pattern
>::type >::type
mimpl; mimpl;
util::limited_vector<size_t, util::tl_size<FilteredPattern>::value> mv; util::limited_vector<size_t, util::tl_size<FilteredPattern>::value> mv;
if (type_token == typeid(FilteredPattern) || mimpl::_(tup, mv)) { if (type_token == typeid(FilteredPattern)) {
for (size_t i = 0; i < util::tl_size<FilteredPattern>::value; ++i) {
result[i] = const_cast<void*>(tup.at(i));
}
return true;
}
else if (mimpl::_(tup, mv)) {
for (size_t i = 0; i < util::tl_size<FilteredPattern>::value; ++i) { for (size_t i = 0; i < util::tl_size<FilteredPattern>::value; ++i) {
result[i] = const_cast<void*>(tup.at(mv[i])); result[i] = const_cast<void*>(tup.at(mv[i]));
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment