CMS 3D CMS Logo

FWItemTVirtualCollectionProxyAccessor.h
Go to the documentation of this file.
1 #ifndef Fireworks_Core_FWItemTVirtualCollectionProxyAccessor_h
2 #define Fireworks_Core_FWItemTVirtualCollectionProxyAccessor_h
3 // -*- C++ -*-
4 //
5 // Package: Core
6 // Class : FWItemTVirtualCollectionProxyAccessor
7 //
16 //
17 // Original Author: Chris Jones
18 // Created: Sat Oct 18 08:43:45 EDT 2008
19 //
20 
21 // system include files
22 #include <memory>
23 
24 // user include files
26 
27 // forward declarations
28 class TVirtualCollectionProxy;
29 
31 public:
32  FWItemTVirtualCollectionProxyAccessor(const TClass* iType,
33  std::shared_ptr<TVirtualCollectionProxy> iProxy,
34  size_t iOffset = 0);
36 
37  // ---------- const member functions ---------------------
38  const void* modelData(int iIndex) const override;
39  const void* data() const override;
40  unsigned int size() const override;
41  const TClass* modelType() const override;
42  const TClass* type() const override;
43 
44  bool isCollection() const override;
45 
46  // ---------- static member functions --------------------
47 
48  // ---------- member functions ---------------------------
49  void setData(const edm::ObjectWithDict&) override;
50  void reset() override;
51 
52 private:
54 
56  delete; // stop default
57 
58  // ---------- member data --------------------------------
59  const TClass* m_type;
60  std::shared_ptr<TVirtualCollectionProxy> m_colProxy; //should be something other than shared_ptr
61  mutable const void* m_data;
62  size_t m_offset;
63 };
64 
65 #endif
FWItemTVirtualCollectionProxyAccessor::type
const TClass * type() const override
Definition: FWItemTVirtualCollectionProxyAccessor.cc:98
FWItemTVirtualCollectionProxyAccessor::size
unsigned int size() const override
Definition: FWItemTVirtualCollectionProxyAccessor.cc:89
edm::ObjectWithDict
Definition: ObjectWithDict.h:17
FWItemTVirtualCollectionProxyAccessor::m_offset
size_t m_offset
Definition: FWItemTVirtualCollectionProxyAccessor.h:62
FWItemTVirtualCollectionProxyAccessor::m_type
const TClass * m_type
Definition: FWItemTVirtualCollectionProxyAccessor.h:59
FWItemTVirtualCollectionProxyAccessor::isCollection
bool isCollection() const override
Definition: FWItemTVirtualCollectionProxyAccessor.cc:100
FWItemTVirtualCollectionProxyAccessor::operator=
const FWItemTVirtualCollectionProxyAccessor & operator=(const FWItemTVirtualCollectionProxyAccessor &)=delete
FWItemTVirtualCollectionProxyAccessor::m_colProxy
std::shared_ptr< TVirtualCollectionProxy > m_colProxy
Definition: FWItemTVirtualCollectionProxyAccessor.h:60
FWItemTVirtualCollectionProxyAccessor::setData
void setData(const edm::ObjectWithDict &) override
override if id of an object should be different than the index
Definition: FWItemTVirtualCollectionProxyAccessor.cc:59
FWItemTVirtualCollectionProxyAccessor::data
const void * data() const override
Definition: FWItemTVirtualCollectionProxyAccessor.cc:87
FWItemTVirtualCollectionProxyAccessor::~FWItemTVirtualCollectionProxyAccessor
~FWItemTVirtualCollectionProxyAccessor() override
Definition: FWItemTVirtualCollectionProxyAccessor.cc:42
FWItemAccessorBase.h
FWItemTVirtualCollectionProxyAccessor::FWItemTVirtualCollectionProxyAccessor
FWItemTVirtualCollectionProxyAccessor(const TClass *iType, std::shared_ptr< TVirtualCollectionProxy > iProxy, size_t iOffset=0)
Definition: FWItemTVirtualCollectionProxyAccessor.cc:33
FWItemTVirtualCollectionProxyAccessor
Definition: FWItemTVirtualCollectionProxyAccessor.h:30
FWItemAccessorBase
Definition: FWItemAccessorBase.h:33
FWItemTVirtualCollectionProxyAccessor::reset
void reset() override
Definition: FWItemTVirtualCollectionProxyAccessor.cc:70
FWItemTVirtualCollectionProxyAccessor::modelType
const TClass * modelType() const override
Definition: FWItemTVirtualCollectionProxyAccessor.cc:96
FWItemTVirtualCollectionProxyAccessor::modelData
const void * modelData(int iIndex) const override
Definition: FWItemTVirtualCollectionProxyAccessor.cc:80
FWItemTVirtualCollectionProxyAccessor::m_data
const void * m_data
Definition: FWItemTVirtualCollectionProxyAccessor.h:61