00001 // -*- C++ -*- 00002 // 00003 // Copyright (c) 2006 by Rafael Ostertag 00004 // 00005 // This program is free software; you can redistribute it and/or modify 00006 // it under the terms of the GNU General Public License as published by 00007 // the Free Software Foundation; either version 2 of the License, or 00008 // (at your option) any later version. 00009 // 00010 // This program is distributed in the hope that it will be useful, 00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 // GNU General Public License for more details. 00014 // 00015 // You should have received a copy of the GNU General Public License 00016 // along with this program; if not, write to the Free Software 00017 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00018 // 00019 // 00020 // $Id: casmetainfo.h,v 1.8 2006/12/28 00:31:00 rafi Exp $ 00021 // 00022 00031 #ifndef _CASOBJINFO_H 00032 #define _CASOBJINFO_H 00033 00034 #ifdef HAVE_CONFIG_H 00035 #include "config.h" 00036 #endif 00037 00045 class CASMetaInfo { 00046 private: 00052 bool sorted; 00058 bool evaluated; 00064 bool coefficient; 00074 bool purenumerical; 00082 bool singlevalue; 00083 00084 public: 00088 CASMetaInfo(); 00092 virtual ~CASMetaInfo(); 00096 CASMetaInfo ( const CASMetaInfo &ref ); 00100 void SetAll(); 00104 void UnsetAll(); 00105 00113 inline void SetSorted() { sorted = true; } 00121 inline void UnsetSorted() { sorted = false; } 00130 inline bool IsSorted() const { return sorted; } 00131 00139 inline void SetEvaluated() { evaluated = true; } 00147 inline void UnsetEvaluated() { evaluated = false; } 00157 inline bool IsEvaluated() const { return evaluated; } 00158 00166 inline void SetCoefficient() { coefficient = true; } 00174 inline void UnsetCoefficient() { coefficient = false; } 00184 inline bool IsCoefficient() const { return coefficient; } 00185 00193 inline void SetPureNumerical() { purenumerical = true; } 00201 inline void UnsetPureNumerical() { purenumerical = false; } 00212 inline bool IsPureNumerical() const { return purenumerical; } 00213 00221 inline void SetSingleValue() { singlevalue = true; } 00229 inline void UnsetSingleValue() { singlevalue = false; } 00240 inline bool IsSingleValue() const { return singlevalue; } 00241 00245 CASMetaInfo& operator= ( const CASMetaInfo &ref ); 00246 }; 00247 00248 00249 #endif /* _CASSTATE_H */
1.4.7