Sct::ISStreamerWrapper< T > Class Template Reference

Templated class for streaming objects derriving from the oniline isinfo with the various Sct::IOManager classes. More...

#include <ISStreamerWrapper.h>

Inheritance diagram for Sct::ISStreamerWrapper< T >:

Inheritance graph
[legend]
Collaboration diagram for Sct::ISStreamerWrapper< T >:

Collaboration graph
[legend]

Public Member Functions

virtual void write (OStream &out, const Streamable &ob, const IOManager &manager) const
 write method uses publishGuts()
virtual shared_ptr< Streamableread (IStream &in, const IOManager &manager) const
 Read method uses refreshGuts() and returns ISSerializableWrapper<T>.
virtual void read (IStream &in, Streamable &ob, const IOManager &manager) const
 Read method uses refreshGuts() and takes as second arg ISSerializableWrapper<T>.
 ISStreamerWrapper ()
 constructor
virtual unsigned getVersion () const throw ()
 INLINES.

Data Structures

class  InnerClass
 Small class inherits from T since publishGuts and refreshGuts are protected by is_generator.sh. More...

Detailed Description

template<class T>
class Sct::ISStreamerWrapper< T >

Templated class for streaming objects derriving from the oniline isinfo with the various Sct::IOManager classes.

The templated class should be an isinfo with a public unsigned data member `version'. Allows one to write isinfo to other IOManager back-ends. To be used in conjuction with ISSerializableWrapper class. Overrides read and write to use the isinfo publishGuts and refreshGuts methods. The templated class must have a member called `version', which is returned by the getVersion() method. Streamer version control for this class is via this isinfo version member. Used for example in Archiving IS objects, such as TestData and SequenceData.

Todo:
find a way of doing auto-addition to IOManager map

Definition at line 33 of file ISStreamerWrapper.h.


Constructor & Destructor Documentation

template<class T>
Sct::ISStreamerWrapper< T >::ISStreamerWrapper  )  [inline]
 

constructor

Definition at line 53 of file ISStreamerWrapper.h.


Member Function Documentation

template<class T>
unsigned Sct::ISStreamerWrapper< T >::getVersion  )  const throw () [inline, virtual]
 

INLINES.

Implements Sct::Streamer.

Definition at line 80 of file ISStreamerWrapper.h.

template<class T>
void Sct::ISStreamerWrapper< T >::read IStream in,
Streamable ob,
const IOManager manager
const [inline, virtual]
 

Read method uses refreshGuts() and takes as second arg ISSerializableWrapper<T>.

Implements Sct::Streamer.

Definition at line 102 of file ISStreamerWrapper.h.

References Sct::ISSerializableWrapper< T >::constructUniqueID(), and Sct::ISSerializableWrapper< T >::getWrappedObject().

Here is the call graph for this function:

template<class T>
shared_ptr< Streamable > Sct::ISStreamerWrapper< T >::read IStream in,
const IOManager manager
const [inline, virtual]
 

Read method uses refreshGuts() and returns ISSerializableWrapper<T>.

Implements Sct::Streamer.

Definition at line 119 of file ISStreamerWrapper.h.

template<class T>
void Sct::ISStreamerWrapper< T >::write OStream out,
const Streamable ob,
const IOManager manager
const [inline, virtual]
 

write method uses publishGuts()

Implements Sct::Streamer.

Definition at line 86 of file ISStreamerWrapper.h.

References Sct::ISSerializableWrapper< T >::getWrappedObject().

Here is the call graph for this function:


The documentation for this class was generated from the following file:
Generated on Mon Feb 6 14:02:38 2006 for SCT DAQ/DCS Software - C++ by  doxygen 1.4.6