iceoryx2
C++ Language Bindings
Loading...
Searching...
No Matches
marker.hpp
Go to the documentation of this file.
1// Copyright (c) 2026 Contributors to the Eclipse Foundation
2//
3// See the NOTICE file(s) distributed with this work for additional
4// information regarding copyright ownership.
5//
6// This program and the accompanying materials are made available under the
7// terms of the Apache Software License 2.0 which is available at
8// https://www.apache.org/licenses/LICENSE-2.0, or the MIT license
9// which is available at https://opensource.org/licenses/MIT.
10//
11// SPDX-License-Identifier: Apache-2.0 OR MIT
12
13#ifndef IOX2_MARKER_HPP
14#define IOX2_MARKER_HPP
15
16#include <cstdint>
17
18namespace iox2 {
20template <typename T>
21struct Flatbuffer {
22 using ValueType = T;
24 static constexpr const char* IOX2_TYPE_NAME = "iox2::Flatbuffer";
25};
26
29
32 uint8_t value = 0;
33};
34
35
36namespace internal {
37template <typename Given, template <typename> class Required>
38struct HasMarker {
39 static const bool VALUE = false;
40};
41
42template <typename T, template <typename> class Required>
43struct HasMarker<Required<T>, Required> {
44 static const bool VALUE = true;
45};
46} // namespace internal
47
48template <typename T>
49constexpr auto has_flatbuffer_marker() -> bool {
51}
52} // namespace iox2
53
54#endif
constexpr auto has_flatbuffer_marker() -> bool
Definition marker.hpp:49
User header type for a service whose user header type details are set at runtime.
Definition marker.hpp:28
Payload element for a service whose payload type details are set at runtime.
Definition marker.hpp:31
Identifies payloads that are serialized via flatbuffer.
Definition marker.hpp:21
static constexpr const char * IOX2_TYPE_NAME
IOX2_TYPE_NAME is equivalent to the payload type name used on the Rust side.
Definition marker.hpp:24
static const bool VALUE
Definition marker.hpp:39