23 template<
typename GetT>
43 writer.
write(labels_);
47 std::vector<std::string> labels_;
53 template<
typename GetT, std::enable_if_t<std::is_invocable_v<GetT>,
int> = 0>
60 template<
typename GetT, std::enable_if_t<std::is_invocable_v<GetT>,
int> = 0>
61 auto ArrayLabel(
const std::string & name,
const std::vector<std::string> & labels, GetT get_fn)
70 template<
typename T, std::enable_if_t<!std::is_invocable_v<T>,
int> = 0>
71 auto ArrayLabel(
const std::string & name,
const std::vector<std::string> & labels, T && value)
80 template<
typename T, std::enable_if_t<!std::is_invocable_v<T>,
int> = 0>
85 if constexpr(Labels::has_labels) {
return ArrayLabel(name, Labels::labels, callback); }
93 template<
bool Degrees = true,
typename T>
94 auto RPYLabel(
const std::string & name, T && value)
auto read(const T &&value)
Definition: traits.h:188
Definition: Observer.h:16
auto ArrayLabel(const std::string &name, GetT get_fn)
Definition: ArrayLabel.h:54
auto RPYLabel(const std::string &name, T &&value)
Definition: ArrayLabel.h:94
Definition: MessagePackBuilder.h:87
void write(mc_rtc::MessagePackBuilder &builder)
Definition: elements.h:108
static constexpr size_t write_size()
Definition: elements.h:106
const std::string & name() const
Definition: elements.h:61
Definition: ArrayLabel.h:25
ArrayLabelImpl(const std::string &name, const std::vector< std::string > &labels, GetT get_fn)
Definition: ArrayLabel.h:30
static constexpr size_t write_size()
Definition: ArrayLabel.h:38
ArrayLabelImpl()
Definition: ArrayLabel.h:36
static constexpr auto type
Definition: ArrayLabel.h:26
void write(mc_rtc::MessagePackBuilder &writer)
Definition: ArrayLabel.h:40
ArrayLabelImpl(const std::string &name, GetT get_fn)
Definition: ArrayLabel.h:28