10 #ifndef TEUCHOS_REDUCTION_OP_HELPERS_HPP
11 #define TEUCHOS_REDUCTION_OP_HELPERS_HPP
25 template<
typename Ordinal,
typename T,
typename Serializer>
36 const Ordinal charCount
37 ,
const char charInBuffer[]
38 ,
char charInoutBuffer[]
55 template<
typename Ordinal,
typename T,
66 ) :
Base(reductOp, serializer) {}
78 template<
typename Ordinal,
typename T>
90 ) :
Base(reductOp, serializer) {}
99 template<
typename Ordinal,
typename T>
110 const Ordinal charCount
111 ,
const char charInBuffer[]
112 ,
char charInoutBuffer[]
130 template<
typename Ordinal,
typename T,
typename Serializer>
135 :reductOp_(reductOp), serializer_(serializer)
138 template<
typename Ordinal,
typename T,
typename Serializer>
140 const Ordinal charCount
141 ,
const char charInBuffer[]
142 ,
char charInoutBuffer[]
146 inBuffer(charCount,charInBuffer,serializer_);
148 inoutBuffer(charCount,charInoutBuffer,serializer_);
150 inBuffer.getCount(),inBuffer.getBuffer(),inoutBuffer.getBuffer()
158 template<
typename Ordinal,
typename T>
163 :serializer_(serializer), reductOp_(reductOp)
166 template<
typename Ordinal,
typename T>
168 const Ordinal charCount
169 ,
const char charInBuffer[]
170 ,
char charInoutBuffer[]
174 inBuffer(*serializer_,charCount,charInBuffer);
176 inoutBuffer(*serializer_,charCount,charInoutBuffer);
184 #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 ...