On a boost thread a while ago, I saw some code to query for the
existence of a member function of a class using SFINAE and
BOOST_STATIC. I guess you could call it static reflection. Below is
a code snippet that does not work using the aforementioned methods.
The culprit is the using Base::operator() statement in the Derived
class. Apparently the base class method void operator()(float u) is
not part of the type of Derived. This was a shock to me, because you
can call the overloaded method from the derived class. I'd appreciate
any advice on how to check for the existence of member functions in
this scenario. I fear it may be impossible. Thanks!
#include <iostream>
#include