RAJA
RAJA provides a collection of platform portability abstractions for C++ HPC applications.
region.hpp
Go to the documentation of this file.
1 
14 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
15 // Copyright (c) Lawrence Livermore National Security, LLC and other
16 // RAJA Project Developers. See top-level LICENSE and COPYRIGHT
17 // files for dates and other details. No copyright assignment is required
18 // to contribute to RAJA.
19 //
20 // SPDX-License-Identifier: (BSD-3-Clause)
21 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
22 
23 #ifndef RAJA_region_HPP
24 #define RAJA_region_HPP
25 
27 
28 namespace RAJA
29 {
30 
31 template<typename ExecutionPolicy, typename LoopBody>
32 void region(LoopBody&& loop_body)
33 {
34  region_impl(ExecutionPolicy(), loop_body);
35 }
36 
37 template<typename ExecutionPolicy, typename OuterBody, typename InnerBody>
38 void region(OuterBody&& outer_body, InnerBody&& inner_body)
39 {
40  region_impl(ExecutionPolicy(), outer_body, inner_body);
41 }
42 
43 } // namespace RAJA
44 
45 
46 #endif // closing endif for header file include guard
RAJA_INLINE void region_impl(const seq_region &, Func &&body)
RAJA::region implementation for sequential.
Definition: region.hpp:40
Definition: AlignedRangeIndexSetBuilders.cpp:35
void region(LoopBody &&loop_body)
Definition: region.hpp:32