/* * RangeValidator.hpp * * Created on: Apr 13, 2012 * Author: ankele */ #ifndef RANGEVALIDATOR_HPP_ #define RANGEVALIDATOR_HPP_ // include config.h #ifdef HAVE_CONFIG_H #include #endif #include "Validator.hpp" #include "CodePatterns/Range.hpp" #include "Parameters/ParameterExceptions.hpp" /** A validator with an interval of valid values. * */ template class RangeValidator : public Validator { public: RangeValidator(const range &_ValidRange) : ValidRange(_ValidRange) {}; RangeValidator(const T&min, const T&max) : ValidRange(min,max) {}; virtual ~RangeValidator() {}; bool isValid(const T & _value) const; Validator* clone() const; // comparator bool operator==(const Validator &_instance) const; // getter/setter for valid ranges void setValidRange(const range &_range) throw(ParameterValueException); const range & getValidRange() const { return ValidRange; }; private: //!> valid range of values range ValidRange; }; #include "RangeValidator_impl.hpp" #endif /* RANGEVALIDATOR_HPP_ */