Getting the superclass of a type?
Johannes Loher via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Mon Sep 5 08:55:28 PDT 2016
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)").
More information about the Digitalmars-d-learn
mailing list