00001
00002
00003 #ifndef _OPTIMUS_H
00004 #define _OPTIMUS_H
00005
00006 #include "optelem.h"
00007 #include <stdio.h>
00008 #include <map>
00009 #include <vector>
00010 #include <string>
00011
00016 class Optimus{
00017 std::map<std::string, Optelem > optelemMap;
00018 std::map<std::string, std::vector <std::string> > fsIdMap;
00019
00020 public:
00021
00023 Optimus();
00024
00028 Optimus(const Optimus & opt );
00029
00033 Optimus operator =( const Optimus & opt );
00034
00039 bool dago(const std::string & forma ) const;
00040
00045 void sartuTokena(const std::string & forma , const std::string & wid);
00046
00051 void sortuLinkak(const std::string & forma, const std::string & fsId);
00052
00057 Optelem emanTokena(const std::string & forma) const;
00058
00062 std::vector <Optelem> getTokenak() const;
00063
00067 std::vector <std::pair <std::string, std::string> > getLinkak() const;
00068
00072 void irakurriFitxategia(const char* fitxize ) throw (char*);
00073
00076 void inprimatuFitxategia() const;
00077
00081 void inprimatuFitxategia(const char* fitxize ) const throw (char*);
00082
00083 };
00084
00085 #endif // _OPTIMUS_H