Verify tuple is a tuple of class objects?
bearophile
bearophileHUGS at lycos.com
Fri Feb 18 13:37:29 PST 2011
Sean Eskapp:
> What I'm trying to do is verify that every element of a tuple is a class type,
If you mean a TypeTuple, this is a solution:
import std.typetuple: allSatisfy, TypeTuple;
template IsClass(T) {
enum IsClass = is(T == class);
}
class Foo {}
class Bar {}
struct Spam {}
alias TypeTuple!(Foo, Bar, Spam) T1;
alias TypeTuple!(Foo, Bar, Foo) T2;
static assert(!allSatisfy!(IsClass, T1));
static assert(allSatisfy!(IsClass, T2));
void main() {}
I don't know if there is a way to write IsClass() in a shorter way, like a "lambda template".
Bye,
bearophile
More information about the Digitalmars-d-learn
mailing list