File indexing completed on 2024-04-06 12:11:31
0001 #ifndef Fireworks_Core_FWGenericParameterWithRange_h
0002 #define Fireworks_Core_FWGenericParameterWithRange_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022 #include "Fireworks/Core/interface/FWGenericParameter.h"
0023
0024
0025
0026 template <class T>
0027 class FWGenericParameterWithRange : public FWGenericParameter<T> {
0028 public:
0029 FWGenericParameterWithRange(void) : FWGenericParameter<T>(), m_min(-1), m_max(-1) {}
0030
0031 FWGenericParameterWithRange(
0032 FWParameterizable* iParent, const std::string& iName, const T& iDefault = T(), T iMin = -1, T iMax = -1)
0033 : FWGenericParameter<T>(iParent, iName, iDefault), m_min(iMin), m_max(iMax) {}
0034
0035 template <class K>
0036 FWGenericParameterWithRange(FWParameterizable* iParent,
0037 const std::string& iName,
0038 K iCallback,
0039 const T& iDefault = T(),
0040 T iMin = -1,
0041 T iMax = -1)
0042 : FWGenericParameter<T>(iParent, iName, iCallback, iDefault), m_min(iMin), m_max(iMax) {}
0043
0044
0045
0046 T min() const { return m_min; }
0047 T max() const { return m_max; }
0048
0049 private:
0050 T m_min;
0051 T m_max;
0052 };
0053
0054 #endif