CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
FWItemAccessorBase.h
Go to the documentation of this file.
1 #ifndef Fireworks_Core_FWItemAccessorBase_h
2 #define Fireworks_Core_FWItemAccessorBase_h
3 // -*- C++ -*-
4 //
5 // Package: Core
6 // Class : FWItemAccessorBase
7 //
16 //
17 // Original Author: Chris Jones
18 // Created: Sat Oct 18 08:14:21 EDT 2008
19 // $Id: FWItemAccessorBase.h,v 1.6 2012/08/03 18:20:27 wmtan Exp $
20 //
21 
22 // system include files
23 #include <typeinfo>
24 
25 // user include files
26 
27 // forward declarations
28 class TClass;
29 namespace edm {
30  class EDProduct;
31  class ObjectWithDict;
32 }
33 
35 
36 public:
38  virtual ~FWItemAccessorBase();
39 
40  // ---------- const member functions ---------------------
41  virtual const void* modelData(int iIndex) const = 0;
42  virtual const void* data() const = 0;
43  virtual unsigned int size() const = 0;
44  virtual const TClass* modelType() const = 0;
45  virtual const TClass* type() const = 0;
46 
47  virtual bool isCollection() const = 0;
48 
50  //virtual std::string idForIndex(int iIndex) const;
51  // ---------- member functions ---------------------------
52  virtual void setData(const edm::ObjectWithDict& )=0;
53  virtual void reset() = 0;
54 
55 private:
56  //FWItemAccessorBase(const FWItemAccessorBase&); // stop default
57 
58  //const FWItemAccessorBase& operator=(const FWItemAccessorBase&); // stop default
59 
60  // ---------- member data --------------------------------
61 
62 };
63 
64 
65 #endif
virtual const TClass * modelType() const =0
virtual const void * data() const =0
virtual void setData(const edm::ObjectWithDict &)=0
override if id of an object should be different than the index
virtual const void * modelData(int iIndex) const =0
virtual bool isCollection() const =0
virtual const TClass * type() const =0
virtual void reset()=0
virtual unsigned int size() const =0