DataStreamTpl< __mode, __variant, T > Class Template Reference

#include <source/ariba/utility/serialization/DataStream.hpp>

Collaboration diagram for DataStreamTpl< __mode, __variant, T >:

Collaboration graph
[legend]

List of all members.

Public Member Functions

finline DataStreamTpl ()
finline DataStreamTpl (Data &binary)
finline DataStreamTpl (_DataStream &stream)
finline Mode getMode () const
finline bool isMeasure ()
finline bool isSerializer ()
finline bool isDeserializer ()
finline int getVariant () const
finline size_t getRemainingLength () const
finline Data getRemainingData (size_t length)
finline size_t getCurrentLength () const
finline void reset (Mode mode=UNDEFINED)
finline size_t mark () const
finline void seek (size_t idx)
finline void ensureLength (size_t size)
finline Data getData ()
finline uint8_t * bytes (size_t length)
template<typename X >
finline _DataStreamoperator&& (X &obj)
template<typename X >
finline _DataStreamoperator&& (const X &obj)
template<typename X >
finline _DataStreamoperator&& (X *obj)
template<typename X >
finline _DataStreamoperator&& (const X *obj)

Private Types

typedef DataStreamTpl< __mode,
__variant, T > 
_DataStream

Private Member Functions

template<class X >
finline void add (const X &ser, if_is_base_of(ExplicitSerializer, X))
template<class X >
finline void remove (const X &ser, if_is_base_of(ExplicitSerializer, X))
template<class X >
finline void add (X &obj, if_is_base_of(Serializeable, X))
template<class X >
finline void add (const X &obj, if_is_base_of(Serializeable, X))
template<class X >
finline void remove (X &obj, if_is_base_of(Serializeable, X))
template<typename X >
finline void add (X &obj, if_uint(X))
template<typename X >
finline void remove (X &obj, if_uint(X))
template<typename X >
finline void add (X &sobj, if_int(X))
template<typename X >
finline void remove (X &sobj, if_int(X))
finline void add (bool &obj)
finline void remove (bool &obj)
finline void add (const VSerializeable *obj)
finline void remove (VSerializeable *obj)
finline void remove (const VSerializeable *obj)

Private Attributes

size_t index
DataTpl< T > bits

Friends

class SERIALIZATION_NS_INT::ITpl
class SERIALIZATION_NS_INT::cI
class SERIALIZATION_NS_INT::T
class SERIALIZATION_NS_INT::cT
template<Mode _a, int _b, typename _c >
std::ostream & operator<< (std::ostream &, DataStreamTpl< _a, _b, _c > &)


Detailed Description

template<Mode __mode, int __variant, typename T>
class DataStreamTpl< __mode, __variant, T >

Definition at line 103 of file DataStream.hpp.


Member Typedef Documentation

template<Mode __mode, int __variant, typename T>
typedef DataStreamTpl<__mode, __variant, T> DataStreamTpl< __mode, __variant, T >::_DataStream [private]

Definition at line 215 of file DataStream.hpp.


Constructor & Destructor Documentation

template<Mode __mode, int __variant, typename T>
finline DataStreamTpl< __mode, __variant, T >::DataStreamTpl (  )  [inline]

Definition at line 219 of file DataStream.hpp.

template<Mode __mode, int __variant, typename T>
finline DataStreamTpl< __mode, __variant, T >::DataStreamTpl ( Data binary  )  [inline]

Definition at line 223 of file DataStream.hpp.

template<Mode __mode, int __variant, typename T>
finline DataStreamTpl< __mode, __variant, T >::DataStreamTpl ( _DataStream stream  )  [inline]

Definition at line 227 of file DataStream.hpp.


Member Function Documentation

template<Mode __mode, int __variant, typename T>
finline void DataStreamTpl< __mode, __variant, T >::add ( const VSerializeable obj  )  [inline, private]

template<Mode __mode, int __variant, typename T>
finline void DataStreamTpl< __mode, __variant, T >::add ( bool &  obj  )  [inline, private]

Definition at line 184 of file DataStream.hpp.

template<Mode __mode, int __variant, typename T>
template<typename X >
finline void DataStreamTpl< __mode, __variant, T >::add ( X &  sobj,
if_int(X)   
) [inline, private]

Definition at line 167 of file DataStream.hpp.

References bitcpy(), and DataTpl< T, DataModel >::getBuffer().

template<Mode __mode, int __variant, typename T>
template<typename X >
finline void DataStreamTpl< __mode, __variant, T >::add ( X &  obj,
if_uint(X)   
) [inline, private]

