iceoryx_doc
1.0.1
iceoryx_utils
internal
cxx
newtype
comparable.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_COMPARABLE_HPP
17
#define IOX_UTILS_CXX_NEWTYPE_COMPARABLE_HPP
18
#include "iceoryx_utils/internal/cxx/newtype/internal.hpp"
19
20
namespace
iox
21
{
22
namespace
cxx
23
{
24
namespace
newtype
25
{
26
template
<
typename
T>
27
struct
Comparable
28
{
29
friend
bool
operator==(
const
T& lhs,
const
T& rhs) noexcept
30
{
31
return
internal::newTypeAccessor(lhs) == internal::newTypeAccessor(rhs);
32
}
33
34
friend
bool
operator!=(
const
T& lhs,
const
T& rhs) noexcept
35
{
36
return
!(lhs == rhs);
37
}
38
};
39
40
}
// namespace newtype
41
}
// namespace cxx
42
}
// namespace iox
43
44
#endif
iox
building block to easily create free function for logging in a library context
Definition:
lockfree_queue.hpp:28
iox::cxx::newtype::Comparable
Definition:
comparable.hpp:28
Generated by
1.9.1