Map_T.inl

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 //
00003 // Map_T.inl,v 4.5 2005/10/28 16:14:53 ossama Exp
00004 
00005 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
00006 
00007 template <class T> ACE_INLINE int
00008 ACE_Noop_Key_Generator<T>::operator() (T &)
00009 {
00010   return -1;
00011 }
00012 
00013 template <class T> ACE_INLINE
00014 ACE_Incremental_Key_Generator<T>::ACE_Incremental_Key_Generator (void)
00015   : t_ (0)
00016 {
00017 }
00018 
00019 template <class T> ACE_INLINE int
00020 ACE_Incremental_Key_Generator<T>::operator() (T &t)
00021 {
00022   t = ++this->t_;
00023   return 0;
00024 }
00025 
00026 template <class T> ACE_INLINE const T &
00027 ACE_Incremental_Key_Generator<T>::current_value (void) const
00028 {
00029   return this->t_;
00030 }
00031 
00032 template <class T> ACE_INLINE
00033 ACE_Iterator<T>::ACE_Iterator (ACE_Iterator_Impl<T> *impl)
00034   : implementation_ (impl)
00035 {
00036 }
00037 
00038 template <class T> ACE_INLINE
00039 ACE_Iterator<T>::ACE_Iterator (const ACE_Iterator<T> &rhs)
00040   : implementation_ (rhs.implementation_->clone ())
00041 {
00042 }
00043 
00044 template <class T> ACE_INLINE
00045 ACE_Iterator<T>::~ACE_Iterator (void)
00046 {
00047   delete this->implementation_;
00048 }
00049 
00050 template <class T> ACE_INLINE ACE_Iterator<T> &
00051 ACE_Iterator<T>::operator= (const ACE_Iterator<T> &rhs)
00052 {
00053   delete this->implementation_;
00054   this->implementation_ = rhs.implementation_->clone ();
00055   return *this;
00056 }
00057 
00058 template <class T> ACE_INLINE bool
00059 ACE_Iterator<T>::operator== (const ACE_Iterator<T> &rhs) const
00060 {
00061   return this->implementation_->compare (*rhs.implementation_);
00062 }
00063 
00064 template <class T> ACE_INLINE bool
00065 ACE_Iterator<T>::operator!= (const ACE_Iterator<T> &rhs) const
00066 {
00067   return !this->operator== (rhs);
00068 }
00069 
00070 template <class T> ACE_INLINE T
00071 ACE_Iterator<T>::operator* (void) const
00072 {
00073   return this->implementation_->dereference ();
00074 }
00075 
00076 template <class T> ACE_INLINE ACE_Iterator<T> &
00077 ACE_Iterator<T>::operator++ (void)
00078 {
00079   this->implementation_->plus_plus ();
00080   return *this;
00081 }
00082 
00083 template <class T> ACE_INLINE ACE_Iterator<T>
00084 ACE_Iterator<T>::operator++ (int)
00085 {
00086   ACE_Iterator<T> tmp = *this;
00087   this->implementation_->plus_plus ();
00088   return tmp;
00089 }
00090 
00091 template <class T> ACE_INLINE ACE_Iterator<T> &
00092 ACE_Iterator<T>::operator-- (void)
00093 {
00094   this->implementation_->minus_minus ();
00095   return *this;
00096 }
00097 
00098 template <class T> ACE_INLINE ACE_Iterator<T>
00099 ACE_Iterator<T>::operator-- (int)
00100 {
00101   ACE_Iterator<T> tmp = *this;
00102   this->implementation_->minus_minus ();
00103   return tmp;
00104 }
00105 
00106 template <class T> ACE_INLINE ACE_Iterator_Impl<T> &
00107 ACE_Iterator<T>::impl (void)
00108 {
00109   return *this->implementation_;
00110 }
00111 
00112 template <class T> ACE_INLINE
00113 ACE_Reverse_Iterator<T>::ACE_Reverse_Iterator (ACE_Reverse_Iterator_Impl<T> *impl)
00114   : implementation_ (impl)
00115 {
00116 }
00117 
00118 template <class T> ACE_INLINE
00119 ACE_Reverse_Iterator<T>::ACE_Reverse_Iterator (const ACE_Reverse_Iterator<T> &rhs)
00120   : implementation_ (rhs.implementation_->clone ())
00121 {
00122 }
00123 
00124 template <class T> ACE_INLINE
00125 ACE_Reverse_Iterator<T>::~ACE_Reverse_Iterator (void)
00126 {
00127   delete this->implementation_;
00128 }
00129 
00130 template <class T> ACE_INLINE ACE_Reverse_Iterator<T> &
00131 ACE_Reverse_Iterator<T>::operator= (const ACE_Reverse_Iterator<T> &rhs)
00132 {
00133   delete this->implementation_;
00134   this->implementation_ = rhs.implementation_->clone ();
00135   return *this;
00136 }
00137 
00138 template <class T> ACE_INLINE bool
00139 ACE_Reverse_Iterator<T>::operator== (const ACE_Reverse_Iterator<T> &rhs) const
00140 {
00141   return this->implementation_->compare (*rhs.implementation_);
00142 }
00143 
00144 template <class T> ACE_INLINE bool
00145 ACE_Reverse_Iterator<T>::operator!= (const ACE_Reverse_Iterator<T> &rhs) const
00146 {
00147   return !this->operator== (rhs);
00148 }
00149 
00150 template <class T> ACE_INLINE T
00151 ACE_Reverse_Iterator<T>::operator* (void) const
00152 {
00153   return this->implementation_->dereference ();
00154 }
00155 
00156 template <class T> ACE_INLINE ACE_Reverse_Iterator<T> &
00157 ACE_Reverse_Iterator<T>::operator++ (void)
00158 {
00159   this->implementation_->plus_plus ();
00160   return *this;
00161 }
00162 
00163 template <class T> ACE_INLINE ACE_Reverse_Iterator<T>
00164 ACE_Reverse_Iterator<T>::operator++ (int)
00165 {
00166   ACE_Reverse_Iterator<T> tmp = *this;
00167   this->implementation_->plus_plus ();
00168   return tmp;
00169 }
00170 
00171 template <class T> ACE_INLINE ACE_Reverse_Iterator<T> &
00172 ACE_Reverse_Iterator<T>::operator-- (void)
00173 {
00174   this->implementation_->minus_minus ();
00175   return *this;
00176 }
00177 
00178 template <class T> ACE_INLINE ACE_Reverse_Iterator<T>
00179 ACE_Reverse_Iterator<T>::operator-- (int)
00180 {
00181   ACE_Reverse_Iterator<T> tmp = *this;
00182   this->implementation_->minus_minus ();
00183   return tmp;
00184 }
00185 
00186 template <class T> ACE_INLINE ACE_Reverse_Iterator_Impl<T> &
00187 ACE_Reverse_Iterator<T>::impl (void)
00188 {
00189   return *this->implementation_;
00190 }
00191 
00192 template <class KEY, class VALUE> ACE_INLINE
00193 ACE_Map<KEY, VALUE>::ACE_Map (void)
00194 {
00195 }
00196 
00197 template <class KEY, class VALUE> ACE_INLINE ACE_Iterator<ACE_Reference_Pair<const KEY, VALUE> >
00198 ACE_Map<KEY, VALUE>::begin (void)
00199 {
00200   return iterator (this->begin_impl ());
00201 }
00202 
00203 template <class KEY, class VALUE> ACE_INLINE ACE_Iterator<ACE_Reference_Pair<const KEY, VALUE> >
00204 ACE_Map<KEY, VALUE>::end (void)
00205 {
00206   return iterator (this->end_impl ());
00207 }
00208 
00209 template <class KEY, class VALUE> ACE_INLINE ACE_Reverse_Iterator<ACE_Reference_Pair<const KEY, VALUE> >
00210 ACE_Map<KEY, VALUE>::rbegin (void)
00211 {
00212   return reverse_iterator (this->rbegin_impl ());
00213 }
00214 
00215 template <class KEY, class VALUE> ACE_INLINE ACE_Reverse_Iterator<ACE_Reference_Pair<const KEY, VALUE> >
00216 ACE_Map<KEY, VALUE>::rend (void)
00217 {
00218   return reverse_iterator (this->rend_impl ());
00219 }
00220 
00221 template <class T, class IMPLEMENTATION, class ENTRY> ACE_INLINE
00222 ACE_Map_Impl_Iterator_Adapter<T, IMPLEMENTATION, ENTRY>::ACE_Map_Impl_Iterator_Adapter (const IMPLEMENTATION &impl)
00223   : implementation_ (impl)
00224 {
00225 }
00226 
00227 template <class T, class IMPLEMENTATION, class ENTRY> ACE_INLINE IMPLEMENTATION &
00228 ACE_Map_Impl_Iterator_Adapter<T, IMPLEMENTATION, ENTRY>::impl (void)
00229 {
00230   return this->implementation_;
00231 }
00232 
00233 template <class T, class IMPLEMENTATION, class ENTRY> ACE_INLINE
00234 ACE_Map_Impl_Reverse_Iterator_Adapter<T, IMPLEMENTATION, ENTRY>::ACE_Map_Impl_Reverse_Iterator_Adapter (const IMPLEMENTATION &impl)
00235   : implementation_ (impl)
00236 {
00237 }
00238 
00239 template <class T, class IMPLEMENTATION, class ENTRY> ACE_INLINE IMPLEMENTATION &
00240 ACE_Map_Impl_Reverse_Iterator_Adapter<T, IMPLEMENTATION, ENTRY>::impl (void)
00241 {
00242   return this->implementation_;
00243 }
00244 
00245 template <class KEY, class VALUE, class IMPLEMENTATION, class ITERATOR, class REVERSE_ITERATOR, class ENTRY> ACE_INLINE
00246 ACE_Map_Impl<KEY, VALUE, IMPLEMENTATION, ITERATOR, REVERSE_ITERATOR, ENTRY>::ACE_Map_Impl (ACE_Allocator *alloc)
00247   : implementation_ (alloc)
00248 {
00249 }
00250 
00251 template <class KEY, class VALUE, class IMPLEMENTATION, class ITERATOR, class REVERSE_ITERATOR, class ENTRY> ACE_INLINE
00252 ACE_Map_Impl<KEY, VALUE, IMPLEMENTATION, ITERATOR, REVERSE_ITERATOR, ENTRY>::ACE_Map_Impl (size_t size,
00253                                                                                            ACE_Allocator *alloc)
00254   : implementation_ (size,
00255                      alloc)
00256 {
00257 }
00258 
00259 template <class KEY, class VALUE, class IMPLEMENTATION, class ITERATOR, class REVERSE_ITERATOR, class ENTRY> ACE_INLINE IMPLEMENTATION &
00260 ACE_Map_Impl<KEY, VALUE, IMPLEMENTATION, ITERATOR, REVERSE_ITERATOR, ENTRY>::impl (void)
00261 {
00262   return this->implementation_;
00263 }
00264 
00265 template <class T, class VALUE> ACE_INLINE
00266 ACE_Active_Map_Manager_Iterator_Adapter<T, VALUE>::ACE_Active_Map_Manager_Iterator_Adapter (const ACE_Map_Iterator<ACE_Active_Map_Manager_Key, VALUE, ACE_Null_Mutex> &impl)
00267   : implementation_ (impl)
00268 {
00269 }
00270 
00271 template <class T, class VALUE> ACE_INLINE ACE_Map_Iterator<ACE_Active_Map_Manager_Key, VALUE, ACE_Null_Mutex> &
00272 ACE_Active_Map_Manager_Iterator_Adapter<T, VALUE>::impl (void)
00273 {
00274   return this->implementation_;
00275 }
00276 
00277 template <class T, class VALUE> ACE_INLINE
00278 ACE_Active_Map_Manager_Reverse_Iterator_Adapter<T, VALUE>::ACE_Active_Map_Manager_Reverse_Iterator_Adapter (const ACE_Map_Reverse_Iterator<ACE_Active_Map_Manager_Key, VALUE, ACE_Null_Mutex> &impl)
00279   : implementation_ (impl)
00280 {
00281 }
00282 
00283 template <class T, class VALUE> ACE_INLINE ACE_Map_Reverse_Iterator<ACE_Active_Map_Manager_Key, VALUE, ACE_Null_Mutex> &
00284 ACE_Active_Map_Manager_Reverse_Iterator_Adapter<T, VALUE>::impl (void)
00285 {
00286   return this->implementation_;
00287 }
00288 
00289 template <class KEY, class VALUE, class KEY_ADAPTER> ACE_INLINE
00290 ACE_Active_Map_Manager_Adapter<KEY, VALUE, KEY_ADAPTER>::ACE_Active_Map_Manager_Adapter (ACE_Allocator *alloc)
00291   : implementation_ (alloc)
00292 {
00293 }
00294 
00295 template <class KEY, class VALUE, class KEY_ADAPTER> ACE_INLINE
00296 ACE_Active_Map_Manager_Adapter<KEY, VALUE, KEY_ADAPTER>::ACE_Active_Map_Manager_Adapter (size_t size,
00297                                                                                          ACE_Allocator *alloc)
00298   : implementation_ (size,
00299                      alloc)
00300 {
00301 }
00302 
00303 template <class KEY, class VALUE, class KEY_ADAPTER> ACE_INLINE ACE_Active_Map_Manager<ACE_Pair<KEY, VALUE> > &
00304 ACE_Active_Map_Manager_Adapter<KEY, VALUE, KEY_ADAPTER>::impl (void)
00305 {
00306   return this->implementation_;
00307 }
00308 
00309 template <class KEY, class VALUE, class KEY_ADAPTER> ACE_INLINE KEY_ADAPTER &
00310 ACE_Active_Map_Manager_Adapter<KEY, VALUE, KEY_ADAPTER>::key_adapter (void)
00311 {
00312   return this->key_adapter_;
00313 }
00314 
00315 template <class T, class KEY, class VALUE, class HASH_KEY, class COMPARE_KEYS> ACE_INLINE
00316 ACE_Hash_Map_Manager_Ex_Iterator_Adapter<T, KEY, VALUE, HASH_KEY, COMPARE_KEYS>::ACE_Hash_Map_Manager_Ex_Iterator_Adapter (const ACE_Hash_Map_Iterator_Ex<KEY, VALUE, HASH_KEY, COMPARE_KEYS, ACE_Null_Mutex> &impl)
00317   : implementation_ (impl)
00318 {
00319 }
00320 
00321 template <class T, class KEY, class VALUE, class HASH_KEY, class COMPARE_KEYS> ACE_INLINE ACE_Hash_Map_Iterator_Ex<KEY, VALUE, HASH_KEY, COMPARE_KEYS, ACE_Null_Mutex> &
00322 ACE_Hash_Map_Manager_Ex_Iterator_Adapter<T, KEY, VALUE, HASH_KEY, COMPARE_KEYS>::impl (void)
00323 {
00324   return this->implementation_;
00325 }
00326 
00327 template <class T, class KEY, class VALUE, class HASH_KEY, class COMPARE_KEYS> ACE_INLINE
00328 ACE_Hash_Map_Manager_Ex_Reverse_Iterator_Adapter<T, KEY, VALUE, HASH_KEY, COMPARE_KEYS>::ACE_Hash_Map_Manager_Ex_Reverse_Iterator_Adapter (const ACE_Hash_Map_Reverse_Iterator_Ex<KEY, VALUE, HASH_KEY, COMPARE_KEYS, ACE_Null_Mutex> &impl)
00329   : implementation_ (impl)
00330 {
00331 }
00332 
00333 template <class T, class KEY, class VALUE, class HASH_KEY, class COMPARE_KEYS> ACE_INLINE ACE_Hash_Map_Reverse_Iterator_Ex<KEY, VALUE, HASH_KEY, COMPARE_KEYS, ACE_Null_Mutex> &
00334 ACE_Hash_Map_Manager_Ex_Reverse_Iterator_Adapter<T, KEY, VALUE, HASH_KEY, COMPARE_KEYS>::impl (void)
00335 {
00336   return this->implementation_;
00337 }
00338 
00339 template <class KEY, class VALUE, class HASH_KEY, class COMPARE_KEYS, class KEY_GENERATOR> ACE_INLINE
00340 ACE_Hash_Map_Manager_Ex_Adapter<KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR>::ACE_Hash_Map_Manager_Ex_Adapter (ACE_Allocator *alloc)
00341   : implementation_ (alloc)
00342 {
00343 }
00344 
00345 template <class KEY, class VALUE, class HASH_KEY, class COMPARE_KEYS, class KEY_GENERATOR> ACE_INLINE
00346 ACE_Hash_Map_Manager_Ex_Adapter<KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR>::ACE_Hash_Map_Manager_Ex_Adapter (size_t size,
00347                                                                                                                      ACE_Allocator *alloc)
00348   : implementation_ (size,
00349                      alloc)
00350 {
00351 }
00352 
00353 template <class KEY, class VALUE, class HASH_KEY, class COMPARE_KEYS, class KEY_GENERATOR> ACE_INLINE ACE_Hash_Map_Manager_Ex<KEY, VALUE, HASH_KEY, COMPARE_KEYS, ACE_Null_Mutex> &
00354 ACE_Hash_Map_Manager_Ex_Adapter<KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR>::impl (void)
00355 {
00356   return this->implementation_;
00357 }
00358 
00359 template <class KEY, class VALUE, class HASH_KEY, class COMPARE_KEYS, class KEY_GENERATOR> ACE_INLINE KEY_GENERATOR &
00360 ACE_Hash_Map_Manager_Ex_Adapter<KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR>::key_generator (void)
00361 {
00362   return this->key_generator_;
00363 }
00364 
00365 template <class T, class KEY, class VALUE> ACE_INLINE
00366 ACE_Map_Manager_Iterator_Adapter<T, KEY, VALUE>::ACE_Map_Manager_Iterator_Adapter (const ACE_Map_Iterator<KEY, VALUE, ACE_Null_Mutex> &impl)
00367   : implementation_ (impl)
00368 {
00369 }
00370 
00371 template <class T, class KEY, class VALUE> ACE_INLINE ACE_Map_Iterator<KEY, VALUE, ACE_Null_Mutex> &
00372 ACE_Map_Manager_Iterator_Adapter<T, KEY, VALUE>::impl (void)
00373 {
00374   return this->implementation_;
00375 }
00376 
00377 template <class T, class KEY, class VALUE> ACE_INLINE
00378 ACE_Map_Manager_Reverse_Iterator_Adapter<T, KEY, VALUE>::ACE_Map_Manager_Reverse_Iterator_Adapter (const ACE_Map_Reverse_Iterator<KEY, VALUE, ACE_Null_Mutex> &impl)
00379   : implementation_ (impl)
00380 {
00381 }
00382 
00383 template <class T, class KEY, class VALUE> ACE_INLINE ACE_Map_Reverse_Iterator<KEY, VALUE, ACE_Null_Mutex> &
00384 ACE_Map_Manager_Reverse_Iterator_Adapter<T, KEY, VALUE>::impl (void)
00385 {
00386   return this->implementation_;
00387 }
00388 
00389 template <class KEY, class VALUE, class KEY_GENERATOR> ACE_INLINE
00390 ACE_Map_Manager_Adapter<KEY, VALUE, KEY_GENERATOR>::ACE_Map_Manager_Adapter (ACE_Allocator *alloc)
00391   : implementation_ (alloc)
00392 {
00393 }
00394 
00395 template <class KEY, class VALUE, class KEY_GENERATOR> ACE_INLINE
00396 ACE_Map_Manager_Adapter<KEY, VALUE, KEY_GENERATOR>::ACE_Map_Manager_Adapter (size_t size,
00397                                                                              ACE_Allocator *alloc)
00398   : implementation_ (size,
00399                      alloc)
00400 {
00401 }
00402 
00403 template <class KEY, class VALUE, class KEY_GENERATOR> ACE_INLINE ACE_Map_Manager<KEY, VALUE, ACE_Null_Mutex> &
00404 ACE_Map_Manager_Adapter<KEY, VALUE, KEY_GENERATOR>::impl (void)
00405 {
00406   return this->implementation_;
00407 }
00408 
00409 template <class KEY, class VALUE, class KEY_GENERATOR> ACE_INLINE KEY_GENERATOR &
00410 ACE_Map_Manager_Adapter<KEY, VALUE, KEY_GENERATOR>::key_generator (void)
00411 {
00412   return this->key_generator_;
00413 }
00414 
00415 ACE_END_VERSIONED_NAMESPACE_DECL

Generated on Thu Nov 9 09:41:55 2006 for ACE by doxygen 1.3.6