Commit b83765b5 authored by Dominik Charousset's avatar Dominik Charousset

Fix build on MSVC

parent 19fa65e0
...@@ -310,7 +310,8 @@ public: ...@@ -310,7 +310,8 @@ public:
apply_sequence(D& self, T& xs) { apply_sequence(D& self, T& xs) {
auto s = xs.size(); auto s = xs.size();
return error::eval([&] { return self.begin_sequence(s); }, return error::eval([&] { return self.begin_sequence(s); },
[&] { return self.apply_raw(xs.size(), &xs[0]); }, [&] { return s > 0 ? self.apply_raw(xs.size(), &xs[0])
: none; },
[&] { return self.end_sequence(); }); [&] { return self.end_sequence(); });
} }
...@@ -323,7 +324,9 @@ public: ...@@ -323,7 +324,9 @@ public:
apply_sequence(D& self, T& xs) { apply_sequence(D& self, T& xs) {
size_t s; size_t s;
return error::eval([&] { return self.begin_sequence(s); }, return error::eval([&] { return self.begin_sequence(s); },
[&] { xs.resize(s); return self.apply_raw(s, &xs[0]); }, [&] { xs.resize(s);
return s > 0 ? self.apply_raw(s, &xs[0])
: none; },
[&] { return self.end_sequence(); }); [&] { return self.end_sequence(); });
} }
......
...@@ -151,7 +151,8 @@ public: ...@@ -151,7 +151,8 @@ public:
template <class... Ts> template <class... Ts>
bool match_elements() const noexcept { bool match_elements() const noexcept {
detail::meta_elements<detail::type_list<Ts...>> xs; detail::meta_elements<detail::type_list<Ts...>> xs;
return detail::try_match(*this, &xs.arr[0], sizeof...(Ts)); return xs.arr.empty() ? empty()
: detail::try_match(*this, &xs.arr[0], sizeof...(Ts));
} }
template <class F> template <class F>
......
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