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

CTBmap.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>
00018 inline CTBmap<K,V,C>::CTBmap()
00019 {}
00020 
00021 //------------------------------------------+-----------------------------------
00023 
00029 template <class K, class V, class C>
00030 inline CTBmap<K,V,C>::~CTBmap()
00031 {}
00032 
00033 //------------------------------------------+-----------------------------------
00035 
00036 template <class K, class V, class C>
00037 inline CTBmap<K,V,C>::CTBmap(const CTBmap<K,V,C>&)
00038 {}
00039 
00040 //------------------------------------------+-----------------------------------
00042 
00043 template <class K, class V, class C>
00044 inline CTBmapIterator<K,V,C> CTBmap<K,V,C>::FindLessEqual(const K& key,
00045                                                           bool& b_found)
00046 {
00047   return Iterator((Map*) this, LocateMatchOrPrev(key,b_found));
00048 }
00049 
00050 //------------------------------------------+-----------------------------------
00052 
00053 template <class K, class V, class C>
00054 inline CTBmapBrowser<K,V,C> CTBmap<K,V,C>::FindLessEqual(const K& key,
00055                                                          bool& b_found) const
00056 {
00057   return Browser((Map*) this, LocateMatchOrPrev(key,b_found));
00058 }
00059 
00060 //------------------------------------------+-----------------------------------
00062 
00063 template <class K, class V, class C>
00064 inline CTBmapIterator<K,V,C> CTBmap<K,V,C>::FindGreaterEqual(const K& key,
00065                                                              bool& b_found)
00066 {
00067   return Iterator((Map*) this, LocateMatchOrNext(key,b_found));
00068 }
00069 
00070 //------------------------------------------+-----------------------------------
00072 
00073 template <class K, class V, class C>
00074 inline CTBmapBrowser<K,V,C> CTBmap<K,V,C>::FindGreaterEqual(const K& key,
00075                                                             bool& b_found) const
00076 {
00077   return Browser((Map*) this, LocateMatchOrNext(key,b_found));
00078 }
00079 
00080 //------------------------------------------+-----------------------------------
00082 
00083 template <class K, class V, class C>
00084 inline CTBmapIterator<K,V,C> CTBmap<K,V,C>::First()
00085 {
00086   return Iterator((Map*) this, (Node*) CTBbtree::First());
00087 }
00088 
00089 //------------------------------------------+-----------------------------------
00091 
00092 template <class K, class V, class C>
00093 inline CTBmapBrowser<K,V,C> CTBmap<K,V,C>::First() const
00094 {
00095   return Browser((Map*) this, (Node*) CTBbtree::First());
00096 }
00097 
00098 //------------------------------------------+-----------------------------------
00100 
00101 template <class K, class V, class C>
00102 inline CTBmapIterator<K,V,C> CTBmap<K,V,C>::Last()
00103 {
00104   return Iterator((Map*) this, (Node*) CTBbtree::Last());
00105 }
00106 
00107 //------------------------------------------+-----------------------------------
00109 
00110 template <class K, class V, class C>
00111 inline CTBmapBrowser<K,V,C> CTBmap<K,V,C>::Last() const
00112 {
00113   return Browser((Map*) this, (Node*) CTBbtree::Last());
00114 }
00115 
00116 //------------------------------------------+-----------------------------------
00118 
00119 template <class K, class V, class C>
00120 inline CTBint CTBmap<K,V,C>::Size() const
00121 {
00122   return CTBbtree::Size();
00123 }
00124 
00125 //------------------------------------------+-----------------------------------
00127 
00128 template <class K, class V, class C>
00129 inline void CTBmap<K,V,C>::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 
00143 template <class K, class V, class C>
00144 inline V& CTBmap<K,V,C>::operator[](const K& key)
00145 {
00146   bool b_found;
00147   return FindOrCreate(key,b_found).Value();
00148 }
00149 
00150 //------------------------------------------+-----------------------------------
00152 
00153 template <class K, class V, class C>
00154 inline CTBmap<K,V,C>& CTBmap<K,V,C>::operator=(const CTBmap<K,V,C>& rhs)
00155 {
00156   CTBbtree::operator=(rhs);
00157   return *this;
00158 }
00159 
00160 //------------------------------------------+-----------------------------------
00162 
00163 template <class K, class V, class C>
00164 inline CTBmap<K,V,C>::operator bool() const
00165 {
00166   return CTBbtree::Size() > 0;
00167 }
00168 
00169 //------------------------------------------+-----------------------------------
00171 
00177 template <class K, class V, class C>
00178 inline void CTBmap<K,V,C>::InsertNode(CTBmapNode<K,V,C>* p_node,
00179                                       CTBmapNode<K,V,C>* p_parent, int i_ctype)
00180 {
00181   p_node->Insert(*this,p_parent,i_ctype);
00182   return;
00183 }
00184 
00185 //------------------------------------------+-----------------------------------
00187 
00188 template <class K, class V, class C>
00189 inline void CTBmap<K,V,C>::RemoveNode(CTBmapNode<K,V,C>* p_node)
00190 {
00191   p_node->Remove();
00192   return;
00193 }
00194 

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