Teuchos - Trilinos Tools Package Version of the Day
Loading...
Searching...
No Matches
Teuchos_ReductionOp.hpp
1// @HEADER
2// *****************************************************************************
3// Teuchos: Common Tools Package
4//
5// Copyright 2004 NTESS and the Teuchos contributors.
6// SPDX-License-Identifier: BSD-3-Clause
7// *****************************************************************************
8// @HEADER
9
10#ifndef TEUCHOS_REDUCTION_OP_HPP
11#define TEUCHOS_REDUCTION_OP_HPP
12
13#include "Teuchos_Describable.hpp"
14
15
16namespace Teuchos {
17
18
27template<typename Ordinal, typename T>
29public:
31 virtual void reduce(
32 const Ordinal count,
33 const T inBuffer[],
35 ) const = 0;
36};
37
38
47template<typename Ordinal, typename T>
49public:
51 virtual void reduce(
52 const Ordinal count,
53 const T*const inBuffer[],
54 T*const inoutBuffer[]
55 ) const = 0;
56};
57
58
59} // namespace Teuchos
60
61
62#endif // TEUCHOS_REDUCTION_OP_HPP
Base class for all objects that can describe themselves.
Smart reference counting pointer class for automatic garbage collection.
Base interface class for user-defined reduction operations for objects that use reference semantics.
virtual void reduce(const Ordinal count, const T *const inBuffer[], T *const inoutBuffer[]) const =0
Base interface class for user-defined reduction operations for objects that use value semantics.
virtual void reduce(const Ordinal count, const T inBuffer[], T inoutBuffer[]) const =0
The Teuchos namespace contains all of the classes, structs and enums used by Teuchos,...