ATLAS Offline Software
KeyConcept.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef CONSTRAINTS_KEYCONCEPT_H
6 #define CONSTRAINTS_KEYCONCEPT_H
7 #include <string>
8 #include <concepts>
9 #include <type_traits>
10 
11 template <typename T> struct is_char_array : std::false_type {};
12 
13 template <std::size_t N> struct is_char_array<char[N]> : std::true_type {};
14 
15 //CONCEPT
16 template <class T, class ID=std::string >
17 concept KeyConcept =
18  std::is_arithmetic_v<T> || is_char_array<T>::value || std::convertible_to<T, ID> ;
19 
20 #endif
21 
22 
23 
24 
25 
26 
27 
KeyConcept
concept KeyConcept
Definition: KeyConcept.h:17
xAOD::char
char
Definition: TrigDecision_v1.cxx:38
is_char_array
Definition: KeyConcept.h:11
JetTiledMap::N
@ N
Definition: TiledEtaPhiMap.h:44