How to define a concept that checks for the size of a parameter pack?
I want a concept that requires parameter packs to be of size > 0.
I wrote this:
1 2
|
template<typename...T>
concept NonEmpty = requires {sizeof...(T) > 0; };
| |
This does no checking. For instance:
1 2 3
|
template<typename T1, typename ... T> requires NonEmpty<T...>
struct Group<T1, T...> : Group<T...>
///// etc
| |
What am I doing wrong?
Doesn't this just check if sizeof...(T) > 0
is a valid expression?
This seems to work:
1 2
|
template<typename...T>
concept NonEmpty = sizeof...(T) > 0;
| |
Last edited on
Topic archived. No new replies allowed.