CMS 3D CMS Logo

Functions

/data/refman/pasoursint/CMSSW_6_1_1/src/Fireworks/Core/src/FWSimpleRepresentationChecker.cc File Reference

#include <iostream>
#include "TClass.h"
#include "FWCore/Utilities/interface/BaseWithDict.h"
#include "Fireworks/Core/interface/FWSimpleRepresentationChecker.h"
#include "Fireworks/Core/interface/FWRepresentationInfo.h"
#include "Fireworks/Core/interface/FWItemAccessorFactory.h"
#include "Fireworks/Core/interface/FWItemAccessorBase.h"

Go to the source code of this file.

Functions

static bool inheritsFrom (const edm::TypeWithDict &iChild, const std::string &iParentTypeName, unsigned int &distance)

Function Documentation

static bool inheritsFrom ( const edm::TypeWithDict iChild,
const std::string &  iParentTypeName,
unsigned int &  distance 
) [static]

Definition at line 75 of file FWSimpleRepresentationChecker.cc.

References edm::TypeBases::size(), and edm::TypeWithDict::typeInfo().

Referenced by FWSimpleRepresentationChecker::infoFor().

                                                 {
   if(iChild.typeInfo().name() == iParentTypeName) {
      return true;
   }
   edm::TypeBases bases(iChild);
   if(bases.size() == 0) {
      return false;
   }
   ++distance;
   for(auto const& base : bases) {
      if(inheritsFrom(edm::BaseWithDict(base).toType(),iParentTypeName,distance)) {
         return true;
      }
   }
   --distance;
   return false;
}