Definition at line 150 of file DataStream.hpp.

References bitcpy(), and DataTpl< T, DataModel >::getBuffer().

template<Mode __mode, int __variant, typename T>
template<class X >
finline void DataStreamTpl< __mode, __variant, T >::add ( const X &  obj,
if_is_base_of(Serializeable, X)   
) [inline, private]

Definition at line 139 of file DataStream.hpp.

template<Mode __mode, int __variant, typename T>
template<class X >
finline void DataStreamTpl< __mode, __variant, T >::add ( X &  obj,
if_is_base_of(Serializeable, X)   
) [inline, private]

Definition at line 134 of file DataStream.hpp.

References SERIALIZATION_METHOD_NAME.

template<Mode __mode, int __variant, typename T>
template<class X >
finline void DataStreamTpl< __mode, __variant, T >::add ( const X &  ser,
if_is_base_of(ExplicitSerializer, X)   
) [inline, private]

Definition at line 123 of file DataStream.hpp.

template<Mode __mode, int __variant, typename T>
finline uint8_t* DataStreamTpl< __mode, __variant, T >::bytes ( size_t  length  )  [inline]

template<Mode __mode, int __variant, typename T>
finline void DataStreamTpl< __mode, __variant, T >::ensureLength ( size_t  size  )  [inline]

Assures that the given length is available in the buffer.

Definition at line 324 of file DataStream.hpp.

References DataTpl< T, DataModel >::ensureLength().

Referenced by data_serialization_v().

template<Mode __mode, int __variant, typename T>
finline size_t DataStreamTpl< __mode, __variant, T >::getCurrentLength (  )  const [inline]

Returns the current length of the stream. This method is only applicable in serialize mode.

Returns:
The current length of the stream.

Definition at line 294 of file DataStream.hpp.

template<Mode __mode, int __variant, typename T>
finline Data DataStreamTpl< __mode, __variant, T >::getData (  )  [inline]

Returns a binary object, of the current stream content

Definition at line 331 of file DataStream.hpp.

References DataTpl< T, DataModel >::setLength().

template<Mode __mode, int __variant, typename T>
finline Mode DataStreamTpl< __mode, __variant, T >::getMode (  )  const [inline]

Returns the current mode of the data stream

Returns:
the current mode of the data stream

Definition at line 236 of file DataStream.hpp.

template<Mode __mode, int __variant, typename T>
finline Data DataStreamTpl< __mode, __variant, T >::getRemainingData ( size_t  length  )  [inline]

Returns the remaining data in the data buffer. This method is only applicable in deserialize mode.

Returns:
The remaining data in the data buffer.

Definition at line 282 of file DataStream.hpp.

References DataTpl< T, DataModel >::getBuffer(), and DataTpl< T, DataModel >::word_width.

template<Mode __mode, int __variant, typename T>
finline size_t DataStreamTpl< __mode, __variant, T >::getRemainingLength (  )  const [inline]

Returns the remaining length. This method is only applicable in deserialize mode.

Returns:
The remaining length of the stream.

Definition at line 272 of file DataStream.hpp.

References DataTpl< T, DataModel >::getLength().

template<Mode __mode, int __variant, typename T>
finline int DataStreamTpl< __mode, __variant, T >::getVariant (  )  const [inline]

Returns the variants that are used.

Returns:
The variants that are used.

Definition at line 262 of file DataStream.hpp.

template<Mode __mode, int __variant, typename T>
finline bool DataStreamTpl< __mode, __variant, T >::isDeserializer (  )  [inline]

Definition at line 253 of file DataStream.hpp.

References DESERIALIZE.

template<Mode __mode, int __variant, typename T>
finline bool DataStreamTpl< __mode, __variant, T >::isMeasure (  )  [inline]

Returns true, if this is a measure of data length

Returns:
true, if this is a measure of data length

Definition at line 245 of file DataStream.hpp.

References MEASURE.

template<Mode __mode, int __variant, typename T>
finline bool DataStreamTpl< __mode, __variant, T >::isSerializer (  )  [inline]

Definition at line 249 of file DataStream.hpp.

References SERIALIZE.

template<Mode __mode, int __variant, typename T>
finline size_t DataStreamTpl< __mode, __variant, T >::mark (  )  const [inline]

Returns a mark of the current position in the stream

Definition at line 309 of file DataStream.hpp.

template<Mode __mode, int __variant, typename T>
template<typename X >
finline _DataStream& DataStreamTpl< __mode, __variant, T >::operator&& ( const X *  obj  )  [inline]

Definition at line 371 of file DataStream.hpp.

