ATLAS Offline Software
Loading...
Searching...
No Matches
AuxElementConcepts.h
Go to the documentation of this file.
1// This file's extension implies that it's C, but it's really -*- C++ -*-.
2/*
3 * Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration.
4 */
19
20
21#ifndef ATHCONTAINERS_AUXELEMENTCONCEPTS_H
22#define ATHCONTAINERS_AUXELEMENTCONCEPTS_H
23
24
27
28
29namespace SG {
30
31
33template <class T>
35 requires (const T& elt)
36 {
37 { elt } -> std::convertible_to<const IAuxElement&>;
38 { elt.container() } -> std::convertible_to<const AuxVectorData*>;
39 };
40
41
43template <class T>
44concept IsAuxElement =
45 requires (T& elt)
46 {
47 { elt } -> std::convertible_to<IAuxElement&>;
48 { elt.container() } -> std::convertible_to<AuxVectorData*>;
49 };
50
51
52} // namespace SG
53
54
55#endif // not ATHCONTAINERS_AUXELEMENTCONCEPTS_H
Manage lookup of vectors of auxiliary data.
Flag that a class may have auxiliary data associated with it.
Test if T is compatible with AuxElement.
Test if T is compatible with ConstAuxElement.
Forward declaration.