ミックスインが次のように定義されている場合...
template<class T> class Mixin : public T
{
// mixin methods and members
};
...そして、T が非ポリモーフィック クラスであることを宣言します...
Mixin<NonPoly> mixin;
..そして、それへの基本クラスのポインタを持っています...
NonPoly* nonPolyPtr = &mixin;
...後で nonPolyPtr が Mixin タイプを指していることを確認するにはどうすればよいですか?
dynamic_cast<Mixin*>(nonPolyPtr)
基本クラスは非ポリモーフィックであるため、上記はコンパイルされません。
Boost には役立つ特性クラスがいくつかあるのを見ましたが、見落としているより簡単な解決策があることを願っています。