- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

# Constraint.h

Go to the documentation of this file.

    00001
    00002 /******************************************************************************
    00003  *
    00004  *  file:  Constraint.h
    00005  *
    00006  *  Copyright (c) 2005, Michael E. Smoot
    00007  *  All rights reverved.
    00008  *
    00009  *  See the file COPYING in the top directory of this distribution for
    00010  *  more information.
    00011  *
    00012  *  THE SOFTWARE IS PROVIDED _AS IS_, WITHOUT WARRANTY OF ANY KIND, EXPRESS
    00013  *  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    00014  *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
    00015  *  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    00016  *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    00017  *  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    00018  *  DEALINGS IN THE SOFTWARE.
    00019  *
    00020  *****************************************************************************/
    00021
    00022 #ifndef TCLAP_CONSTRAINT_H
    00023 #define TCLAP_CONSTRAINT_H
    00024
    00025 #include <string>
    00026 #include <vector>
    00027 #include <list>
    00028 #include <iostream>
    00029 #include <iomanip>
    00030 #include <algorithm>
    00031
    00032 namespace TCLAP {
    00033
    00037 template<class T>
    00038 class Constraint
    00039 {
    00040
    00041     public:
    00045         virtual std::string description() const =0;
    00046
    00050         virtual std::string shortID() const =0;
    00051
    00057         virtual bool check(const T& value) const =0;
    00058
    00064         virtual ~Constraint() { ; }
    00065 };
    00066
    00067 } //namespace TCLAP
    00068 #endif