From 50cc63605846272a0701ee4486a7ebac0f70ee85 Mon Sep 17 00:00:00 2001 From: Marcel Hellwig Date: Mon, 13 May 2024 12:05:56 +0200 Subject: [PATCH] fix: make REGISTER_STRUCT functions inline This makes that you can use these macros in headers as well as source files. Else you will get a warning about multiple definitions of the same function. --- include/sdbus-c++/Types.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/sdbus-c++/Types.h b/include/sdbus-c++/Types.h index 4578c54..4c51c87 100644 --- a/include/sdbus-c++/Types.h +++ b/include/sdbus-c++/Types.h @@ -437,11 +437,11 @@ struct std::tuple_size> namespace sdbus { \ static_assert(SDBUSCPP_PP_NARG(__VA_ARGS__) <= 16, \ "Not more than 16 struct members are supported, please open an issue if you need more"); \ - sdbus::Message& operator<<(sdbus::Message& msg, const STRUCT& items) \ + inline sdbus::Message& operator<<(sdbus::Message& msg, const STRUCT& items) \ { \ return msg << sdbus::Struct{std::forward_as_tuple(SDBUSCPP_STRUCT_MEMBERS(items, __VA_ARGS__))}; \ } \ - sdbus::Message& operator>>(sdbus::Message& msg, STRUCT& items) \ + inline sdbus::Message& operator>>(sdbus::Message& msg, STRUCT& items) \ { \ sdbus::Struct s{std::forward_as_tuple(SDBUSCPP_STRUCT_MEMBERS(items, __VA_ARGS__))}; \ return msg >> s; \