CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
edm::shared_memory::ROOTDeserializer< T, READBUFFER > Class Template Reference

#include <ROOTDeserializer.h>

Public Member Functions

T deserialize ()
 
const ROOTDeserializeroperator= (const ROOTDeserializer &)=delete
 
const ROOTDeserializeroperator= (ROOTDeserializer &&)=delete
 
 ROOTDeserializer (READBUFFER &iBuffer)
 
 ROOTDeserializer (const ROOTDeserializer &)=delete
 
 ROOTDeserializer (ROOTDeserializer &&)=delete
 

Private Attributes

READBUFFER & buffer_
 
TBufferFile bufferFile_
 
TClass *const class_
 
int previousBufferIdentifier_ = 0
 

Detailed Description

template<typename T, typename READBUFFER>
class edm::shared_memory::ROOTDeserializer< T, READBUFFER >

Definition at line 31 of file ROOTDeserializer.h.

Constructor & Destructor Documentation

template<typename T, typename READBUFFER>
edm::shared_memory::ROOTDeserializer< T, READBUFFER >::ROOTDeserializer ( READBUFFER &  iBuffer)
inline

Definition at line 33 of file ROOTDeserializer.h.

Referenced by edm::shared_memory::ROOTDeserializer< GenLumiInfoProduct >::ROOTDeserializer().

34  : buffer_{iBuffer}, class_{TClass::GetClass(typeid(T))}, bufferFile_(TBuffer::kRead) {}
long double T
template<typename T, typename READBUFFER>
edm::shared_memory::ROOTDeserializer< T, READBUFFER >::ROOTDeserializer ( const ROOTDeserializer< T, READBUFFER > &  )
delete
template<typename T, typename READBUFFER>
edm::shared_memory::ROOTDeserializer< T, READBUFFER >::ROOTDeserializer ( ROOTDeserializer< T, READBUFFER > &&  )
delete

Member Function Documentation

template<typename T, typename READBUFFER>
T edm::shared_memory::ROOTDeserializer< T, READBUFFER >::deserialize ( )
inline

Definition at line 44 of file ROOTDeserializer.h.

Referenced by main().

44  {
45  T value;
46  if (previousBufferIdentifier_ != buffer_.bufferIdentifier()) {
47  auto buff = buffer_.buffer();
48  bufferFile_.SetBuffer(buff.first, buff.second, kFALSE);
49  previousBufferIdentifier_ = buffer_.bufferIdentifier();
50  }
51 
52  class_->ReadBuffer(bufferFile_, &value);
53  bufferFile_.Reset();
54  return value;
55  }
long double T
template<typename T, typename READBUFFER>
const ROOTDeserializer& edm::shared_memory::ROOTDeserializer< T, READBUFFER >::operator= ( const ROOTDeserializer< T, READBUFFER > &  )
delete
template<typename T, typename READBUFFER>
const ROOTDeserializer& edm::shared_memory::ROOTDeserializer< T, READBUFFER >::operator= ( ROOTDeserializer< T, READBUFFER > &&  )
delete

Member Data Documentation

template<typename T, typename READBUFFER>
READBUFFER& edm::shared_memory::ROOTDeserializer< T, READBUFFER >::buffer_
private
template<typename T, typename READBUFFER>
TBufferFile edm::shared_memory::ROOTDeserializer< T, READBUFFER >::bufferFile_
private
template<typename T, typename READBUFFER>
TClass* const edm::shared_memory::ROOTDeserializer< T, READBUFFER >::class_
private
template<typename T, typename READBUFFER>
int edm::shared_memory::ROOTDeserializer< T, READBUFFER >::previousBufferIdentifier_ = 0
private