42#ifndef TEUCHOS_SERIALIZER_HELPERS_HPP
43#define TEUCHOS_SERIALIZER_HELPERS_HPP
53template <
typename Ordinal,
typename T>
59 ,
const Ordinal count, T*
const buffer[]
83template <
typename Ordinal,
typename T>
89 ,
const Ordinal count,
const T*
const buffer[]
115template <
typename Ordinal,
typename T>
121 ,
const Ordinal bytes,
char charBuffer[]
149template <
typename Ordinal,
typename T>
155 ,
const Ordinal bytes,
const char charBuffer[]
186template <
typename Ordinal,
typename T>
189 ,
const Ordinal count, T*
const buffer[]
198template <
typename Ordinal,
typename T>
204template <
typename Ordinal,
typename T>
208 return &(
const_cast<this_ptr_t
>(
this)->charBuffer_)[0];
213template <
typename Ordinal,
typename T>
223template <
typename Ordinal,
typename T>
226 ,
const Ordinal count,
const T*
const buffer[]
238template <
typename Ordinal,
typename T>
244template <
typename Ordinal,
typename T>
250template <
typename Ordinal,
typename T>
260template <
typename Ordinal,
typename T>
263 ,
const Ordinal bytes,
char charBuffer[]
267 const Ordinal extent =
serializer_.getBufferSize(1);
268 const Ordinal count =
bytes_ / extent;
274 for(
int i = 0; i < count; ++i ) {
283template <
typename Ordinal,
typename T>
291template <
typename Ordinal,
typename T>
295 return &(
const_cast<this_ptr_t
>(
this)->buffer_)[0];
300template <
typename Ordinal,
typename T>
310template <
typename Ordinal,
typename T>
313 ,
const Ordinal bytes,
const char charBuffer[]
317 const Ordinal extent =
serializer_.getBufferSize(1);
318 const Ordinal count =
bytes_ / extent;
324 for(
int i = 0; i < count; ++i ) {
333template <
typename Ordinal,
typename T>
339template <
typename Ordinal,
typename T>
345template <
typename Ordinal,
typename T>
Templated array class derived from the STL std::vector.
Replacement for std::vector that is compatible with the Teuchos Memory Management classes.
const Serializer< Ordinal, T > & serializer_
ConstReferenceTypeDeserializationBuffer & operator=(const ConstReferenceTypeDeserializationBuffer &)
const T *const * getBuffer() const
~ConstReferenceTypeDeserializationBuffer()
Reserialize back to the char[] buffer from the internal T*[] buffer.
ConstReferenceTypeDeserializationBuffer(const ConstReferenceTypeDeserializationBuffer &)
Array< RCP< T > > buffer_ptr_t
ConstReferenceTypeDeserializationBuffer(const Serializer< Ordinal, T > &serializer, const Ordinal bytes, const char charBuffer[])
Serialize to an internally stored T*[] buffer.
ConstReferenceTypeDeserializationBuffer()
ConstReferenceTypeSerializationBuffer & operator=(const ConstReferenceTypeSerializationBuffer &)
ConstReferenceTypeSerializationBuffer(const Serializer< Ordinal, T > &serializer, const Ordinal count, const T *const buffer[])
Serialize to an internally stored char[] buffer.
const Serializer< Ordinal, T > & serializer_
Array< char > charBuffer_
ConstReferenceTypeSerializationBuffer()
const char * getCharBuffer() const
~ConstReferenceTypeSerializationBuffer()
Free the internal char[] buffer (no data to be written back).
ConstReferenceTypeSerializationBuffer(const ConstReferenceTypeSerializationBuffer &)
const Serializer< Ordinal, T > & serializer_
T *const * getBuffer() const
ReferenceTypeDeserializationBuffer(const ReferenceTypeDeserializationBuffer &)
~ReferenceTypeDeserializationBuffer()
Reserialize back to the char[] buffer from the internal T*[] buffer.
ReferenceTypeDeserializationBuffer(const Serializer< Ordinal, T > &serializer, const Ordinal bytes, char charBuffer[])
Serialize to an internally stored T*[] buffer.
ReferenceTypeDeserializationBuffer & operator=(const ReferenceTypeDeserializationBuffer &)
Array< RCP< T > > buffer_ptr_t
ReferenceTypeDeserializationBuffer()
ReferenceTypeSerializationBuffer(const Serializer< Ordinal, T > &serializer, const Ordinal count, T *const buffer[])
Serialize to an internally stored char[] buffer.
const Serializer< Ordinal, T > & serializer_
ReferenceTypeSerializationBuffer(const ReferenceTypeSerializationBuffer &)
ReferenceTypeSerializationBuffer()
~ReferenceTypeSerializationBuffer()
Deserialize from the interal char[] buffer back to the original T*[] buffer.
char * getCharBuffer() const
Array< char > charBuffer_
ReferenceTypeSerializationBuffer & operator=(const ReferenceTypeSerializationBuffer &)
Strategy interface for the indirect serializing and deserializing objects of a given type handled usi...
#define TEUCHOS_TEST_FOR_EXCEPT(throw_exception_test)
This macro is designed to be a short version of TEUCHOS_TEST_FOR_EXCEPTION() that is easier to call.