Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages   Examples  

CTBgsetNode.hxx

Go to the documentation of this file.
00001 #ifndef _CTBgsetNode_HXX
00002 #define _CTBgsetNode_HXX 1
00003 
00008 /*----------------------------------------------------------------------------*/
00009 /* C Tool Box: Designed and implemented by:                                   */
00010 /*    Walter F.J. Mueller   Gesellschaft fuer Schwerionenforschung (GSI)      */
00011 /*                          Planckstrasse 1, D-64291 Darmstadt, Germany       */
00012 /*                  Email:  W.F.J.Mueller@gsi.de                              */
00013 /*                  WWW:    http://www-kp3.gsi.de/www/kp3/people/mueller.html */
00014 /*------------------------------------------+---------------------------------*/
00015 
00016 template <class K, class V, class C, class T, class AK, class AV>
00017 class CTBgsetNode : public CTBbtreeNode {
00018   public:
00019 
00020     typedef CTBgset<K,V,C,T,AK,AV>      Gset;
00021     typedef CTBgsetNode<K,V,C,T,AK,AV>  Node;
00022 
00023                     CTBgsetNode();
00024                     CTBgsetNode(const T& obj);
00025     
00026                     ~CTBgsetNode();
00027 
00028     virtual CTBbtreeNode* Clone() const;
00029 
00030     const K&        Key() const;
00031     V&              Value();
00032     const V&        Value() const;
00033     T&              Object();
00034     const T&        Object() const;
00035 
00036     CTBgsetNode<K,V,C,T,AK,AV>* Up() const;
00037     CTBgsetNode<K,V,C,T,AK,AV>* Left() const;
00038     CTBgsetNode<K,V,C,T,AK,AV>* Right() const;
00039 
00040     CTBgsetNode<K,V,C,T,AK,AV>* Next() const;
00041     CTBgsetNode<K,V,C,T,AK,AV>* Prev() const;
00042 
00043     CTBgsetNode<K,V,C,T,AK,AV>* Skip(CTBint i_offset) const;
00044 
00045   private:
00046 
00047                     CTBgsetNode(const CTBgsetNode<K,V,C,T,AK,AV>& rhs); // DUMMY
00048     CTBgsetNode<K,V,C,T,AK,AV>& operator=(
00049                                   const CTBgsetNode<K,V,C,T,AK,AV>& rhs); // DUM
00050 
00051   private:
00052 
00053     T               m_obj;                  
00054 };
00055 
00056 template <class K, class V, class C, class T, class AK, class AV>
00057 class CTBclone<CTBgsetNode<K,V,C,T,AK,AV> > : 
00058   public CTBcloneable<CTBgsetNode<K,V,C,T,AK,AV> > {};
00059 
00060 // Notes:
00061 //  1. The member functions of this class do *not* preserve const-ness !!
00062 //     (e.g. Next() returns a non-const pointer but is a const function...)
00063 //     CTBgsetNode is a helper class for CTBgset and the calling functions
00064 //     in CTBgset and the iterators will to the proper, const preserving,
00065 //     handling of all pointers and references.
00066 
00067 #include "CTBgsetNode.icc"
00068 
00069 #endif

Generated at Fri Oct 24 18:11:28 2003 for CTBbase by doxygen1.2.9-20010812 written by Dimitri van Heesch, © 1997-2001