ValidatorRange.h

Go to the documentation of this file.
00001 #ifndef __VALIDATORRANGE_H__
00002 #define __VALIDATORRANGE_H__
00003 
00004 /*
00005 
00006 $Header$
00007 
00008 */
00009 
00010 #include "Validator.h"
00011 
00012 // Declaration.
00013 
00014 template<class T>
00015 class ValidatorRange : public Validator<T>
00016 {
00017 public:
00018 
00019   ValidatorRange() : _minSet(false), _maxSet(false) {}
00020   ValidatorRange(const T &min, const T &max) { setMin(min); setMax(max); }
00021   virtual ~ValidatorRange() {}
00022 
00023   void         setMin(const T &value) { _min = value; _minSet = true; }
00024   void         setMax(const T &value) { _max = value; _maxSet = true; }
00025   T            min() const            { return _min; }
00026   T            max() const            { return _max; }
00027   bool         isMinSet() const       { return _minSet; }
00028   bool         isMaxSet() const       { return _maxSet; }
00029   virtual bool valid(const T &value) const;
00030 
00031 protected:
00032   bool _minSet;
00033   T    _min;
00034   bool _maxSet;
00035   T    _max;
00036 };
00037 
00038 // Implementation.
00039 
00040 template<class T>
00041 bool ValidatorRange<T>::valid(const T &value) const
00042 {
00043   if (_minSet && value < _min)
00044     return false;
00045   if (_maxSet && value > _max)
00046     return false;
00047   return true;
00048 };
00049 
00050 #endif

Generated on Thu Sep 6 20:11:25 2007 for Pylon Application Platform by  doxygen 1.5.1