00001 00002 // 00003 // This file is part of the MADELINE 2 program 00004 // written by Edward H. Trager,Ritu Khanna and Adrian Marrs 00005 // Copyright (c) 2005 by the 00006 // Regents of the University of Michigan. 00007 // All Rights Reserved. 00008 // 00009 // The latest version of this program is available from: 00010 // 00011 // http://eyegene.ophthy.med.umich.edu/madeline/ 00012 // 00013 // Released under the GNU General Public License. 00014 // A copy of the GPL is included in the distribution 00015 // package of this software, or see: 00016 // 00017 // http://www.gnu.org/copyleft/ 00018 // 00019 // ... for licensing details. 00020 // 00022 // 00023 // 2005.07.17.RK.ET 00024 // 00025 #ifndef VARIABLE_INCLUDED 00026 #define VARIABLE_INCLUDED 00027 00028 #include <iostream> 00029 00030 #include "Data.h" 00031 #include "Date.h" 00032 #include "Genotype.h" 00033 #include "Number.h" 00034 #include "String.h" 00035 #include "Boolean.h" 00036 #include "Warning.h" 00038 00040 class Variable{ 00041 00042 protected: 00043 std::string _name; 00044 short _valueType; 00046 public: 00047 // 00048 // Constructors/Destructors: 00049 // 00050 Variable(const std::string & name) : _name(name),_valueType(ANY) { } 00051 Variable(const std::string & name,const short valueType) : _name(name),_valueType(valueType) { } 00052 virtual ~Variable() { } 00053 00054 const std::string getName() const { return _name; } 00055 // Get a display (string) version of the Variable: 00056 virtual const std::string get( void ) const=0; 00057 virtual const std::string getValueType() const=0; 00058 virtual const std::string getVariableType() const=0; 00059 00060 }; 00061 00062 #endif