『Modern C++ Design』
- 2.7 コンパイル時における変換可能性と継承の検出 -
ここでは、指定されたクラスが継承関係かどうかを判定する
SUPERSUBCLASSマクロが紹介されているのだが
C++では「スーパークラス」「サブクラス」という呼び方は
推奨されていないはず(『C++の設計と進化』でBjarne氏が言っている)
理由はもちろん、派生したクラスの方が多機能だからだ
なので、継承関係を判定するマクロに名前を付けるとしたら私ならこうする
IS_BASE_DERIVED_CLASS