31#include <unordered_map>
34#include <rclcpp/rclcpp.hpp>
35#include <std_msgs/msg/header.hpp>
37#include "event_detector/datatypes.hpp"
53 std::shared_ptr<const T>
msg;
58using string_map = std::unordered_map<std::string, T>;
60using string_map_2d = std::unordered_map<std::string, string_map<T>>;
70#define DATATYPE(TYPE, VAR) \
71 std::vector<std::tuple<std::string, double, int>> VAR;
72#include "event_detector/datatypes.macro"
78using HasRosHeaderNo = std::false_type;
79using HasRosHeaderYes = std::true_type;
81template <
typename T,
typename = std_msgs::msg::Header>
88bool hasRosHeader(
const T&);
95#include "event_detector/common.tpp"
const std::string kTransformationTopic
topic for dynamic transforms
const std::string kStaticTransformationTopic
topic for static transforms
Struct containing all data topics from a connected client.
std::string name
client name
std::string base_frame
name of base frame
std::string tf_prefix
prefix of frames
Struct wrapping an object with a timestamp.
std::shared_ptr< const T > msg
ROS message.
rclcpp::Time stamp
timestamp