Main Page | Class Hierarchy | Class List | File List | Class Members

linkgrp.h

00001 /* libIXAml - IXA Taldea */
00002 
00003 #ifndef _LINKGRP_H
00004 #define _LINKGRP_H
00005 
00006 #include "link.h"
00007 #include "lnkgrptype.h"
00008 #include "xmlsimplestruct.h"
00009 #include <vector>
00010 
00013 class LinkGrp{
00014   LnkGrpType lnkGrpT;  // Link multzoaren mota
00015   std::vector <Link> lg;    // Link lista duen bektorea
00016   unsigned ind;        // Hasierakoa() zein posizio erakutsi 
00017   
00018   void printErrorea (char*, XMLSimpleNode*) const;
00019  public:
00020 
00022   LinkGrp();
00023   
00027   LinkGrp(const LnkGrpType & type);
00028 
00032   LinkGrp(const  LinkGrp & lnkGrp);
00033 
00038   LinkGrp& operator =(const LinkGrp & lnkGrp);
00039 
00044   bool operator == (const LinkGrp & lnkGrp) const;
00045 
00050   bool operator <  (const LinkGrp & lnkGrp) const;
00051   
00056   bool operator <= (const LinkGrp & lnkGrp) const;
00057 
00062   bool operator >  (const LinkGrp & lnkGrp) const;
00063 
00068   bool operator >= (const LinkGrp & lnkGrp) const;
00069 
00073   void putType(const LnkGrpType & lnkGrpT);
00074 
00078   LnkGrpType getType() const;
00079 
00081   void begin();
00082 
00085   void next();
00086   
00090   Link current() const;
00091 
00095   bool ready() const;
00096 
00100   unsigned size() const;
00101 
00106   bool contains(const LinkId & id) const;
00107   
00112   Link get(const unsigned pos) const;
00113 
00118   Link get(const LinkId & id) const;
00119 
00123   void add(const  Link & link);
00124 
00128   void remove(const Link & link);
00129 
00134   std::vector<Link> find (const Id & id) const;
00135   
00141   std::vector<Link> find (const int ind, const Id & id) const;
00142 
00149   std::vector<Id> find (const int ind1, const Id & id,const int ind2) const;
00150 
00155   XMLSimpleNode* toXML(XMLSimpleStruct* xmlstruct) const;           // LinkG -> LT_NSL <LINKGRP> ... </LINKGRP>
00156 
00160   void init(XMLSimpleNode* lnkgrpItem) throw (char*);   // LT_NSL <LINKGRP> ... </BODY> -> LinkG
00161                                         // char* salbuespena altxa dezake itemen informazio
00162                                         // falta edo erreferentzi erroreak badaude
00163 };
00164 #endif // _LINKG_H

Generated on Tue Sep 11 12:07:43 2007 for libIXAml by doxygen 1.3.5