$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [Boost-users] [MPL] what is my base class?
From: Nat Goodspeed (nat_at_[hidden])
Date: 2010-05-22 10:46:09
On May 21, 2010, at 12:44 PM, John Dlugosz <JDlugosz_at_[hidden]>  
wrote:
> The problem is, I can't easily name the base class here in the base  
> initialization list.  I'm not even sure repeating the if_  
> metaexpression here would work, since the init list doesn't even  
> like typedefs but wants the literal name of the class.
Especially when my base class is a template with a number of  
parameters, I often do write something like:
class Subclass: BaseClass<etc.>
{
     typedef BaseClass<etc.> super;
public:
     Subclass(whatever):
         super(whatever),
         ...
     {}
     ...
};
Also, this lets an override method forward a call to the base-class  
method by writing super::method();
I have lots of code that does this, built using various versions of  
gcc and MSVC. While I admit it's suboptimal to have to restate the  
base-class type expression, doing it as the first item in the body  
helps me remember to keep them in sync.
What part isn't working for you?
>