template <int v>
struct Int2Type
{
enum { value = v };
};
template <classT, bool alt = false>
class Shablon
{
void doSomething(Int2Type<true>)
{
((T*)this)->m_member.foo();
((T*)this)->someFoo();
}
void doSomething(Int2Type<false>)
{
}
void foo()
{
DoSomething(alt);
((T*)this)->someFoo2();
}
};
class Info : public Base
{
};
class List : public Base
{
};
Base::registerType<Info>();
Base::registerType<List>();
Base::createInstance(1)->processing(new Request);