Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef Fireworks_Core_FWExpressionValidator_h
0002 #define Fireworks_Core_FWExpressionValidator_h
0003 // -*- C++ -*-
0004 //
0005 // Package:     Core
0006 // Class  :     FWExpressionValidator
0007 //
0008 /**\class FWExpressionValidator FWExpressionValidator.h Fireworks/Core/interface/FWExpressionValidator.h
0009 
0010    Description: <one line class summary>
0011 
0012    Usage:
0013     <usage>
0014 
0015  */
0016 //
0017 // Original Author:  Chris Jones
0018 //         Created:  Fri Aug 22 20:42:49 EDT 2008
0019 //
0020 
0021 // system include files
0022 #include <vector>
0023 #include <memory>
0024 #include "FWCore/Reflection/interface/TypeWithDict.h"
0025 
0026 // user include files
0027 #include "Fireworks/Core/interface/FWValidatorBase.h"
0028 
0029 // forward declarations
0030 namespace fireworks {
0031   class OptionNode;
0032 }
0033 
0034 class FWExpressionValidator : public FWValidatorBase {
0035 public:
0036   FWExpressionValidator();
0037   ~FWExpressionValidator() override;
0038 
0039   // ---------- const member functions ---------------------
0040   void fillOptions(const char* iBegin,
0041                    const char* iEnd,
0042                    std::vector<std::pair<std::shared_ptr<std::string>, std::string> >& oOptions) const override;
0043 
0044   // ---------- static member functions --------------------
0045 
0046   // ---------- member functions ---------------------------
0047   void setType(const edm::TypeWithDict&);
0048 
0049   FWExpressionValidator(const FWExpressionValidator&) = delete;  // stop default
0050 
0051   const FWExpressionValidator& operator=(const FWExpressionValidator&) = delete;  // stop default
0052 
0053 private:
0054   // ---------- member data --------------------------------
0055   edm::TypeWithDict m_type;
0056   std::vector<std::shared_ptr<fireworks::OptionNode> > m_options;
0057   std::vector<std::shared_ptr<fireworks::OptionNode> > m_builtins;
0058 };
0059 
0060 #endif