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

CTBgset.icc

Go to the documentation of this file.
00001 
00006 /*----------------------------------------------------------------------------*/
00007 /* C Tool Box: Designed and implemented by:                                   */
00008 /*    Walter F.J. Mueller   Gesellschaft fuer Schwerionenforschung (GSI)      */
00009 /*                          Planckstrasse 1, D-64291 Darmstadt, Germany       */
00010 /*                  Email:  W.F.J.Mueller@gsi.de                              */
00011 /*                  WWW:    http://www-kp3.gsi.de/www/kp3/people/mueller.html */
00012 /*------------------------------------------+---------------------------------*/
00013 
00014 //------------------------------------------+-----------------------------------
00016 
00017 template <class K, class V, class C, class T, class AK, class AV>
00018 inline CTBgset<K,V,C,T,AK,AV>::CTBgset()
00019 {}
00020 
00021 //------------------------------------------+-----------------------------------
00023 
00029 template <class K, class V, class C, class T, class AK, class AV>
00030 inline CTBgset<K,V,C,T,AK,AV>::~CTBgset()
00031 {}
00032 
00033 //------------------------------------------+-----------------------------------
00035 
00036 template <class K, class V, class C, class T, class AK, class AV>
00037 inline CTBgset<K,V,C,T,AK,AV>::CTBgset(const CTBgset<K,V,C,T,AK,AV>&)
00038 {}
00039 
00040 //------------------------------------------+-----------------------------------
00042 
00043 template <class K, class V, class C, class T, class AK, class AV>
00044 inline CTBgsetIterator<K,V,C,T,AK,AV> CTBgset<K,V,C,T,AK,AV>::FindLessEqual(
00045                                         const K& key, bool& b_found)
00046 {
00047   return Iterator((Gset*) this, LocateMatchOrPrev(key,b_found));
00048 }
00049 
00050 //------------------------------------------+-----------------------------------
00052 
00053 template <class K, class V, class C, class T, class AK, class AV>
00054 inline CTBgsetBrowser<K,V,C,T,AK,AV> CTBgset<K,V,C,T,AK,AV>::FindLessEqual(
00055                                        const K& key, bool& b_found) const
00056 {
00057   return Browser((Gset*) this, LocateMatchOrPrev(key,b_found));
00058 }
00059 
00060 //------------------------------------------+-----------------------------------
00062 
00063 template <class K, class V, class C, class T, class AK, class AV>
00064 inline CTBgsetIterator<K,V,C,T,AK,AV> CTBgset<K,V,C,T,AK,AV>::FindGreaterEqual(
00065                                         const K& key, bool& b_found)
00066 {
00067   return Iterator((Gset*) this, LocateMatchOrNext(key,b_found));
00068 }
00069 
00070 //------------------------------------------+-----------------------------------
00072 
00073 template <class K, class V, class C, class T, class AK, class AV>
00074 inline CTBgsetBrowser<K,V,C,T,AK,AV> CTBgset<K,V,C,T,AK,AV>::FindGreaterEqual(
00075                                    const K& key, bool& b_found) const
00076 {
00077   return Browser((Gset*) this, LocateMatchOrNext(key,b_found));
00078 }
00079 
00080 //------------------------------------------+-----------------------------------
00082 
00083 template <class K, class V, class C, class T, class AK, class AV>
00084 inline CTBgsetIterator<K,V,C,T,AK,AV> CTBgset<K,V,C,T,AK,AV>::First()
00085 {
00086   return Iterator((Gset*) this, (Node*) CTBbtree::First());
00087 }
00088 
00089 //------------------------------------------+-----------------------------------
00091 
00092 template <class K, class V, class C, class T, class AK, class AV>
00093 inline CTBgsetBrowser<K,V,C,T,AK,AV> CTBgset<K,V,C,T,AK,AV>::First() const
00094 {
00095   return Browser((Gset*) this, (Node*) CTBbtree::First());
00096 }
00097 
00098 //------------------------------------------+-----------------------------------
00100 
00101 template <class K, class V, class C, class T, class AK, class AV>
00102 inline CTBgsetIterator<K,V,C,T,AK,AV> CTBgset<K,V,C,T,AK,AV>::Last()
00103 {
00104   return Iterator((Gset*) this, (Node*) CTBbtree::Last());
00105 }
00106 
00107 //------------------------------------------+-----------------------------------
00109 
00110 template <class K, class V, class C, class T, class AK, class AV>
00111 inline CTBgsetBrowser<K,V,C,T,AK,AV> CTBgset<K,V,C,T,AK,AV>::Last() const
00112 {
00113   return Browser((Gset*) this, (Node*) CTBbtree::Last());
00114 }
00115 
00116 //------------------------------------------+-----------------------------------
00118 
00119 template <class K, class V, class C, class T, class AK, class AV>
00120 inline CTBint CTBgset<K,V,C,T,AK,AV>::Size() const
00121 {
00122   return CTBbtree::Size();
00123 }
00124 
00125 //------------------------------------------+-----------------------------------
00127 
00128 template <class K, class V, class C, class T, class AK, class AV>
00129 inline void CTBgset<K,V,C,T,AK,AV>::Dump(int i_indent, ostream& os,
00130                                          const char* p_text) const
00131 {
00132   CTBbtree::Dump(i_indent,os,p_text);
00133   return;
00134 }
00135 
00136 //------------------------------------------+-----------------------------------
00138 
00139 template <class K, class V, class C, class T, class AK, class AV>
00140 inline CTBgset<K,V,C,T,AK,AV>& CTBgset<K,V,C,T,AK,AV>::operator=(
00141                                  const CTBgset<K,V,C,T,AK,AV>& rhs)
00142 {
00143   CTBbtree::operator=(rhs);
00144   return *this;
00145 }
00146 
00147 //------------------------------------------+-----------------------------------
00149 
00150 template <class K, class V, class C, class T, class AK, class AV>
00151 inline CTBgset<K,V,C,T,AK,AV>::operator bool() const
00152 {
00153   return CTBbtree::Size() > 0;
00154 }
00155 
00156 //------------------------------------------+-----------------------------------
00158 
00164 template <class K, class V, class C, class T, class AK, class AV>
00165 inline void CTBgset<K,V,C,T,AK,AV>::InsertNode(
00166                                       CTBgsetNode<K,V,C,T,AK,AV>* p_node,
00167                                       CTBgsetNode<K,V,C,T,AK,AV>* p_parent,
00168                                       int i_ctype)
00169 {
00170   p_node->Insert(*this,p_parent,i_ctype);
00171   return;
00172 }
00173 
00174 //------------------------------------------+-----------------------------------
00176 
00177 template <class K, class V, class C, class T, class AK, class AV>
00178 inline void CTBgset<K,V,C,T,AK,AV>::RemoveNode(
00179                                       CTBgsetNode<K,V,C,T,AK,AV>* p_node)
00180 {
00181   p_node->Remove();
00182   return;
00183 }
00184 

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