FunctorPtr
is only a helper to accept the various ways of referencing functors in a single method overload. You should never need to construct it manually.
What should work is:
olb::SuperF3D<T,T> f(velocity);
SuperExtractComponentF3D<T, T> velocityx(f, 0);