CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
FWItemSingleAccessor.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: Core
4 // Class : FWItemSingleAccessor
5 //
6 // Implementation:
7 // <Notes on implementation>
8 //
9 // Original Author: Chris Jones
10 // Created: Sat Oct 18 11:36:44 EDT 2008
11 // $Id: FWItemSingleAccessor.cc,v 1.8 2013/02/10 22:12:04 wmtan Exp $
12 //
13 
14 // system include files
15 #include <assert.h>
18 
19 // user include files
21 
22 
23 //
24 // constants, enums and typedefs
25 //
26 
27 //
28 // static data member definitions
29 //
30 
31 //
32 // constructors and destructor
33 //
35  m_type(iClass), m_data(0)
36 {
37 }
38 
39 // FWItemSingleAccessor::FWItemSingleAccessor(const FWItemSingleAccessor& rhs)
40 // {
41 // // do actual copying here;
42 // }
43 
45 {
46 }
47 
48 //
49 // assignment operators
50 //
51 // const FWItemSingleAccessor& FWItemSingleAccessor::operator=(const FWItemSingleAccessor& rhs)
52 // {
53 // //An exception safe implementation is
54 // FWItemSingleAccessor temp(rhs);
55 // swap(rhs);
56 //
57 // return *this;
58 // }
59 
60 //
61 // member functions
62 //
63 void
65 {
66  if (product.address() == 0)
67  {
68  reset();
69  return;
70  }
71 
72  m_data = product.address();
73  assert(0!=m_data);
74 }
75 
76 void
78 {
79  m_data = 0;
80 }
81 
82 //
83 // const member functions
84 //
85 const void*
87 {
88  if(0==iIndex) {
89  return m_data;
90  }
91  return 0;
92 }
93 
94 const void*
96 {
97  return m_data;
98 }
99 
100 unsigned int
102 {
103  return 0 == m_data ? 0 : 1;
104 }
105 
106 const TClass*
108 {
109  return m_type;
110 }
111 
112 const TClass*
114 {
115  return m_type;
116 }
117 
118 bool
120 {
121  return false;
122 }
123 
124 //
125 // static member functions
126 //
void * address() const
const void * data() const
FWItemSingleAccessor(const TClass *)
unsigned int size() const
const TClass * type() const
void setData(const edm::ObjectWithDict &)
override if id of an object should be different than the index
const void * modelData(int iIndex) const
const TClass * modelType() const