How to use lambda intead of std::bind in create_subscription method in ROS2

I am creating a small euclidean clustering node for the point cloud, utilizing PCL’s implementation of the KD tree.

Currently, my subscriber definition looks like this,

ClusteringNode::ClusteringNode(const rclcpp::NodeOptions &options)
      : Node("clustering_node", options),
            "input_cloud", 10,
            std::bind(&ClusteringNode::callback, this,

the definition of KD-tree method is inside callback method and is working perfectly,

Now just to improve it furthur, I want to use lambdas instead of the std::bind function here,

What should be the approach here?


The std::bind() statement:

std::bind(&ClusteringNode::callback, this, std::placeholders::_1)

Would translate into a lambda like this:

[this](const auto msg){ callback(msg); }

Or, if the callback() has a non-void return value:

[this](const auto msg){ return callback(msg); }