Re: Getting the superclass of a type?

2016-09-05 Thread pineapple via Digitalmars-d-learn
On Monday, 5 September 2016 at 15:43:52 UTC, Lodovico Giaretta 
wrote:

On Monday, 5 September 2016 at 15:20:10 UTC, pineapple wrote:
I'd like to be able to write something like this, but I 
haven't been able to find anything in the docs


class Base{}
class Sub: Base{}
static assert(is(SuperClassOf!Sub == Base));


https://dlang.org/phobos/std_traits.html#.BaseClassesTuple


Aha, thank you!


Re: Getting the superclass of a type?

2016-09-05 Thread Johannes Loher via Digitalmars-d-learn
Am 05.09.2016 um 17:43 schrieb Lodovico Giaretta:
> On Monday, 5 September 2016 at 15:20:10 UTC, pineapple wrote:
>> I'd like to be able to write something like this, but I haven't been
>> able to find anything in the docs
>>
>> class Base{}
>> class Sub: Base{}
>> static assert(is(SuperClassOf!Sub == Base));
> 
> https://dlang.org/phobos/std_traits.html#.BaseClassesTuple

Another option would be to use the following:

class Base {}
class Sub: Base {}
class Other {}

static assert(is(Sub : Base));
static assert(!is(Other : Base));

However, the ":" syntax also works for automatic conversion (see
http://ddili.org/ders/d.en/is_expr.html and search for "is (T : OtherT)").


Re: Getting the superclass of a type?

2016-09-05 Thread Lodovico Giaretta via Digitalmars-d-learn

On Monday, 5 September 2016 at 15:20:10 UTC, pineapple wrote:
I'd like to be able to write something like this, but I haven't 
been able to find anything in the docs


class Base{}
class Sub: Base{}
static assert(is(SuperClassOf!Sub == Base));


https://dlang.org/phobos/std_traits.html#.BaseClassesTuple


Getting the superclass of a type?

2016-09-05 Thread pineapple via Digitalmars-d-learn
I'd like to be able to write something like this, but I haven't 
been able to find anything in the docs


class Base{}
class Sub: Base{}
static assert(is(SuperClassOf!Sub == Base));