lambda macro using c++ functor