#include <Fireworks/Core/interface/FWItemTVirtualCollectionProxyAccessor.h>
Public Member Functions | |
virtual const void * | data () const |
FWItemTVirtualCollectionProxyAccessor (const TClass *iType, boost::shared_ptr< TVirtualCollectionProxy > iProxy, size_t iOffset=0) | |
bool | isCollection () const |
virtual const void * | modelData (int iIndex) const |
const TClass * | modelType () const |
void | reset () |
void | setData (const ROOT::Reflex::Object &) |
virtual unsigned int | size () const |
const TClass * | type () const |
virtual | ~FWItemTVirtualCollectionProxyAccessor () |
Private Member Functions | |
FWItemTVirtualCollectionProxyAccessor (const FWItemTVirtualCollectionProxyAccessor &) | |
const FWItemTVirtualCollectionProxyAccessor & | operator= (const FWItemTVirtualCollectionProxyAccessor &) |
Private Attributes | |
boost::shared_ptr < TVirtualCollectionProxy > | m_colProxy |
const void * | m_data |
size_t | m_offset |
const TClass * | m_type |
Description: <one line="" class="" summary>="">
Usage: <usage>
Definition at line 31 of file FWItemTVirtualCollectionProxyAccessor.h.
FWItemTVirtualCollectionProxyAccessor::FWItemTVirtualCollectionProxyAccessor | ( | const TClass * | iType, |
boost::shared_ptr< TVirtualCollectionProxy > | iProxy, | ||
size_t | iOffset = 0 |
||
) |
Definition at line 33 of file FWItemTVirtualCollectionProxyAccessor.cc.
: m_type(iType), m_colProxy(iProxy), m_data(0), m_offset(iOffset) { }
FWItemTVirtualCollectionProxyAccessor::~FWItemTVirtualCollectionProxyAccessor | ( | ) | [virtual] |
Definition at line 49 of file FWItemTVirtualCollectionProxyAccessor.cc.
{ }
FWItemTVirtualCollectionProxyAccessor::FWItemTVirtualCollectionProxyAccessor | ( | const FWItemTVirtualCollectionProxyAccessor & | ) | [private] |
const void * FWItemTVirtualCollectionProxyAccessor::data | ( | ) | const [virtual] |
Implements FWItemAccessorBase.
Definition at line 108 of file FWItemTVirtualCollectionProxyAccessor.cc.
References m_data.
{ return m_data; }
bool FWItemTVirtualCollectionProxyAccessor::isCollection | ( | ) | const [virtual] |
Implements FWItemAccessorBase.
Definition at line 135 of file FWItemTVirtualCollectionProxyAccessor.cc.
{ return true; }
const void * FWItemTVirtualCollectionProxyAccessor::modelData | ( | int | iIndex | ) | const [virtual] |
Implements FWItemAccessorBase.
Definition at line 101 of file FWItemTVirtualCollectionProxyAccessor.cc.
References m_colProxy, and m_data.
{ if ( 0 == m_data) { return m_data; } return m_colProxy->At(iIndex); }
const TClass * FWItemTVirtualCollectionProxyAccessor::modelType | ( | ) | const [virtual] |
Implements FWItemAccessorBase.
Definition at line 123 of file FWItemTVirtualCollectionProxyAccessor.cc.
References m_colProxy.
{ return m_colProxy->GetValueClass(); }
const FWItemTVirtualCollectionProxyAccessor& FWItemTVirtualCollectionProxyAccessor::operator= | ( | const FWItemTVirtualCollectionProxyAccessor & | ) | [private] |
void FWItemTVirtualCollectionProxyAccessor::reset | ( | void | ) | [virtual] |
Implements FWItemAccessorBase.
Definition at line 88 of file FWItemTVirtualCollectionProxyAccessor.cc.
References m_colProxy, and m_data.
Referenced by setData().
{ if (0 != m_data) { m_data=0; m_colProxy->PopProxy(); } }
void FWItemTVirtualCollectionProxyAccessor::setData | ( | const ROOT::Reflex::Object & | product | ) |
Definition at line 69 of file FWItemTVirtualCollectionProxyAccessor.cc.
References m_colProxy, m_data, m_offset, and reset().
{ if (product.Address() == 0) { reset(); return; } using ROOT::Reflex::Object; if(product.TypeOf().IsTypedef()) m_data = Object(product.TypeOf().ToType(),product.Address()).Address(); else m_data = product.Address(); assert(0!=m_data); m_colProxy->PushProxy(static_cast<char*>(const_cast<void*>(m_data))+m_offset); }
unsigned int FWItemTVirtualCollectionProxyAccessor::size | ( | void | ) | const [virtual] |
Implements FWItemAccessorBase.
Definition at line 114 of file FWItemTVirtualCollectionProxyAccessor.cc.
References m_colProxy, and m_data.
{ if(m_data==0) { return 0; } return m_colProxy->Size(); }
const TClass * FWItemTVirtualCollectionProxyAccessor::type | ( | ) | const [virtual] |
Implements FWItemAccessorBase.
Definition at line 129 of file FWItemTVirtualCollectionProxyAccessor.cc.
References m_type.
{ return m_type; }
boost::shared_ptr<TVirtualCollectionProxy> FWItemTVirtualCollectionProxyAccessor::m_colProxy [private] |
Definition at line 61 of file FWItemTVirtualCollectionProxyAccessor.h.
Referenced by modelData(), modelType(), reset(), setData(), and size().
const void* FWItemTVirtualCollectionProxyAccessor::m_data [mutable, private] |
Definition at line 62 of file FWItemTVirtualCollectionProxyAccessor.h.
Referenced by data(), modelData(), reset(), setData(), and size().
size_t FWItemTVirtualCollectionProxyAccessor::m_offset [private] |
Definition at line 63 of file FWItemTVirtualCollectionProxyAccessor.h.
Referenced by setData().
const TClass* FWItemTVirtualCollectionProxyAccessor::m_type [private] |
Definition at line 60 of file FWItemTVirtualCollectionProxyAccessor.h.
Referenced by type().