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();
}
};