Boost logo

Boost :

From: Dmitry Ivankov (divanorama_at_[hidden])
Date: 2007-01-21 02:26:34

And here goes workaround:
Wrap invalid type into another template. So that type can't be detected
until helper is instantiated.

class A
virtual void foo() = 0;

template<class T>
class limits_static_functor_helper;
//should have public T operator() const

template<class T>
struct limits
static int const value = true;
// static T declared_only();
typedef limits_static_functor_helper<T> declared_only;

int main()

P.S. maybe it should be not typedef but static member (both works ok), or
functor should have static member, instead of non-static operator. It all
depend on perfomance, usage, and so on (just i haven't used limits.hpp before
:) )

Boost list run by bdawes at, gregod at, cpdaniel at, john at