RAJA
RAJA provides a collection of platform portability abstractions for C++ HPC applications.
reduce.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_sequential_reduce_HPP
24 #define RAJA_sequential_reduce_HPP
25 
26 #include "RAJA/config.hpp"
27 
29 
31 #include "RAJA/pattern/reduce.hpp"
32 
34 
35 #include "RAJA/util/types.hpp"
36 
37 namespace RAJA
38 {
39 
40 namespace detail
41 {
42 template<typename T, typename Reduce>
43 class ReduceSeq
44  : public reduce::detail::BaseCombinable<T, Reduce, ReduceSeq<T, Reduce>>
45 {
47 
48 public:
50  ReduceSeq() = delete;
51 
52  using Base::Base;
53 };
54 
55 
56 } // namespace detail
57 
59 
60 } // namespace RAJA
61 
62 #endif // closing endif for header file include guard
Header file defining prototypes for routines used to manage memory for CPU reductions and other opera...
Definition: reduce.hpp:45
ReduceSeq()=delete
prohibit compiler-generated default ctor
Definition: reduce.hpp:284
Definition: AlignedRangeIndexSetBuilders.cpp:35
Base types used in common for RAJA reducer objects.
#define RAJA_DECLARE_ALL_REDUCERS(POL, COMBINER)
Definition: reduce.hpp:46
Header file providing RAJA reduction declarations.
Header file containing RAJA sequential policy definitions.
Definition: policy.hpp:105
Header file for RAJA type definitions.