iceoryx_doc
1.0.1
iceoryx_utils
internal
cxx
newtype
internal.hpp
1
// Copyright (c) 2020 by Robert Bosch GmbH. All rights reserved.
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
// http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
//
15
// SPDX-License-Identifier: Apache-2.0
16
#ifndef IOX_UTILS_CXX_NEWTYPE_INTERNAL_HPP
17
#define IOX_UTILS_CXX_NEWTYPE_INTERNAL_HPP
18
19
#include <utility>
20
21
namespace
iox
22
{
23
namespace
cxx
24
{
25
template
<
typename
,
template
<
typename
>
class
...>
26
class
NewType;
27
namespace
newtype
28
{
29
namespace
internal
30
{
31
struct
ProtectedConstructor_t
32
{
33
};
34
35
static
constexpr
ProtectedConstructor_t
ProtectedConstructor =
ProtectedConstructor_t
();
36
37
template
<
typename
T>
38
inline
typename
T::value_type newTypeAccessor(
const
T& b) noexcept
39
{
40
return
b.m_value;
41
}
42
}
// namespace internal
43
}
// namespace newtype
44
}
// namespace cxx
45
}
// namespace iox
46
47
#endif
iox
building block to easily create free function for logging in a library context
Definition:
lockfree_queue.hpp:28
iox::cxx::newtype::internal::ProtectedConstructor_t
Definition:
internal.hpp:32
Generated by
1.9.1