Commit 70698051 authored by Dominik Charousset's avatar Dominik Charousset

streamlined get_wildcard_position()

parent 67843998
...@@ -57,15 +57,15 @@ enum class wildcard_position { ...@@ -57,15 +57,15 @@ enum class wildcard_position {
*/ */
template<typename Types> template<typename Types>
constexpr wildcard_position get_wildcard_position() { constexpr wildcard_position get_wildcard_position() {
return util::tl_exists<Types, is_anything>::value return util::tl_count<Types, is_anything>::value > 1
? ((util::tl_count<Types, is_anything>::value == 1) ? wildcard_position::multiple
: (util::tl_count<Types, is_anything>::value == 1
? (std::is_same<typename util::tl_head<Types>::type, anything>::value ? (std::is_same<typename util::tl_head<Types>::type, anything>::value
? wildcard_position::leading ? wildcard_position::leading
: (std::is_same<typename util::tl_back<Types>::type, anything>::value : (std::is_same<typename util::tl_back<Types>::type, anything>::value
? wildcard_position::trailing ? wildcard_position::trailing
: wildcard_position::in_between)) : wildcard_position::in_between))
: wildcard_position::multiple) : wildcard_position::nil);
: wildcard_position::nil;
} }
} // namespace cppa } // namespace cppa
......
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