iceoryx2
C++ Language Bindings
Loading...
Searching...
No Matches
type_name.hpp
Go to the documentation of this file.
1
// Copyright (c) 2025 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_TYPE_NAME_HPP
14
#define IOX2_TYPE_NAME_HPP
15
16
#include "
iox2/bb/static_string.hpp
"
17
#include "
iox2/internal/iceoryx2.hpp
"
18
19
namespace
iox2
{
20
21
using
TypeName
=
iox2::bb::StaticString<IOX2_TYPE_NAME_LENGTH>
;
22
29
template
<
typename
T>
30
struct
TypeNameSpecialization
;
31
32
}
// namespace iox2
33
36
// NOLINTNEXTLINE(cppcoreguidelines-macro-usage) : a function template cannot specialize from arbitrary scopes
37
#define IOX2_DEFINE_TYPE_NAME(Type, NameExpr) \
38
template <> \
39
struct iox2::TypeNameSpecialization<Type> { \
40
static auto value() -> const char* { \
41
return (NameExpr); \
42
} \
43
}
44
45
#endif
iox2::bb::StaticString
Definition
static_string.hpp:80
iceoryx2.hpp
iox2
Definition
active_request.hpp:26
static_string.hpp
iox2::TypeNameSpecialization
Definition
type_name.hpp:30
iox2
type_name.hpp
Generated by
1.9.8