On 2013-09-02 17:00, Joseph Rushton Wakeling wrote:
P.S. If I don't find a handy inheritance-based way to do this, what I'll
probably do is something along the lines of,
class MyFakeSubclass
{
MyBaseClass base;
// ... extra data ...
// ... manually-written wrappers
}
You can use a template mixin or alias this.
Template mixin:
template MyBaseClassMixin ()
{
void foo () { } // all your methods here
}
class MyFakeSubclass
{
mixin MyBaseClassMixin;
}
http://dlang.org/template-mixin.html
Or using alias this:
class MyFakeSubclass
{
MyBaseClass base
alias base this;
}
Every method not available in MyFakeSubclass will be forwarded to "base".
http://dlang.org/class.html#AliasThis
--
/Jacob Carlborg