RAJA
RAJA provides a collection of platform portability abstractions for C++ HPC applications.
concepts.hpp
Go to the documentation of this file.
1 
13 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
14 // Copyright (c) Lawrence Livermore National Security, LLC and other
15 // RAJA Project Developers. See top-level LICENSE and COPYRIGHT
16 // files for dates and other details. No copyright assignment is required
17 // to contribute to RAJA.
18 //
19 // SPDX-License-Identifier: (BSD-3-Clause)
20 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
21 
22 #ifndef RAJA_concepts_HPP
23 #define RAJA_concepts_HPP
24 
25 #include <iterator>
26 #include <type_traits>
27 
28 #include "camp/concepts.hpp"
29 
30 namespace RAJA
31 {
32 
33 namespace concepts
34 {
35 using namespace camp::concepts;
36 
37 template<typename From, typename To>
39  : DefineConcept(::RAJA::concepts::convertible_to<To>(camp::val<From>())) {};
40 
41 } // namespace concepts
42 
43 namespace type_traits
44 {
45 using namespace camp::type_traits;
46 
48 } // namespace type_traits
49 
50 } // end namespace RAJA
51 
52 #endif
DefineTypeTraitFromConcept(convertible_to, concepts::ConvertibleTo)
Definition: AlignedRangeIndexSetBuilders.cpp:35
Definition: concepts.hpp:39