I was reading about boosts concepts and I thought.

Can I ask inside a template function if a member exists on a parameter of the function.

For example.

template <typename T>
void func(T in)
{
exists(in, foo);
}

Where the "exists" line would return true if "in" had a member "foo" otherwise false.