Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
// -*- C++ -*-
//
// Package:     Core
// Class  :     FWItemSingleAccessor
//
// Implementation:
//     <Notes on implementation>
//
// Original Author:  Chris Jones
//         Created:  Sat Oct 18 11:36:44 EDT 2008
//

// system include files
#include <cassert>
#include "FWCore/Reflection/interface/ObjectWithDict.h"
#include "FWCore/Reflection/interface/TypeWithDict.h"

// user include files
#include "Fireworks/Core/interface/FWItemSingleAccessor.h"

//
// constants, enums and typedefs
//

//
// static data member definitions
//

//
// constructors and destructor
//
FWItemSingleAccessor::FWItemSingleAccessor(const TClass* iClass) : m_type(iClass), m_data(nullptr) {}

// FWItemSingleAccessor::FWItemSingleAccessor(const FWItemSingleAccessor& rhs)
// {
//    // do actual copying here;
// }

FWItemSingleAccessor::~FWItemSingleAccessor() {}

//
// assignment operators
//
// const FWItemSingleAccessor& FWItemSingleAccessor::operator=(const FWItemSingleAccessor& rhs)
// {
//   //An exception safe implementation is
//   FWItemSingleAccessor temp(rhs);
//   swap(rhs);
//
//   return *this;
// }

//
// member functions
//
void FWItemSingleAccessor::setData(const edm::ObjectWithDict& product) {
  if (product.address() == nullptr) {
    reset();
    return;
  }

  m_data = product.address();
  assert(nullptr != m_data);
}

void FWItemSingleAccessor::reset() { m_data = nullptr; }

//
// const member functions
//
const void* FWItemSingleAccessor::modelData(int iIndex) const {
  if (0 == iIndex) {
    return m_data;
  }
  return nullptr;
}

const void* FWItemSingleAccessor::data() const { return m_data; }

unsigned int FWItemSingleAccessor::size() const { return nullptr == m_data ? 0 : 1; }

const TClass* FWItemSingleAccessor::modelType() const { return m_type; }

const TClass* FWItemSingleAccessor::type() const { return m_type; }

bool FWItemSingleAccessor::isCollection() const { return false; }

//
// static member functions
//