#include <FWCore/FWLite/src/RefStreamer.h>
Public Member Functions | |
void | operator() (TBuffer &R__b, void *objp) |
RefStreamer (edm::EDProductGetter const *ep) | |
edm::EDProductGetter const * | setProductGetter (edm::EDProductGetter const *ep) |
Private Attributes | |
TClassRef | cl_ |
edm::EDProductGetter const * | prodGetter_ |
Definition at line 12 of file RefStreamer.h.
fwlite::RefStreamer::RefStreamer | ( | edm::EDProductGetter const * | ep | ) | [inline, explicit] |
Definition at line 11 of file RefStreamer.cc.
References cl_, Exception, edm::errors::InvalidReference, VarParsing::obj, and prodGetter_.
00011 { 00012 using edm::RefCore; 00013 using edm::Exception; 00014 using edm::errors::InvalidReference; 00015 if (R__b.IsReading()) { 00016 cl_->ReadBuffer(R__b, objp); 00017 RefCore* obj = static_cast<RefCore *>(objp); 00018 obj->setProductGetter(prodGetter_); 00019 obj->setProductPtr(0); 00020 } else { 00021 RefCore* obj = static_cast<RefCore *>(objp); 00022 if (obj->isTransient()) { 00023 throw Exception(InvalidReference,"Inconsistency") 00024 << "RefStreamer: transient Ref or Ptr cannot be made persistent."; 00025 } 00026 cl_->WriteBuffer(R__b, objp); 00027 } 00028 }
edm::EDProductGetter const* fwlite::RefStreamer::setProductGetter | ( | edm::EDProductGetter const * | ep | ) | [inline] |
Definition at line 16 of file RefStreamer.h.
References prodGetter_.
Referenced by fwlite::setRefStreamer().
00016 { 00017 edm::EDProductGetter const* previous = prodGetter_; 00018 prodGetter_ = ep; 00019 return previous; 00020 }
TClassRef fwlite::RefStreamer::cl_ [private] |
edm::EDProductGetter const* fwlite::RefStreamer::prodGetter_ [private] |