File indexing completed on 2024-04-06 12:11:38
0001 #ifndef Fireworks_Core_FWExpressionValidator_h
0002 #define Fireworks_Core_FWExpressionValidator_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022 #include <vector>
0023 #include <memory>
0024 #include "FWCore/Reflection/interface/TypeWithDict.h"
0025
0026
0027 #include "Fireworks/Core/interface/FWValidatorBase.h"
0028
0029
0030 namespace fireworks {
0031 class OptionNode;
0032 }
0033
0034 class FWExpressionValidator : public FWValidatorBase {
0035 public:
0036 FWExpressionValidator();
0037 ~FWExpressionValidator() override;
0038
0039
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
0045
0046
0047 void setType(const edm::TypeWithDict&);
0048
0049 FWExpressionValidator(const FWExpressionValidator&) = delete;
0050
0051 const FWExpressionValidator& operator=(const FWExpressionValidator&) = delete;
0052
0053 private:
0054
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