From 0ea5fc66924303d1bf73ba283a383e2aadee02f2 Mon Sep 17 00:00:00 2001 From: neodarz Date: Sat, 11 Aug 2018 20:21:34 +0200 Subject: Initial commit --- docs/doxygen/nel/agent__object_8h-source.html | 862 ++++++++++++++++++++++++++ 1 file changed, 862 insertions(+) create mode 100644 docs/doxygen/nel/agent__object_8h-source.html (limited to 'docs/doxygen/nel/agent__object_8h-source.html') diff --git a/docs/doxygen/nel/agent__object_8h-source.html b/docs/doxygen/nel/agent__object_8h-source.html new file mode 100644 index 00000000..64e2c044 --- /dev/null +++ b/docs/doxygen/nel/agent__object_8h-source.html @@ -0,0 +1,862 @@ + + + + nevrax.org : docs + + + + + + + + + + + + + + +
# Home   # nevrax.com   
+ + + + +
Nevrax
+ + + + + + + + + + +
+ + +
+ Nevrax.org
+ + + + + + + +
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
+
+ + +
+ + +
+Docs + +
+  + + + + + +
Documentation 
+ +
+Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  
+

agent_object.h

Go to the documentation of this file.
00001 
+00007 /* Copyright, 2000 Nevrax Ltd.
+00008  *
+00009  * This file is part of NEVRAX NEL.
+00010  * NEVRAX NEL is free software; you can redistribute it and/or modify
+00011  * it under the terms of the GNU General Public License as published by
+00012  * the Free Software Foundation; either version 2, or (at your option)
+00013  * any later version.
+00014 
+00015  * NEVRAX NEL is distributed in the hope that it will be useful, but
+00016  * WITHOUT ANY WARRANTY; without even the implied warranty of
+00017  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+00018  * General Public License for more details.
+00019 
+00020  * You should have received a copy of the GNU General Public License
+00021  * along with NEVRAX NEL; see the file COPYING. If not, write to the
+00022  * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+00023  * MA 02111-1307, USA.
+00024  */
+00025 #ifndef NL_AGENT_OBJECT_DEF_H
+00026 #define NL_AGENT_OBJECT_DEF_H
+00027 
+00028 
+00029 #include "nel/ai/agent/agent_string.h"
+00030 #include "nel/ai/agent/agent_operator.h"
+00031 
+00032 
+00033 namespace NLAIAGENT
+00034 {                       
+00035 
+00043         class CStringType: public IObjetOp
+00044         {
+00045         private:                
+00046                 IVarName *_Str;                                 
+00047 
+00048         public:
+00049                 static const NLAIC::CIdentType IdStringType;
+00050         public:
+00051                 CStringType(const std::string &str): _Str(new CStringVarName(str.c_str()))
+00052                 {
+00053                 }
+00054 
+00055                 CStringType(const IVarName &str): _Str((IVarName *)str.clone())
+00056                 {                       
+00057                 }
+00058 
+00059                 CStringType(const CStringType &a): _Str((IVarName *)a._Str->clone())
+00060                 {                       
+00061                 }               
+00062 
+00063                 CStringType(NLMISC::IStream &is)
+00064                 {
+00065                         load(is);
+00066                 }
+00067                 
+00068                 virtual const NLAIC::IBasicType *clone() const
+00069                 {
+00070                         NLAIC::IBasicInterface *m = new CStringType(*this);
+00071                         return m;
+00072                 }               
+00073 
+00074                 virtual const NLAIC::IBasicType *newInstance() const
+00075                 {
+00076                         return clone();
+00077                 }
+00078                 
+00079                 virtual const NLAIC::CIdentType &getType() const;               
+00080 
+00081                 virtual void save(NLMISC::IStream &os)
+00082                 {                       
+00083                         os.serial( (NLAIC::CIdentType &) ( _Str->getType() ) );
+00084                         _Str->save(os);
+00085                 }
+00086 
+00087                 virtual void load(NLMISC::IStream &is)
+00088                 {                       
+00089                         NLAIC::CIdentTypeAlloc id;
+00090                         is.serial( id );
+00091                         _Str->release();
+00092                         _Str = (IVarName *)id.allocClass();                     
+00093                         _Str->load(is);                 
+00094                 }
+00095 
+00096 
+00097                 virtual void getDebugString(std::string &text) const
+00098                 {
+00099                         text += NLAIC::stringGetBuild("%s",_Str->getString());
+00100                 }
+00101 
+00102                 const IVarName & getStr() const
+00103                 {
+00104                         return *_Str;
+00105                 }
+00106 
+00108 
+00109                 virtual IObjetOp &operator += (const IObjetOp &a);              
+00110                 virtual IObjetOp &operator -= (const IObjetOp &a);              
+00111                 virtual IObjetOp *operator < (IObjetOp &a) const;
+00112                 virtual IObjetOp *operator > (IObjetOp &a) const;
+00113                 virtual IObjetOp *operator <= (IObjetOp &a) const;      
+00114                 virtual IObjetOp *operator >= (IObjetOp &a) const;      
+00115                 virtual IObjetOp *operator != (IObjetOp &a) const;
+00116                 virtual IObjetOp *operator == (IObjetOp &a) const;
+00118 
+00119 
+00120                 virtual bool operator < (const CStringType &a) const;
+00121 
+00122 
+00123                 virtual bool isTrue() const
+00124                 {
+00125                         return IObjetOp::isTrue();
+00126                 }
+00127                 
+00128                 virtual ~CStringType()
+00129                 {       
+00130                         _Str->release();
+00131                 }       
+00132                 
+00133                 virtual bool isEqual(const IBasicObjectIA &a) const
+00134                 {
+00135                         const CStringType &t = (const CStringType &)a;
+00136                         return *t._Str == *_Str;
+00137                 }
+00138                         
+00139 
+00140                 virtual const CProcessResult &run();            
+00141         };
+00142 
+00143                 
+00144 
+00151         class CPairType: public IObjetOp
+00152         {
+00153         public:
+00154                 struct CMethodCall
+00155                 {
+00156                         CMethodCall(const char *name, int i): MethodName (name)
+00157                         {                               
+00158                                 Index = i;
+00159                         }
+00160                         CStringVarName MethodName;
+00161                         sint32 Index;
+00162                 };
+00163                 static CMethodCall _Method[];
+00164 
+00165         private:                
+00166                 IObjectIA *_First;
+00167                 IObjectIA *_Second;
+00168 
+00169         public:
+00170                 static const NLAIC::CIdentType IdPaireType;
+00171                 
+00172         public:
+00173                 CPairType(IObjectIA *first,IObjectIA *second): 
+00174                   _First(first),_Second(second)
+00175                 {                       
+00176                 }
+00177 
+00178                 CPairType(const CPairType &a): _First(a._First),_Second(a._Second)
+00179                 {
+00180                         _First->incRef();
+00181                         _Second->incRef();
+00182                 }                               
+00183 
+00184                 virtual const NLAIC::IBasicType *clone() const
+00185                 {
+00186                         NLAIC::IBasicInterface *m = new CPairType(*this);
+00187                         return m;
+00188                 }
+00189 
+00190                 virtual const NLAIC::IBasicType *newInstance() const
+00191                 {
+00192                         return clone();
+00193                 }
+00194                 
+00195                 virtual const NLAIC::CIdentType &getType() const
+00196                 {
+00197                         return IdPaireType;
+00198                 }
+00199                 
+00200 
+00201                 virtual void save(NLMISC::IStream &os)
+00202                 {                                                                                               
+00203                 }
+00204 
+00205                 virtual void load(NLMISC::IStream &is)
+00206                 {                                                                       
+00207                 }
+00208 
+00209                 virtual const CProcessResult &run()
+00210                 {
+00211                         return IObjectIA::ProcessRun;
+00212                 }
+00213 
+00214                 virtual void getDebugString(std::string &text) const
+00215                 {
+00216                         std::string f,s;
+00217 
+00218                         _First->getDebugString(f);
+00219                         _Second->getDebugString(s);
+00220                         text += "First:<";
+00221                         text += f;
+00222                         text += ">";
+00223                         text += "Second:<";
+00224                         text += s;
+00225                         text += ">";
+00226                 }
+00227 
+00228                 virtual bool isTrue() const
+00229                 {
+00230                         return IObjetOp::isTrue();
+00231                 }
+00232                 
+00233                 IObjectIA *first() const
+00234                 {
+00235                         return _First;
+00236                 }
+00237 
+00238                 IObjectIA *second() const
+00239                 {
+00240                         return _Second;
+00241                 }
+00242                 
+00243                 virtual ~CPairType()
+00244                 {                       
+00245                         _First->release();
+00246                         _Second->release();
+00247                 }       
+00248 
+00249                 virtual bool isEqual(const IBasicObjectIA &a) const
+00250                 {
+00251                         const CPairType &t = (const CPairType &)a;
+00252                         if((t._First) == (_First)) return t._Second == _Second;
+00253                         return false;
+00254                 }
+00255 
+00256                 virtual sint32 getMethodIndexSize() const;
+00257                 virtual tQueue isMember(const IVarName *,const IVarName *,const IObjectIA &) const;
+00258                 virtual CProcessResult runMethodeMember(sint32, sint32, IObjectIA *);
+00259                 virtual CProcessResult runMethodeMember(sint32 index,IObjectIA *);
+00260         };      
+00261 
+00272         class IConstBasicIterator
+00273         {
+00274         public:
+00275                 IConstBasicIterator() {}
+00276                 virtual const IObjetOp* operator ++ (int) = 0;
+00277                 virtual const IObjetOp* operator -- (int) = 0;
+00278                 virtual operator const IObjetOp*() const = 0;           
+00279                 virtual bool isInEnd() const = 0;
+00280                 virtual bool isInBegin() const = 0;
+00281                 virtual ~IConstBasicIterator() {}
+00282         };
+00283 
+00284         class IBasicIterator: public IConstBasicIterator
+00285         {
+00286         public:
+00287                 IBasicIterator() {}             
+00288                 virtual void erase() = 0;               
+00289                 virtual ~IBasicIterator() {}
+00290         };
+00291 
+00299         template<class typeClass>
+00300         class CTemplateIterator: public IBasicIterator
+00301         {
+00302         private:
+00303                 typename typeClass::iterator _I;
+00304                 typeClass       &_ListType;
+00305                 
+00306         public:
+00307                 CTemplateIterator(typeClass &l):_I(l.begin()),_ListType(l)
+00308                 {
+00309                 }
+00310                 virtual ~CTemplateIterator()
+00311                 {
+00312                 }
+00313 
+00314                 virtual const IObjetOp* operator ++ (int) 
+00315                 {
+00316                         return (const IObjetOp*)*_I++;
+00317                 }
+00318                 virtual const IObjetOp* operator -- (int)
+00319                 {
+00320                         return (const IObjetOp*)*_I--;
+00321                 }
+00322 
+00323                 virtual operator const IObjetOp *() const
+00324                 {
+00325                         return (const IObjetOp *)*_I;
+00326                 }
+00327                 
+00328                 virtual void erase()
+00329                 {
+00330                         typename typeClass::iterator temp = _I;
+00331                         _I++;
+00332                         _ListType.erase(temp);
+00333                 }
+00334 
+00335                 virtual bool isInEnd() const
+00336                 {                       
+00337                         return _I == _ListType.end();           
+00338                 }
+00339 
+00340                 virtual bool isInBegin() const
+00341                 {
+00342                         return _I == _ListType.begin();
+00343                 }
+00344         };
+00345 
+00346         template<class typeClass>
+00347         class CConstTemplateIterator: public IConstBasicIterator
+00348         {
+00349         private:
+00350                 typename typeClass::const_iterator _I;
+00351                 const typeClass &_ListType;
+00352                 
+00353         public:
+00354                 CConstTemplateIterator(const typeClass &l):_I(l.begin()),_ListType(l)
+00355                 {
+00356                 }
+00357                 virtual ~CConstTemplateIterator()
+00358                 {
+00359                 }
+00360 
+00361                 virtual const IObjetOp* operator ++ (int) 
+00362                 {
+00363                         return (const IObjetOp*)*_I++;
+00364                 }
+00365                 virtual const IObjetOp* operator -- (int)
+00366                 {
+00367                         return (const IObjetOp*)*_I--;
+00368                 }
+00369 
+00370                 virtual operator const IObjetOp *() const
+00371                 {
+00372                         return (const IObjetOp *)*_I;
+00373                 }
+00374                                 
+00375                 virtual bool isInEnd() const
+00376                 {                       
+00377                         return _I == _ListType.end();           
+00378                 }
+00379 
+00380                 virtual bool isInBegin() const
+00381                 {
+00382                         return _I == _ListType.begin();
+00383                 }
+00384         };
+00385 
+00386 
+00395         class CListIterator: public CTemplateIterator<std::list<const IObjectIA *> >
+00396         {
+00397         public:
+00398                 CListIterator(std::list<const IObjectIA *> &l): CTemplateIterator<std::list<const IObjectIA *> >(l)
+00399                   {
+00400                   }
+00401 
+00402                 virtual ~CListIterator()
+00403                 {
+00404                 }
+00405 
+00406         };
+00407 
+00408         class CConstListIterator: public CConstTemplateIterator<std::list<const IObjectIA *> >
+00409         {
+00410         public:
+00411                 CConstListIterator(const std::list<const IObjectIA *> &l): CConstTemplateIterator<std::list<const IObjectIA *> >(l)
+00412                 {
+00413                 }
+00414 
+00415                 virtual ~CConstListIterator()
+00416                 {
+00417                 }
+00418 
+00419         };
+00420         
+00428         class CVectorIterator: public CTemplateIterator<std::vector<const IObjectIA *> >
+00429         {
+00430         public:
+00431                 CVectorIterator(std::vector<const IObjectIA *>&l): CTemplateIterator<std::vector<const IObjectIA *> >(l)
+00432                   {
+00433                   }
+00434 
+00435                 virtual ~CVectorIterator()
+00436                 {
+00437                 }
+00438 
+00439         };
+00440 
+00441         class CConstVectorIterator: public CConstTemplateIterator<std::vector<const IObjectIA *> >
+00442         {
+00443         public:
+00444                 CConstVectorIterator(const std::vector<const IObjectIA *>&l): CConstTemplateIterator<std::vector<const IObjectIA *> >(l)
+00445                 {
+00446                 }
+00447 
+00448                 virtual ~CConstVectorIterator()
+00449                 {
+00450                 }
+00451 
+00452         };
+00453 
+00462         class CConstIteratorContener: public IConstBasicIterator
+00463         {
+00464         protected:
+00465                 IBasicIterator *_I;
+00466         public:
+00467                 CConstIteratorContener(const CConstIteratorContener &i):_I(i._I)
+00468                 {
+00469                 }
+00470 
+00471                 CConstIteratorContener(IBasicIterator *i):_I(i)
+00472                 {
+00473                 }
+00474 
+00475                 virtual ~CConstIteratorContener()
+00476                 {
+00477                         delete _I;
+00478                 }
+00479 
+00480                 virtual const IObjetOp*operator ++ (int) 
+00481                 {
+00482                         const IObjetOp *a = (*_I)++;                    
+00483                         return a;
+00484                 }
+00485                 virtual const IObjetOp*operator -- (int)
+00486                 {
+00487                         const IObjetOp *a = (*_I) --;                   
+00488                         return a;
+00489                 }               
+00490                 virtual operator const IObjetOp*() const
+00491                 {
+00492                         return (const IObjetOp *)*_I;
+00493                 }               
+00494                 
+00495                 virtual bool isInEnd() const 
+00496                 {                       
+00497                         return _I->isInEnd();
+00498                 }
+00499                 virtual bool isInBegin() const
+00500                 {
+00501                         return _I->isInBegin();
+00502                 }
+00503         };
+00504 
+00505         class CIteratorContener: public CConstIteratorContener
+00506         {       
+00507         public:
+00508                 CIteratorContener(const CIteratorContener &i):CConstIteratorContener(i._I)
+00509                 {
+00510                 }
+00511 
+00512                 CIteratorContener(const CConstIteratorContener &i):CConstIteratorContener(i)
+00513                 {
+00514                 }
+00515 
+00516                 CIteratorContener(IBasicIterator *i):CConstIteratorContener(i)
+00517                 {
+00518                 }
+00519 
+00520                 virtual ~CIteratorContener()
+00521                 {               
+00522                 }
+00523 
+00524                 virtual void erase()
+00525                 {
+00526                         _I->erase();
+00527                 }
+00528 
+00529         };
+00530         
+00539         class IBaseGroupType: public IObjetOp
+00540         {
+00541 
+00542         public:
+00543                 struct CMethodCall
+00544                 {
+00545                         CMethodCall(const char *name, int i): MethodName (name)
+00546                         {                               
+00547                                 Index = i;
+00548                         }
+00549                         CStringVarName MethodName;
+00550                         sint32 Index;
+00551                 };
+00552                 static CMethodCall _Method[];   
+00553 
+00554         public:         
+00555 
+00556                 IBaseGroupType(const IBaseGroupType &c):IObjetOp(c){}           
+00557                 IBaseGroupType();
+00558                 virtual ~IBaseGroupType();
+00559                 
+00561 
+00562                 virtual IObjetOp &operator += (IObjetOp *a);
+00563                 virtual IObjetOp &operator -= (IObjetOp *a);
+00564                 virtual IObjetOp &operator += (const IObjetOp &a);
+00565                 virtual IObjetOp &operator -= (const IObjetOp &a);
+00566 
+00567                 virtual IObjetOp *operator ! () const = 0;
+00568                 virtual bool isTrue() const;
+00570 
+00572 
+00573                 virtual sint32 getMethodIndexSize() const;
+00574                 virtual sint32 isClassInheritedFrom(const IVarName &) const;
+00575                 virtual tQueue isMember(const IVarName *,const IVarName *,const IObjectIA &) const;
+00576                 virtual CProcessResult runMethodeMember(sint32, sint32, IObjectIA *);
+00577                 virtual CProcessResult runMethodeMember(sint32 index,IObjectIA *);
+00579                 
+00581 
+00582                 virtual IObjectIA &operator = (const IObjectIA &a) = 0;
+00583                 virtual const IObjectIA *operator[] (sint32) const= 0;
+00584                 
+00586                 virtual void set(int,IObjectIA *) = 0;          
+00587                 
+00589                 virtual void push(const IObjectIA *o) = 0;
+00591                 virtual void pushFront(const IObjectIA *o) = 0;
+00593                 virtual void cpy(const IObjectIA &o) = 0;
+00595                 virtual CIteratorContener getIterator() = 0;
+00596                 virtual CConstIteratorContener getConstIterator() const = 0;
+00597 
+00599                 virtual const IObjectIA *pop() = 0;
+00601                 virtual const IObjectIA *popFront() = 0;
+00603                 virtual const IObjectIA *get() const = 0;               
+00605                 virtual const IObjectIA *getFront() const = 0;
+00607                 virtual sint32 size() const = 0;
+00608 
+00610                 virtual const IObjectIA *find(const IObjectIA &obj) const = 0;
+00611                 
+00612                 //virtual void eraseFirst(const IObjectIA &) = 0;
+00614                 virtual void eraseAll(const IObjectIA &) = 0; 
+00616                 virtual void erase(const IObjectIA *) = 0; 
+00618                 virtual void erase(const IObjectIA &) = 0;
+00620                 virtual void erase(std::list<const IObjectIA *> &) = 0;
+00622                 virtual void clear() = 0;
+00624         };
+00633         class CGroupType: public IBaseGroupType
+00634         {
+00635 
+00636         public:
+00637                 static const NLAIC::CIdentType IdGroupType;
+00638                 
+00639         public:
+00640                 //typedef of the std::list constainer
+00641                 typedef std::list<const IObjectIA *> tListType;
+00642         public:                         
+00644                 tListType _List;
+00645 
+00646         protected:
+00647 
+00648                 tListType &getList();
+00649 
+00650         public:
+00651                 CGroupType();
+00652                 CGroupType(const CGroupType &g);
+00653 
+00654                 virtual void getDebugString(std::string &text) const;
+00655 
+00656                 virtual const CProcessResult &run();
+00657 
+00658                 virtual IObjectIA &operator = (const IObjectIA &a);
+00659                 virtual IObjetOp *operator + (const IObjetOp &a);
+00660                 virtual IObjetOp *operator - (const IObjetOp &a);
+00661 
+00662                 virtual IObjetOp *operator + (IObjetOp *a);
+00663                 virtual IObjetOp *operator - (IObjetOp *a);             
+00664 
+00665                 virtual const IObjectIA *operator[] (sint32) const;
+00666 
+00667                 virtual void set(int,IObjectIA *);
+00668 
+00669                 virtual CIteratorContener getIterator()
+00670                 {
+00671                         return CIteratorContener(new CListIterator(_List));
+00672                 }
+00673 
+00674                 virtual CConstIteratorContener getConstIterator() const
+00675                 {
+00676                         return CConstIteratorContener((IBasicIterator *)(new CConstListIterator(_List)));
+00677                 }
+00678 
+00679 //              virtual bool isTrue() const;
+00680 
+00681                 IObjetOp *CGroupType::operator ! () const;
+00682                 void push(const IObjectIA *o);
+00683                 void pushFront(const IObjectIA *o);
+00684                 void cpy(const IObjectIA &o);
+00685                 const IObjectIA *pop();
+00686                 const IObjectIA *get() const;
+00687                 const IObjectIA *popFront();
+00688                 const IObjectIA *getFront() const;
+00689                 sint32 size() const;
+00690                 tListType findList(const IObjectIA &obj) const;
+00691                 tListType::const_iterator getBegin() const;
+00692                 tListType::const_iterator getEnd() const;
+00693                 tListType::iterator getBegin();
+00694                 tListType::iterator getEnd();
+00695                 const IObjectIA *find(const IObjectIA &obj) const;              
+00696                 void eraseAll(const IObjectIA &obj); 
+00697                 void erase(const IObjectIA *o); 
+00698                 void erase(const IObjectIA &obj);
+00699                 void erase(std::list<const IObjectIA *> &l);
+00700                 virtual bool isEqual(const IBasicObjectIA &a) const;
+00701                 virtual const NLAIC::IBasicType *clone() const;
+00702                 virtual const NLAIC::IBasicType *newInstance() const;
+00703                 virtual const NLAIC::CIdentType &getType() const;               
+00704                 virtual void save(NLMISC::IStream &os);
+00705                 virtual IObjetOp &neg();
+00706                 virtual void load(NLMISC::IStream &is);
+00707                 void clear();
+00708 
+00709                 virtual ~CGroupType();
+00710         };
+00711 
+00720         class CVectorGroupType: public IBaseGroupType
+00721         {
+00722 
+00723         public:
+00724                 static const NLAIC::CIdentType IdVectorGroupType;
+00725                 
+00726         public:
+00727                 //typedef of the std::vector constainer
+00728                 typedef std::vector<const IObjectIA *> tVectorType;
+00729         private:                                
+00731                 tVectorType _Vector;            
+00732 
+00733         protected:
+00734                 tVectorType &getVector();
+00735 
+00736         public:
+00738                 CVectorGroupType(sint32 );
+00739                 CVectorGroupType();
+00740                 CVectorGroupType(const CVectorGroupType &g);
+00741 
+00742                 virtual void getDebugString(std::string &text) const;
+00743 
+00744                 virtual const CProcessResult &run();
+00745                 
+00746                 virtual IObjetOp *operator + (const IObjetOp &a) ;
+00747                 virtual IObjetOp *operator - (const IObjetOp &a) ;
+00748 
+00749                 virtual IObjetOp *operator + (IObjetOp *a);
+00750                 virtual IObjetOp *operator - (IObjetOp *a);             
+00751 
+00752                 virtual IObjectIA &operator = (const IObjectIA &a);
+00753 
+00754                 virtual const IObjectIA *operator[] (sint32) const;
+00755 
+00756                 virtual void set(int,IObjectIA *);
+00757 
+00758                 // virtual bool isTrue() const;
+00759 
+00760                 IObjetOp *CVectorGroupType::operator ! () const;
+00761                 void push(const IObjectIA *o);
+00762                 void pushFront(const IObjectIA *o);
+00763                 virtual CIteratorContener getIterator()
+00764                 {
+00765                         return CIteratorContener(new CVectorIterator(_Vector));
+00766                 }
+00767 
+00768                 virtual CConstIteratorContener getConstIterator() const
+00769                 {
+00770                         return CConstIteratorContener((IBasicIterator *)(new CConstVectorIterator(_Vector)));
+00771                 }
+00772 
+00773                 void setObject(sint32 i,IObjectIA *a)
+00774                 {
+00775                         _Vector[i] = a;
+00776                 }
+00777 
+00778                 void cpy(const IObjectIA &o);
+00779                 const IObjectIA *pop();
+00780                 const IObjectIA *get() const;
+00781                 const IObjectIA *popFront();
+00782                 const IObjectIA *getFront() const;
+00783                 sint32 size() const;
+00784                 tVectorType findList(const IObjectIA &obj) const;
+00785                 tVectorType::const_iterator getBegin() const;
+00786                 tVectorType::const_iterator getEnd() const;
+00787                 tVectorType::iterator getBegin();
+00788                 tVectorType::iterator getEnd();
+00789                 const IObjectIA *find(const IObjectIA &obj) const;              
+00790                 void eraseAll(const IObjectIA &obj); 
+00791                 void erase(const IObjectIA *o); 
+00792                 void erase(const IObjectIA &obj);
+00793                 void erase(std::list<const IObjectIA *> &l);
+00794                 virtual bool isEqual(const IBasicObjectIA &a) const;
+00795                 virtual const NLAIC::IBasicType *clone() const;
+00796                 virtual const NLAIC::IBasicType *newInstance() const;
+00797                 virtual const NLAIC::CIdentType &getType() const;               
+00798                 virtual void save(NLMISC::IStream &os);
+00799                 virtual IObjetOp &neg();
+00800                 virtual void load(NLMISC::IStream &is);
+00801                 void clear();
+00802 
+00803                 virtual sint32 getMethodIndexSize() const;
+00804                 virtual tQueue isMember(const IVarName *,const IVarName *,const IObjectIA &) const;
+00805                 virtual CProcessResult runMethodeMember(sint32, sint32, IObjectIA *);
+00806                 virtual CProcessResult runMethodeMember(sint32 index,IObjectIA *);
+00807 
+00808                 virtual ~CVectorGroupType();
+00809         };
+00810 /*
+00811         class CMapGroupType: public IBaseGroupType
+00812         {
+00813 
+00814         public:
+00815                 static const NLAIC::CIdentType IdVectorGroupType;
+00816                 
+00817         public:
+00818                 typedef std::vector<const IObjectIA *> tVectorType;
+00819         private:                                
+00821                 std::map<IObjectIA *, IObjectIA *> _Map;
+00822 
+00823         protected:
+00824                 tVectorType &getVector();
+00825 
+00826         public:
+00828                 CMapGroupType(sint32 );
+00829                 CMapGroupType();
+00830                 CMapGroupType(const CMapGroupType &g);
+00831 
+00832                 virtual void getDebugString(std::string &text) const;
+00833 
+00834                 virtual const CProcessResult &run();
+00835 
+00836                 virtual IObjetOp &operator += (const IObjetOp &a);
+00837                 virtual IObjetOp &operator -= (const IObjetOp &a);
+00838                 virtual IObjectIA &operator = (const IObjectIA &a);
+00839 
+00840                 virtual const IObjectIA *operator[] (sint32) const;
+00841 
+00842                 virtual void set(int,IObjectIA *);
+00843 
+00844                 // virtual bool isTrue() const;
+00845 
+00846                 IObjetOp *CMapGroupType::operator ! () const;
+00847                 void push(const IObjectIA *o);
+00848                 void pushFront(const IObjectIA *o);
+00849                 virtual CIteratorContener getIterator()
+00850                 {
+00851                         return CIteratorContener(new CMapIterator(_Map));
+00852                 }
+00853 
+00854 
+00855                 virtual CConstIteratorContener getConstIterator() const
+00856                 {
+00857                         return CConstIteratorContener((IBasicIterator *)(new CConstMapIterator(_Map)));
+00858                 }
+00859 
+00860                 void setObject(sint32 i,IObjectIA *a)
+00861                 {
+00862                         _Map[i] = a;
+00863                 }
+00864 
+00865                 void cpy(const IObjectIA &o);
+00866                 const IObjectIA *pop();
+00867                 const IObjectIA *get() const;
+00868                 const IObjectIA *popFront();
+00869                 const IObjectIA *getFront() const;
+00870                 sint32 size() const;
+00871                 tVectorType findList(const IObjectIA &obj) const;
+00872                 tVectorType::const_iterator getBegin() const;
+00873                 tVectorType::const_iterator getEnd() const;
+00874                 tVectorType::iterator getBegin();
+00875                 tVectorType::iterator getEnd();
+00876                 const IObjectIA *find(const IObjectIA &obj) const;              
+00877                 void eraseAll(const IObjectIA &obj); 
+00878                 void erase(const IObjectIA *o); 
+00879                 void erase(const IObjectIA &obj);
+00880                 void erase(std::list<const IObjectIA *> &l);
+00881                 virtual bool isEqual(const IBasicObjectIA &a) const;
+00882                 virtual const NLAIC::IBasicType *clone() const;
+00883                 virtual const NLAIC::IBasicType *newInstance() const;
+00884                 virtual const NLAIC::CIdentType &getType() const;               
+00885                 virtual void save(NLMISC::IStream &os);
+00886                 virtual IObjetOp &neg();
+00887                 virtual void load(NLMISC::IStream &is);
+00888                 void clear();
+00889 
+00890                 virtual sint32 getMethodIndexSize() const;
+00891                 virtual tQueue isMember(const IVarName *,const IVarName *,const IObjectIA &) const;
+00892                 virtual CProcessResult runMethodeMember(sint32, sint32, IObjectIA *);
+00893                 virtual CProcessResult runMethodeMember(sint32 index,IObjectIA *);
+00894 
+00895                 virtual ~CMapGroupType();
+00896         };
+00897 */
+00898 }
+00899 #endif
+
+ + +
                                                                                                                                                                    +
+ + -- cgit v1.2.1