BALL::BinaryFileAdaptor< T > Class Template Reference
[Operating system support]

#include <BALL/SYSTEM/file.h>

List of all members.


Public Member Functions

Constructors and destructor
 BinaryFileAdaptor ()
 

Default constructor.


 BinaryFileAdaptor (const T &data, bool swap_endian=false)
 

Detailed constructor.


Accessors
void setSwapEndian (bool swap_endian)
 

Set the swap_endian flag.


bool getSwapEndian () const
 

return the swap_endian flag


void setData (const T &data)
const T & getData () const
T & getData ()

Protected Attributes

data_
bool swap_endian_

Detailed Description

template<typename T>
class BALL::BinaryFileAdaptor< T >

Helper class for data conversion. BinaryFileAdaptors are used to read and write binary data from and to streams. This is done by reading the member data as a byte stream through an explicit cast and utilizing the stream read() and write() functions.

Caveat: This concept relies on the C++ memory layout and thus is highly non-portable!
The flag swap_endian can be used to swap between big- and little-endian.

Constructor & Destructor Documentation

template<typename T >
BALL_INLINE BALL::BinaryFileAdaptor< T >::BinaryFileAdaptor (  )  [inline]

Default constructor.

template<typename T>
BALL_INLINE BALL::BinaryFileAdaptor< T >::BinaryFileAdaptor ( const T &  data,
bool  swap_endian = false 
) [inline]

Detailed constructor.


Member Function Documentation

template<typename T >
BALL_INLINE T & BALL::BinaryFileAdaptor< T >::getData (  )  [inline]

Returns a mutable reference to the data stored in the adaptor

References BALL::BinaryFileAdaptor< T >::data_.

template<typename T >
BALL_INLINE const T & BALL::BinaryFileAdaptor< T >::getData (  )  const [inline]
template<typename T >
BALL_INLINE bool BALL::BinaryFileAdaptor< T >::getSwapEndian (  )  const [inline]

return the swap_endian flag

References BALL::BinaryFileAdaptor< T >::swap_endian_.

Referenced by BALL::operator>>().

template<typename T>
BALL_INLINE void BALL::BinaryFileAdaptor< T >::setData ( const T &  data  )  [inline]
template<typename T >
BALL_INLINE void BALL::BinaryFileAdaptor< T >::setSwapEndian ( bool  swap_endian  )  [inline]

Set the swap_endian flag.

References BALL::BinaryFileAdaptor< T >::swap_endian_.


Member Data Documentation