Base.h

Go to the documentation of this file.
00001 
00024 #ifndef         BASE_H_
00025 # define        BASE_H_
00026 
00027 #include <iostream>  // for operator<<
00028 #include <map>       // for STL map class
00029 #include "Symbol.h"
00030 
00032 namespace IRIS {
00033 
00034   using namespace std;
00035 
00038   namespace Fuzzy {
00039 
00041     class Base
00042     {
00043       public :
00044         
00045         typedef map< string , Symbol * > bagOfSymbols;
00046 
00047     //  CONSTRUCTORS  /////////////////////////////////////////////////////
00048 
00050         Base( );
00053         Base( const Base& other );
00054     
00055     //  DESTRUCTORS  //////////////////////////////////////////////////////
00056       
00058         ~Base( );
00059     
00060     //  SET MEMBER FUNCTIONS (MUTATORS)  //////////////////////////////////
00061 
00064         Base& operator=( const Base& other );
00067         void addSymbol( const Symbol& symbol ) ;
00068 
00069     //  GET MEMBER FUNCTIONS (ACCESSORS)  /////////////////////////////////
00070 
00073         Symbol* getSymbol( const string& name );
00075         inline int getSize() const { return _bag.size(); } 
00076 
00077     //  (OTHER) OVERLOADED OPERATORS  /////////////////////////////////////
00078     
00080         friend ostream& operator<<( ostream& outs , const Base& source );
00081     
00082       private :
00083     
00084         bagOfSymbols _bag; // symbols organized in an associative array
00085 
00086     //  UTILITIES  ////////////////////////////////////////////////////////
00087 
00088         void _copy( const Base& other );
00089         void _destroy( );
00090     
00091     }; // end of Base class
00092 
00093   } // end of Fuzzy namespace
00094 
00095 } // end of IRIS namespace
00096     
00097 #endif      /* !BASE_H_ */

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