Symbol.h

Go to the documentation of this file.
00001 
00027 #ifndef         SYMBOL_H_
00028 # define        SYMBOL_H_
00029 
00030 #include <iostream>
00031 #include <string>
00032 
00034 namespace IRIS {
00035 
00036   using namespace std;
00037 
00040   namespace Fuzzy {
00041 
00043     class Symbol 
00044     {
00045       
00046       public :
00047     
00048     //  CONSTRUCTORS  /////////////////////////////////////////////////////
00049  
00052         Symbol( const string& name = "?" );
00055         Symbol( const Symbol& other ); 
00056 
00057     //  DESTRUCTORS  //////////////////////////////////////////////////////
00058 
00059         virtual ~Symbol(void) ;
00060     
00061     //  SET MEMBER FUNCTIONS (MUTATORS)  //////////////////////////////////
00062 
00065         void setName( const string& name ); 
00067         Symbol& operator=( const Symbol& other );
00068 
00069     //  GET MEMBER FUNCTIONS (ACCESSORS)  /////////////////////////////////
00070 
00072         string getName() const ;
00073         //        /// returns a copy/clone of this object
00074         //        virtual Symbol* clone() = 0;
00075         // two possible functions to call a private member
00076         // function
00080 //        virtual double operator()( double a , double b ) = 0;
00084 //        virtual double eval( double a , double b ) = 0;
00085 
00086     //  (OTHER) OVERLOADED OPERATORS  /////////////////////////////////////
00087 
00089         friend bool operator==( const Symbol& a , const Symbol& b );
00091         friend ostream& operator<<( ostream& outs , const Symbol& src );
00092     
00093       protected :
00094     
00095         string name ;     // name of the symbol
00096 
00097     //  UTILITIES  ////////////////////////////////////////////////////////
00098 
00099         void _copy( const Symbol& other );
00100         void _destroy( );
00101     
00102     }; // end of Symbol class
00103 
00104   } // end of Fuzzy namespace
00105 
00106 } // end of IRIS namespace
00107     
00108 #endif      /* !SYMBOL_H_ */

Generated on Tue Dec 12 13:41:39 2006 for IRIS Intelligent Systems Tools by  doxygen 1.4.6