Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:11:32

0001 #ifndef Fireworks_Core_FWTypeToRepresentations_h
0002 #define Fireworks_Core_FWTypeToRepresentations_h
0003 // -*- C++ -*-
0004 //
0005 // Package:     Core
0006 // Class  :     FWTypeToRepresentations
0007 //
0008 /**\class FWTypeToRepresentations FWTypeToRepresentations.h Fireworks/Core/interface/FWTypeToRepresentations.h
0009 
0010    Description: For a given C++ type, gives back a list of what 'Representations' are available
0011 
0012    Usage:
0013     <usage>
0014 
0015  */
0016 //
0017 // Original Author:  Chris Jones
0018 //         Created:  Tue Nov 11 11:25:04 EST 2008
0019 //
0020 
0021 // system include files
0022 #include <string>
0023 #include <vector>
0024 #include <map>
0025 #include <memory>
0026 
0027 // user include files
0028 #include "Fireworks/Core/interface/FWRepresentationInfo.h"
0029 
0030 // forward declarations
0031 class FWRepresentationCheckerBase;
0032 
0033 class FWTypeToRepresentations {
0034 public:
0035   FWTypeToRepresentations();
0036   virtual ~FWTypeToRepresentations();
0037 
0038   // ---------- const member functions ---------------------
0039   const std::vector<FWRepresentationInfo>& representationsForType(const std::string& iTypeName) const;
0040 
0041   // ---------- static member functions --------------------
0042 
0043   // ---------- member functions ---------------------------
0044   void add(std::shared_ptr<FWRepresentationCheckerBase> iChecker);
0045   void insert(const FWTypeToRepresentations&);
0046 
0047 private:
0048   //FWTypeToRepresentations(const FWTypeToRepresentations&); // stop default
0049 
0050   //const FWTypeToRepresentations& operator=(const FWTypeToRepresentations&); // stop default
0051 
0052   // ---------- member data --------------------------------
0053   mutable std::map<std::string, std::vector<FWRepresentationInfo> > m_typeToReps;
0054   std::vector<std::shared_ptr<FWRepresentationCheckerBase> > m_checkers;
0055 };
0056 
0057 #endif