42#ifndef TEUCHOS_REDUCTION_OP_HELPERS_HPP
43#define TEUCHOS_REDUCTION_OP_HELPERS_HPP
45#include "Teuchos_ReductionOp.hpp"
46#include "Teuchos_SerializationTraitsHelpers.hpp"
47#include "Teuchos_SerializerHelpers.hpp"
57template<
typename Ordinal,
typename T,
typename Serializer>
68 const Ordinal charCount
69 ,
const char charInBuffer[]
70 ,
char charInoutBuffer[]
87template<
typename Ordinal,
typename T,
98 ) :
Base(reductOp, serializer) {}
110template<
typename Ordinal,
typename T>
122 ) :
Base(reductOp, serializer) {}
131template<
typename Ordinal,
typename T>
142 const Ordinal charCount
143 ,
const char charInBuffer[]
144 ,
char charInoutBuffer[]
162template<
typename Ordinal,
typename T,
typename Serializer>
167 :reductOp_(reductOp), serializer_(serializer)
170template<
typename Ordinal,
typename T,
typename Serializer>
172 const Ordinal charCount
173 ,
const char charInBuffer[]
174 ,
char charInoutBuffer[]
178 inBuffer(charCount,charInBuffer,serializer_);
180 inoutBuffer(charCount,charInoutBuffer,serializer_);
182 inBuffer.getCount(),inBuffer.getBuffer(),inoutBuffer.getBuffer()
190template<
typename Ordinal,
typename T>
195 :serializer_(serializer), reductOp_(reductOp)
198template<
typename Ordinal,
typename T>
200 const Ordinal charCount
201 ,
const char charInBuffer[]
202 ,
char charInoutBuffer[]
206 inBuffer(*serializer_,charCount,charInBuffer);
208 inoutBuffer(*serializer_,charCount,charInoutBuffer);
Decorator class that uses a strategy object to convert to and from char[] to typed buffers for object...
void reduce(const Ordinal charCount, const char charInBuffer[], char charInoutBuffer[]) const
Decorator class that uses traits to convert to and from char[] to typed buffers for objects that use ...
void reduce(const Ordinal charCount, const char charInBuffer[], char charInoutBuffer[]) const
CharToValueTypeReductionOpImp(const RCP< const ValueTypeReductionOp< Ordinal, T > > &reductOp, const RCP< const Serializer > &serializer)
CharToValueTypeReductionOp(const RCP< const ValueTypeReductionOp< Ordinal, T > > &reductOp, const RCP< const Serializer > &serializer=DS::getDefaultSerializerRCP())
Decorator class that uses traits to convert to and from char[] to typed buffers for objects that use ...
CharToValueTypeReductionOp(const RCP< const ValueTypeReductionOp< Ordinal, T > > &reductOp, const RCP< const Serializer > &serializer)
Encapsulate how an array of onst objects with reference sematics is deserialized from a char[] array ...
const T *const * getBuffer() const
Encapsulate how an array of non-const serialized objects with value sematics stored in a char[] array...
A class for instantiating a default serialization object.
Smart reference counting pointer class for automatic garbage collection.
Encapsulate how an array of non-const objects with reference sematics is deserialized from a char[] a...
T *const * getBuffer() const
Base interface class for user-defined reduction operations for objects that use reference semantics.
Serialization traits class for types T that use value semantics.
Strategy interface for the indirect serializing and deserializing objects of a given type handled usi...
Encapsulate how an array of non-const serialized objects with value sematics stored in a char[] array...
Base interface class for user-defined reduction operations for objects that use value semantics.
The Teuchos namespace contains all of the classes, structs and enums used by Teuchos,...