farm-ng-core
concept_utils.h
Go to the documentation of this file.
1
// Copyright 2022, farm-ng inc.
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
#pragma once
16
17
#include <initializer_list>
18
19
namespace
farm_ng
{
20
21
template
<
class
TDerived,
class
TBase>
22
concept
DerivedFrom
= std::is_base_of_v<TBase, TDerived>;
23
24
template
<
class
TT,
class
TU>
25
concept
SameAs
= std::is_same_v<TT, TU>;
26
27
template
<
class
TT>
28
concept
EnumType
= std::is_enum_v<TT>;
29
30
template
<
typename
TT>
31
concept
Arithmetic
= std::is_arithmetic_v<TT>;
32
33
}
// namespace farm_ng
farm_ng
Definition:
backtrace.cpp:102
farm_ng::EnumType
concept EnumType
Definition:
concept_utils.h:28
farm_ng::SameAs
concept SameAs
Definition:
concept_utils.h:25
farm_ng::Arithmetic
concept Arithmetic
Definition:
concept_utils.h:31
farm_ng::DerivedFrom
concept DerivedFrom
Definition:
concept_utils.h:22
projects
farm-ng-core
cpp
farm_ng
core
misc
concept_utils.h
Generated by
1.8.17