00001
00006
00007
00008
00009
00010
00011
00012
00013
00019
00021
00022 template <class K, class V, class C, class T, class AK, class AV>
00023 inline CTBgsetNode<K,V,C,T,AK,AV>::CTBgsetNode()
00024 : m_obj()
00025 {}
00026
00027
00029
00030 template <class K, class V, class C, class T, class AK, class AV>
00031 inline CTBgsetNode<K,V,C,T,AK,AV>::CTBgsetNode(const T& obj)
00032 : m_obj(obj)
00033 {}
00034
00035
00037
00038 template <class K, class V, class C, class T, class AK, class AV>
00039 inline CTBgsetNode<K,V,C,T,AK,AV>::~CTBgsetNode()
00040 {}
00041
00042
00044
00045 template <class K, class V, class C, class T, class AK, class AV>
00046 inline CTBbtreeNode* CTBgsetNode<K,V,C,T,AK,AV>::Clone() const
00047 {
00048 return new CTBgsetNode(Object());
00049 }
00050
00051
00053
00054 template <class K, class V, class C, class T, class AK, class AV>
00055 inline const K& CTBgsetNode<K,V,C,T,AK,AV>::Key() const
00056 {
00057 AK getkey;
00058 return getkey(m_obj);
00059 }
00060
00061
00063
00064 template <class K, class V, class C, class T, class AK, class AV>
00065 inline V& CTBgsetNode<K,V,C,T,AK,AV>::Value()
00066 {
00067 AV getval;
00068 return getval(m_obj);
00069 }
00070
00071
00073
00074 template <class K, class V, class C, class T, class AK, class AV>
00075 inline const V& CTBgsetNode<K,V,C,T,AK,AV>::Value() const
00076 {
00077 AV getval;
00078 return getval((T)m_obj);
00079 }
00080
00081
00083
00084 template <class K, class V, class C, class T, class AK, class AV>
00085 inline T& CTBgsetNode<K,V,C,T,AK,AV>::Object()
00086 {
00087 return m_obj;
00088 }
00089
00090
00092
00093 template <class K, class V, class C, class T, class AK, class AV>
00094 inline const T& CTBgsetNode<K,V,C,T,AK,AV>::Object() const
00095 {
00096 return m_obj;
00097 }
00098
00099
00101
00102 template <class K, class V, class C, class T, class AK, class AV>
00103 inline CTBgsetNode<K,V,C,T,AK,AV>* CTBgsetNode<K,V,C,T,AK,AV>::Up() const
00104 {
00105 return (Node*) CTBbtreeNode::Up();
00106 }
00107
00108
00110
00111 template <class K, class V, class C, class T, class AK, class AV>
00112 inline CTBgsetNode<K,V,C,T,AK,AV>* CTBgsetNode<K,V,C,T,AK,AV>::Left() const
00113 {
00114 return (Node*) CTBbtreeNode::Left();
00115 }
00116
00117
00119
00120 template <class K, class V, class C, class T, class AK, class AV>
00121 inline CTBgsetNode<K,V,C,T,AK,AV>* CTBgsetNode<K,V,C,T,AK,AV>::Right() const
00122 {
00123 return (Node*) CTBbtreeNode::Right();
00124 }
00125
00126
00128
00129 template <class K, class V, class C, class T, class AK, class AV>
00130 inline CTBgsetNode<K,V,C,T,AK,AV>* CTBgsetNode<K,V,C,T,AK,AV>::Next() const
00131 {
00132 return (Node*) CTBbtreeNode::Next();
00133 }
00134
00135
00137
00138 template <class K, class V, class C, class T, class AK, class AV>
00139 inline CTBgsetNode<K,V,C,T,AK,AV>* CTBgsetNode<K,V,C,T,AK,AV>::Prev() const
00140 {
00141 return (Node*) CTBbtreeNode::Prev();
00142 }
00143
00144
00146
00147 template <class K, class V, class C, class T, class AK, class AV>
00148 inline CTBgsetNode<K,V,C,T,AK,AV>* CTBgsetNode<K,V,C,T,AK,AV>::Skip(
00149 CTBint i_offset) const
00150 {
00151 return (Node*) CTBbtreeNode::Skip(i_offset);
00152 }