55 template <typename T = ResponsePayload, typename = std::enable_if_t<!
has_flatbuffer_marker<T>(),
void>>
59 template <typename T = ResponseUserHeader,
60 typename U = ResponsePayload,
62 std::enable_if_t<!std::is_same<
void, ResponseUserHeader>::value && !
has_flatbuffer_marker<U>(),
void>>
66 template <typename T = ResponseUserHeader,
67 typename U = ResponsePayload,
69 std::enable_if_t<!std::is_same<
void, ResponseUserHeader>::value && !
has_flatbuffer_marker<T>(),
void>>
73 template <typename T = ResponsePayload,
75 auto
payload() const -> const T&;
78 template <typename T = ResponsePayload, typename = std::enable_if_t<bb::IsSlice<T>::VALUE,
void>>
79 auto
payload() const -> bb::ImmutableSlice<ValueType>;
82 template <typename T = ResponsePayload,
87 template <typename T = ResponsePayload, typename = std::enable_if_t<bb::IsSlice<T>::VALUE,
void>>
92 template <typename T = ResponsePayload,
98 template <typename T = ResponsePayload, typename = std::enable_if_t<bb::IsSlice<T>::VALUE, T>>
103 template <typename T = ResponsePayload, typename = std::enable_if_t<bb::IsSlice<T>::VALUE, T>>
104 auto
write_from_fn(const
iox2::bb::StaticFunction<typename T::ValueType(uint64_t)>& initializer)
107#if IOX2_FEATURE_FLATBUFFERS
110 template <typename T = ResponsePayload, typename = std::enable_if_t<has_flatbuffer_marker<T>(), T>>
115 template <ServiceType,
typename,
typename,
typename,
typename>
118 template <ServiceType S,
typename ResponsePayloadT,
typename ResponseUserHeaderT>
122#if IOX2_FEATURE_FLATBUFFERS
123 template <ServiceType S,
typename ResponsePayloadT,
typename ResponseUserHeaderT>
125 flatbuffers::Offset<ResponsePayloadT>)
131 auto get_handle() -> iox2_response_mut_h;
135#if IOX2_FEATURE_FLATBUFFERS
232 flatbuffers::Offset<ResponsePayload> root)
234 self.flatbuffer_builder().Finish(root,
nullptr);
235 const auto* payload_ptr = self.flatbuffer_builder().GetBufferPointer();
236 auto handle = self.get_handle();
237 iox2_response_mut_finish_serialized(&handle, payload_ptr);
242 return std::move(self.m_response);
friend auto assume_init(ResponseMutUninit< S, Flatbuffer< ResponsePayloadT >, ResponseUserHeaderT > &&self, flatbuffers::Offset< ResponsePayloadT >) -> ResponseMut< S, Flatbuffer< ResponsePayloadT >, ResponseUserHeaderT >
friend auto assume_init(ResponseMutUninit< S, ResponsePayloadT, ResponseUserHeaderT > &&self) -> ResponseMut< S, ResponsePayloadT, ResponseUserHeaderT >
auto assume_init(RequestMutUninit< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader > &&self) -> RequestMut< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >