CMS 3D CMS Logo

Public Types | Public Member Functions | Private Attributes

edm::TransientStreamer< T > Class Template Reference

#include <TransientStreamer.h>

List of all members.

Public Types

typedef T element_type

Public Member Functions

void operator() (TBuffer &R__b, void *objp)
 TransientStreamer ()

Private Attributes

TClassRef cl_
std::string className_

Detailed Description

template<typename T>
class edm::TransientStreamer< T >

Definition at line 13 of file TransientStreamer.h.


Member Typedef Documentation

template<typename T >
typedef T edm::TransientStreamer< T >::element_type

Definition at line 15 of file TransientStreamer.h.


Constructor & Destructor Documentation

template<typename T >
edm::TransientStreamer< T >::TransientStreamer ( )

Definition at line 24 of file TransientStreamer.h.

                                          :
    className_(TypeID(typeid(T)).className()),
    cl_(className_.c_str())
  {}

Member Function Documentation

template<typename T >
void edm::TransientStreamer< T >::operator() ( TBuffer &  R__b,
void *  objp 
)

Definition at line 31 of file TransientStreamer.h.

References VarParsing::obj.

                                                            {
    if (R__b.IsReading()) {
      cl_->ReadBuffer(R__b, objp);
      // Fill with default constructed object;
      T* obj = static_cast<T *>(objp);
      *obj = T();
    } else {
      cl_->WriteBuffer(R__b, objp);
    }
  }

Member Data Documentation

template<typename T >
TClassRef edm::TransientStreamer< T >::cl_ [private]

Definition at line 20 of file TransientStreamer.h.

template<typename T >
std::string edm::TransientStreamer< T >::className_ [private]

Definition at line 19 of file TransientStreamer.h.