42 #ifndef TEUCHOS_REDUCTION_OP_HELPERS_HPP
43 #define TEUCHOS_REDUCTION_OP_HELPERS_HPP
57 template<
typename Ordinal,
typename T,
typename Serializer>
68 const Ordinal charCount
69 ,
const char charInBuffer[]
70 ,
char charInoutBuffer[]
87 template<
typename Ordinal,
typename T,
98 ) :
Base(reductOp, serializer) {}
110 template<
typename Ordinal,
typename T>
122 ) :
Base(reductOp, serializer) {}
131 template<
typename Ordinal,
typename T>
142 const Ordinal charCount
143 ,
const char charInBuffer[]
144 ,
char charInoutBuffer[]
162 template<
typename Ordinal,
typename T,
typename Serializer>
167 :reductOp_(reductOp), serializer_(serializer)
170 template<
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()
190 template<
typename Ordinal,
typename T>
195 :serializer_(serializer), reductOp_(reductOp)
198 template<
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);
216 #endif // TEUCHOS_REDUCTION_OP_HELPERS_HPP
A class for instantiating a default serialization object.
Strategy interface for the indirect serializing and deserializing objects of a given type handled usi...
void reduce(const Ordinal charCount, const char charInBuffer[], char charInoutBuffer[]) const
Encapsulate how an array of non-const objects with reference sematics is deserialized from a char[] a...
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 ...
RCP< const Serializer > serializer_
CharToValueTypeReductionOpImp< Ordinal, T, Serializer > Base
void reduce(const Ordinal charCount, const char charInBuffer[], char charInoutBuffer[]) const
CharToValueTypeReductionOpImp()
Decorator class that uses traits to convert to and from char[] to typed buffers for objects that use ...
CharToValueTypeReductionOpImp & operator=(const CharToValueTypeReductionOpImp &)
Base interface class for user-defined reduction operations for objects that use value semantics...
const T *const * getBuffer() const
RCP< const ReferenceTypeReductionOp< Ordinal, T > > reductOp_
DefaultSerializer< Ordinal, T > DS
Decorator class that uses a strategy object to convert to and from char[] to typed buffers for object...
RCP< const ValueTypeReductionOp< Ordinal, T > > reductOp_
RCP< const Serializer< Ordinal, T > > serializer_
CharToReferenceTypeReductionOp()
CharToValueTypeReductionOp(const RCP< const ValueTypeReductionOp< Ordinal, T > > &reductOp, const RCP< const Serializer > &serializer=DS::getDefaultSerializerRCP())
DS::DefaultSerializerType Serializer
Serialization traits class for types T that use value semantics.
Base interface class for user-defined reduction operations for objects that use reference semantics...
T *const * getBuffer() const
CharToValueTypeReductionOpImp< Ordinal, T, Serializer > Base
CharToReferenceTypeReductionOp & operator=(const CharToReferenceTypeReductionOp &)
Smart reference counting pointer class for automatic garbage collection.
Encapsulate how an array of non-const serialized objects with value sematics stored in a char[] array...
Encapsulate how an array of non-const serialized objects with value sematics stored in a char[] array...
Decorator class that uses traits to convert to and from char[] to typed buffers for objects that use ...