Loading...
Searching...
No Matches
Go to the documentation of this file.
13#ifndef IOX2_BB_DETAIL_BUILDER_HPP
14#define IOX2_BB_DETAIL_BUILDER_HPP
20#define IOX2_BUILDER_SWITCH(name) \
22 auto name() && noexcept -> decltype(auto) { \
24 return std::move(*this); \
28 bool m_##name { false };
30#define IOX2_BUILDER_PARAMETER(type, name, defaultValue) \
32 auto name(type const& value) && noexcept -> decltype(auto) { \
34 return std::move(*this); \
37 auto name(type&& value) && noexcept -> decltype(auto) { \
38 m_##name = std::move(value); \
39 return std::move(*this); \
47#define IOX2_BUILDER_OPTIONAL(type, name) \
49 auto name(type const& value) && -> decltype(auto) { \
50 m_##name = iox2::bb::Optional<type>(value); \
51 return std::move(*this); \
54 auto name(type&& value) && -> decltype(auto) { \
55 m_##name = iox2::bb::Optional<type>(std::move(value)); \
56 return std::move(*this); \
60 iox2::bb::Optional<type> m_##name