template<Mode __mode, int __variant, typename T>
template<typename X >
finline _DataStream& DataStreamTpl< __mode, __variant, T >::operator&& ( X *  obj  )  [inline]

Definition at line 365 of file DataStream.hpp.

template<Mode __mode, int __variant, typename T>
template<typename X >
finline _DataStream& DataStreamTpl< __mode, __variant, T >::operator&& ( const X &  obj  )  [inline]

Definition at line 359 of file DataStream.hpp.

template<Mode __mode, int __variant, typename T>
template<typename X >
finline _DataStream& DataStreamTpl< __mode, __variant, T >::operator&& ( X &  obj  )  [inline]

deserialises or serializes an object depending on the bit-streams mode

Definition at line 353 of file DataStream.hpp.

template<Mode __mode, int __variant, typename T>
finline void DataStreamTpl< __mode, __variant, T >::remove ( const VSerializeable obj  )  [inline, private]

Definition at line 210 of file DataStream.hpp.

template<Mode __mode, int __variant, typename T>
finline void DataStreamTpl< __mode, __variant, T >::remove ( VSerializeable obj  )  [inline, private]

Definition at line 204 of file DataStream.hpp.

References DataTpl< T, DataModel >::getBuffer().

template<Mode __mode, int __variant, typename T>
finline void DataStreamTpl< __mode, __variant, T >::remove ( bool &  obj  )  [inline, private]

Definition at line 189 of file DataStream.hpp.

template<Mode __mode, int __variant, typename T>
template<typename X >
finline void DataStreamTpl< __mode, __variant, T >::remove ( X &  sobj,
if_int(X)   
) [inline, private]

Definition at line 176 of file DataStream.hpp.

template<Mode __mode, int __variant, typename T>
template<typename X >
finline void DataStreamTpl< __mode, __variant, T >::remove ( X &  obj,
if_uint(X)   
) [inline, private]

Definition at line 158 of file DataStream.hpp.

References bitcpy(), and DataTpl< T, DataModel >::getBuffer().

template<Mode __mode, int __variant, typename T>
template<class X >
finline void DataStreamTpl< __mode, __variant, T >::remove ( X &  obj,
if_is_base_of(Serializeable, X)   
) [inline, private]

Definition at line 144 of file DataStream.hpp.

References SERIALIZATION_METHOD_NAME.

template<Mode __mode, int __variant, typename T>
template<class X >
finline void DataStreamTpl< __mode, __variant, T >::remove ( const X &  ser,
if_is_base_of(ExplicitSerializer, X)   
) [inline, private]

Definition at line 128 of file DataStream.hpp.

template<Mode __mode, int __variant, typename T>
finline void DataStreamTpl< __mode, __variant, T >::reset ( Mode  mode = UNDEFINED  )  [inline]

Resets the index of the stream

Definition at line 301 of file DataStream.hpp.

template<Mode __mode, int __variant, typename T>
finline void DataStreamTpl< __mode, __variant, T >::seek ( size_t  idx  )  [inline]

Seeks to the given position

Definition at line 316 of file DataStream.hpp.


Friends And Related Function Documentation

template<Mode __mode, int __variant, typename T>
template<Mode _a, int _b, typename _c >
std::ostream& operator<< ( std::ostream &  stream,
DataStreamTpl< _a, _b, _c > &  binaryStream 
) [friend]

Definition at line 380 of file DataStream.hpp.

template<Mode __mode, int __variant, typename T>
friend class SERIALIZATION_NS_INT::cI [friend]

Definition at line 107 of file DataStream.hpp.

template<Mode __mode, int __variant, typename T>
friend class SERIALIZATION_NS_INT::cT [friend]

Definition at line 109 of file DataStream.hpp.

template<Mode __mode, int __variant, typename T>
friend class SERIALIZATION_NS_INT::ITpl [friend]

Definition at line 106 of file DataStream.hpp.

template<Mode __mode, int __variant, typename T>
friend class SERIALIZATION_NS_INT::T [friend]

Definition at line 108 of file DataStream.hpp.


Member Data Documentation

template<Mode __mode, int __variant, typename T>
DataTpl<T> DataStreamTpl< __mode, __variant, T >::bits [private]

Definition at line 119 of file DataStream.hpp.

Referenced by operator<<().

template<Mode __mode, int __variant, typename T>
size_t DataStreamTpl< __mode, __variant, T >::index [private]

Definition at line 116 of file DataStream.hpp.


The documentation for this class was generated from the following file:

Generated on Fri Aug 14 23:38:41 2009 for Ariba by  doxygen 1.5.8