Skip to content

Instantly share code, notes, and snippets.

@facontidavide
Last active May 4, 2017 08:08
Show Gist options
  • Save facontidavide/92dbacb0087eb9a358589f8211ad0dc7 to your computer and use it in GitHub Desktop.
Save facontidavide/92dbacb0087eb9a358589f8211ad0dc7 to your computer and use it in GitHub Desktop.
life without std::bind
struct CameraInfo{
// whatever
};
CameraInfo camera_info[5];
void callbackImplementation(CameraInfo& cam_info, const sensor_msgs::Image::ConstPtr& msg)
{
// generic implementation
// lot of stuff that we don't want to copy and paste
}
void callbackCallbackA(const sensor_msgs/Image::ConstPtr& msg {
callbackImplementation(camera_info[0], msg);
}
void callbackCallbackB(const sensor_msgs/Image::ConstPtr& msg) {
callbackImplementation(camera_info[1], msg);
}
void callbackCallbackC(const sensor_msgs/Image::ConstPtr& msg) {
callbackImplementation(camera_info[2], msg);
}
void callbackCallbackD(const sensor_msgs/Image::ConstPtr& msg) {
callbackImplementation(camera_info[3], msg);
}
void callbackCallbackE(const sensor_msgs/Image::ConstPtr& msg) {
callbackImplementation(camera_info[4], msg);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment