CMS 3D CMS Logo

FWProxyBuilderTemplate.h
Go to the documentation of this file.
1 #ifndef Fireworks_Core_FWProxyBuilderTemplate_h
2 #define Fireworks_Core_FWProxyBuilderTemplate_h
3 // -*- C++ -*-
4 //
5 // Package: Core
6 // Class : FWProxyBuilderTemplate
7 //
16 //
17 // Original Author: Matevz Tadel
18 // Created: April 23 2010
19 //
20 
21 // system include files
22 #include <typeinfo>
23 
24 // user include files
28 
29 template <typename T>
31 {
32 public:
35 
36  // ---------- const member functions ---------------------
37 
38  // ---------- static member functions --------------------
39 
40  // ---------- member functions ---------------------------
41 
42 protected:
43  const T& modelData(int index) { return *reinterpret_cast<const T*>(m_helper.offsetObject(item()->modelData(index))); }
44 
45 private:
46  FWProxyBuilderTemplate(const FWProxyBuilderTemplate&) = delete; // stop default
47 
48  const FWProxyBuilderTemplate& operator=(const FWProxyBuilderTemplate&) = delete; // stop default
49 
50  virtual void itemChangedImp(const FWEventItem* iItem) { if (iItem) m_helper.itemChanged(iItem); }
51 
52  // ---------- member data --------------------------------
54 };
55 
56 #endif
const void * offsetObject(const void *iObj) const
FWSimpleProxyHelper m_helper
const FWEventItem * item() const
const T & modelData(int index)
virtual void itemChangedImp(const FWEventItem *iItem)
const FWProxyBuilderTemplate & operator=(const FWProxyBuilderTemplate &)=delete
long double T
void itemChanged(const FWEventItem *)