![]() |
![]() |
#include <RefCoreStreamer.h>
Public Member Functions | |
void | operator() (TBuffer &R__b, void *objp) |
RefCoreCheckTransientOnWriteStreamer () | |
Private Attributes | |
TClassRef | cl_ |
Definition at line 29 of file RefCoreStreamer.h.
edm::RefCoreCheckTransientOnWriteStreamer::RefCoreCheckTransientOnWriteStreamer | ( | ) | [inline, explicit] |
Definition at line 31 of file RefCoreStreamer.h.
: cl_("edm::RefCore::CheckTransientOnWrite"){}
void edm::RefCoreCheckTransientOnWriteStreamer::operator() | ( | TBuffer & | R__b, |
void * | objp | ||
) |
Definition at line 54 of file RefCoreStreamer.cc.
References cl_, Exception, edm::errors::InvalidReference, VarParsing::obj, and BeamSplash_cfg::version.
{ typedef RefCore::CheckTransientOnWrite CheckTransientOnWrite; if (R__b.IsReading()) { //std::cout <<"reading CheckTransientOnWrite"<<std::endl; #if 1 Version_t version; R__b >> version; #else R__b.ReadVersion(); #endif CheckTransientOnWrite* obj = static_cast<CheckTransientOnWrite *>(objp); obj->transient_ = false; obj->cacheIsProductPtr_ = false; } else { //std::cout <<"writing CheckTransientOnWrite"<<std::endl; TVirtualStreamerInfo* sinfo = cl_->GetStreamerInfo(); CheckTransientOnWrite* obj = static_cast<CheckTransientOnWrite *>(objp); if (obj->transient_) { throw Exception(errors::InvalidReference,"Inconsistency") << "RefCoreStreamer: transient Ref or Ptr cannot be made persistent."; } #if 1 R__b << cl_->GetClassVersion(); #else R__b.WriteVersion(cl_, kFALSE); #endif R__b.TagStreamerInfo(sinfo); } }
TClassRef edm::RefCoreCheckTransientOnWriteStreamer::cl_ [private] |
Definition at line 36 of file RefCoreStreamer.h.
Referenced by operator()().