Merge pull request #2309 from mitza-oci/warnings
[ACE_TAO.git] / ACE / ace / Map_T.inl
blob5400cfdde88a569261a6b832d8c4454a288df71d
1 // -*- C++ -*-
2 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
4 template <class T> ACE_INLINE int
5 ACE_Noop_Key_Generator<T>::operator() (T &)
7   return -1;
10 template <class T> ACE_INLINE int
11 ACE_Incremental_Key_Generator<T>::operator() (T &t)
13   t = ++this->t_;
14   return 0;
17 template <class T> ACE_INLINE const T &
18 ACE_Incremental_Key_Generator<T>::current_value () const
20   return this->t_;
23 template <class T> ACE_INLINE
24 ACE_Iterator<T>::ACE_Iterator (ACE_Iterator_Impl<T> *impl)
25   : implementation_ (impl)
29 template <class T> ACE_INLINE
30 ACE_Iterator<T>::ACE_Iterator (const ACE_Iterator<T> &rhs)
31   : implementation_ (rhs.implementation_->clone ())
35 template <class T> ACE_INLINE
36 ACE_Iterator<T>::~ACE_Iterator ()
38   delete this->implementation_;
41 template <class T> ACE_INLINE ACE_Iterator<T> &
42 ACE_Iterator<T>::operator= (const ACE_Iterator<T> &rhs)
44   delete this->implementation_;
45   this->implementation_ = rhs.implementation_->clone ();
46   return *this;
49 template <class T> ACE_INLINE bool
50 ACE_Iterator<T>::operator== (const ACE_Iterator<T> &rhs) const
52   return this->implementation_->compare (*rhs.implementation_);
55 template <class T> ACE_INLINE bool
56 ACE_Iterator<T>::operator!= (const ACE_Iterator<T> &rhs) const
58   return !this->operator== (rhs);
61 template <class T> ACE_INLINE T
62 ACE_Iterator<T>::operator* () const
64   return this->implementation_->dereference ();
67 template <class T> ACE_INLINE ACE_Iterator<T> &
68 ACE_Iterator<T>::operator++ ()
70   this->implementation_->plus_plus ();
71   return *this;
74 template <class T> ACE_INLINE ACE_Iterator<T>
75 ACE_Iterator<T>::operator++ (int)
77   ACE_Iterator<T> tmp = *this;
78   this->implementation_->plus_plus ();
79   return tmp;
82 template <class T> ACE_INLINE ACE_Iterator<T> &
83 ACE_Iterator<T>::operator-- ()
85   this->implementation_->minus_minus ();
86   return *this;
89 template <class T> ACE_INLINE ACE_Iterator<T>
90 ACE_Iterator<T>::operator-- (int)
92   ACE_Iterator<T> tmp = *this;
93   this->implementation_->minus_minus ();
94   return tmp;
97 template <class T> ACE_INLINE ACE_Iterator_Impl<T> &
98 ACE_Iterator<T>::impl ()
100   return *this->implementation_;
103 template <class T> ACE_INLINE
104 ACE_Reverse_Iterator<T>::ACE_Reverse_Iterator (ACE_Reverse_Iterator_Impl<T> *impl)
105   : implementation_ (impl)
109 template <class T> ACE_INLINE
110 ACE_Reverse_Iterator<T>::ACE_Reverse_Iterator (const ACE_Reverse_Iterator<T> &rhs)
111   : implementation_ (rhs.implementation_->clone ())
115 template <class T> ACE_INLINE
116 ACE_Reverse_Iterator<T>::~ACE_Reverse_Iterator ()
118   delete this->implementation_;
121 template <class T> ACE_INLINE ACE_Reverse_Iterator<T> &
122 ACE_Reverse_Iterator<T>::operator= (const ACE_Reverse_Iterator<T> &rhs)
124   delete this->implementation_;
125   this->implementation_ = rhs.implementation_->clone ();
126   return *this;
129 template <class T> ACE_INLINE bool
130 ACE_Reverse_Iterator<T>::operator== (const ACE_Reverse_Iterator<T> &rhs) const
132   return this->implementation_->compare (*rhs.implementation_);
135 template <class T> ACE_INLINE bool
136 ACE_Reverse_Iterator<T>::operator!= (const ACE_Reverse_Iterator<T> &rhs) const
138   return !this->operator== (rhs);
141 template <class T> ACE_INLINE T
142 ACE_Reverse_Iterator<T>::operator* () const
144   return this->implementation_->dereference ();
147 template <class T> ACE_INLINE ACE_Reverse_Iterator<T> &
148 ACE_Reverse_Iterator<T>::operator++ ()
150   this->implementation_->plus_plus ();
151   return *this;
154 template <class T> ACE_INLINE ACE_Reverse_Iterator<T>
155 ACE_Reverse_Iterator<T>::operator++ (int)
157   ACE_Reverse_Iterator<T> tmp = *this;
158   this->implementation_->plus_plus ();
159   return tmp;
162 template <class T> ACE_INLINE ACE_Reverse_Iterator<T> &
163 ACE_Reverse_Iterator<T>::operator-- ()
165   this->implementation_->minus_minus ();
166   return *this;
169 template <class T> ACE_INLINE ACE_Reverse_Iterator<T>
170 ACE_Reverse_Iterator<T>::operator-- (int)
172   ACE_Reverse_Iterator<T> tmp = *this;
173   this->implementation_->minus_minus ();
174   return tmp;
177 template <class T> ACE_INLINE ACE_Reverse_Iterator_Impl<T> &
178 ACE_Reverse_Iterator<T>::impl ()
180   return *this->implementation_;
183 template <class KEY, class VALUE> ACE_INLINE ACE_Iterator<ACE_Reference_Pair<const KEY, VALUE> >
184 ACE_Map<KEY, VALUE>::begin ()
186   return iterator (this->begin_impl ());
189 template <class KEY, class VALUE> ACE_INLINE ACE_Iterator<ACE_Reference_Pair<const KEY, VALUE> >
190 ACE_Map<KEY, VALUE>::end ()
192   return iterator (this->end_impl ());
195 template <class KEY, class VALUE> ACE_INLINE ACE_Reverse_Iterator<ACE_Reference_Pair<const KEY, VALUE> >
196 ACE_Map<KEY, VALUE>::rbegin ()
198   return reverse_iterator (this->rbegin_impl ());
201 template <class KEY, class VALUE> ACE_INLINE ACE_Reverse_Iterator<ACE_Reference_Pair<const KEY, VALUE> >
202 ACE_Map<KEY, VALUE>::rend ()
204   return reverse_iterator (this->rend_impl ());
207 template <class T, class IMPLEMENTATION, class ENTRY> ACE_INLINE
208 ACE_Map_Impl_Iterator_Adapter<T, IMPLEMENTATION, ENTRY>::ACE_Map_Impl_Iterator_Adapter (const IMPLEMENTATION &impl)
209   : implementation_ (impl)
213 template <class T, class IMPLEMENTATION, class ENTRY> ACE_INLINE IMPLEMENTATION &
214 ACE_Map_Impl_Iterator_Adapter<T, IMPLEMENTATION, ENTRY>::impl ()
216   return this->implementation_;
219 template <class T, class IMPLEMENTATION, class ENTRY> ACE_INLINE
220 ACE_Map_Impl_Reverse_Iterator_Adapter<T, IMPLEMENTATION, ENTRY>::ACE_Map_Impl_Reverse_Iterator_Adapter (const IMPLEMENTATION &impl)
221   : implementation_ (impl)
225 template <class T, class IMPLEMENTATION, class ENTRY> ACE_INLINE IMPLEMENTATION &
226 ACE_Map_Impl_Reverse_Iterator_Adapter<T, IMPLEMENTATION, ENTRY>::impl ()
228   return this->implementation_;
231 template <class KEY, class VALUE, class IMPLEMENTATION, class ITERATOR, class REVERSE_ITERATOR, class ENTRY> ACE_INLINE
232 ACE_Map_Impl<KEY, VALUE, IMPLEMENTATION, ITERATOR, REVERSE_ITERATOR, ENTRY>::ACE_Map_Impl (ACE_Allocator *alloc)
233   : implementation_ (alloc)
237 template <class KEY, class VALUE, class IMPLEMENTATION, class ITERATOR, class REVERSE_ITERATOR, class ENTRY> ACE_INLINE
238 ACE_Map_Impl<KEY, VALUE, IMPLEMENTATION, ITERATOR, REVERSE_ITERATOR, ENTRY>::ACE_Map_Impl (size_t size,
239                                                                                            ACE_Allocator *alloc)
240   : implementation_ (size,
241                      alloc)
245 template <class KEY, class VALUE, class IMPLEMENTATION, class ITERATOR, class REVERSE_ITERATOR, class ENTRY> ACE_INLINE IMPLEMENTATION &
246 ACE_Map_Impl<KEY, VALUE, IMPLEMENTATION, ITERATOR, REVERSE_ITERATOR, ENTRY>::impl ()
248   return this->implementation_;
251 template <class T, class VALUE> ACE_INLINE
252 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)
253   : implementation_ (impl)
257 template <class T, class VALUE> ACE_INLINE ACE_Map_Iterator<ACE_Active_Map_Manager_Key, VALUE, ACE_Null_Mutex> &
258 ACE_Active_Map_Manager_Iterator_Adapter<T, VALUE>::impl ()
260   return this->implementation_;
263 template <class T, class VALUE> ACE_INLINE
264 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)
265   : implementation_ (impl)
269 template <class T, class VALUE> ACE_INLINE ACE_Map_Reverse_Iterator<ACE_Active_Map_Manager_Key, VALUE, ACE_Null_Mutex> &
270 ACE_Active_Map_Manager_Reverse_Iterator_Adapter<T, VALUE>::impl ()
272   return this->implementation_;
275 template <class KEY, class VALUE, class KEY_ADAPTER> ACE_INLINE
276 ACE_Active_Map_Manager_Adapter<KEY, VALUE, KEY_ADAPTER>::ACE_Active_Map_Manager_Adapter (ACE_Allocator *alloc)
277   : implementation_ (alloc)
281 template <class KEY, class VALUE, class KEY_ADAPTER> ACE_INLINE
282 ACE_Active_Map_Manager_Adapter<KEY, VALUE, KEY_ADAPTER>::ACE_Active_Map_Manager_Adapter (size_t size,
283                                                                                          ACE_Allocator *alloc)
284   : implementation_ (size,
285                      alloc)
289 template <class KEY, class VALUE, class KEY_ADAPTER> ACE_INLINE ACE_Active_Map_Manager<std::pair<KEY, VALUE> > &
290 ACE_Active_Map_Manager_Adapter<KEY, VALUE, KEY_ADAPTER>::impl ()
292   return this->implementation_;
295 template <class KEY, class VALUE, class KEY_ADAPTER> ACE_INLINE KEY_ADAPTER &
296 ACE_Active_Map_Manager_Adapter<KEY, VALUE, KEY_ADAPTER>::key_adapter ()
298   return this->key_adapter_;
301 template <class T, class KEY, class VALUE, class HASH_KEY, class COMPARE_KEYS> ACE_INLINE
302 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)
303   : implementation_ (impl)
307 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> &
308 ACE_Hash_Map_Manager_Ex_Iterator_Adapter<T, KEY, VALUE, HASH_KEY, COMPARE_KEYS>::impl ()
310   return this->implementation_;
313 template <class T, class KEY, class VALUE, class HASH_KEY, class COMPARE_KEYS> ACE_INLINE
314 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)
315   : implementation_ (impl)
319 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> &
320 ACE_Hash_Map_Manager_Ex_Reverse_Iterator_Adapter<T, KEY, VALUE, HASH_KEY, COMPARE_KEYS>::impl ()
322   return this->implementation_;
325 template <class KEY, class VALUE, class HASH_KEY, class COMPARE_KEYS, class KEY_GENERATOR> ACE_INLINE
326 ACE_Hash_Map_Manager_Ex_Adapter<KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR>::ACE_Hash_Map_Manager_Ex_Adapter (ACE_Allocator *alloc)
327   : implementation_ (alloc)
331 template <class KEY, class VALUE, class HASH_KEY, class COMPARE_KEYS, class KEY_GENERATOR> ACE_INLINE
332 ACE_Hash_Map_Manager_Ex_Adapter<KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR>::ACE_Hash_Map_Manager_Ex_Adapter (size_t size,
333                                                                                                                      ACE_Allocator *alloc)
334   : implementation_ (size,
335                      alloc)
339 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> &
340 ACE_Hash_Map_Manager_Ex_Adapter<KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR>::impl ()
342   return this->implementation_;
345 template <class KEY, class VALUE, class HASH_KEY, class COMPARE_KEYS, class KEY_GENERATOR> ACE_INLINE KEY_GENERATOR &
346 ACE_Hash_Map_Manager_Ex_Adapter<KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR>::key_generator ()
348   return this->key_generator_;
351 template <class T, class KEY, class VALUE> ACE_INLINE
352 ACE_Map_Manager_Iterator_Adapter<T, KEY, VALUE>::ACE_Map_Manager_Iterator_Adapter (const ACE_Map_Iterator<KEY, VALUE, ACE_Null_Mutex> &impl)
353   : implementation_ (impl)
357 template <class T, class KEY, class VALUE> ACE_INLINE ACE_Map_Iterator<KEY, VALUE, ACE_Null_Mutex> &
358 ACE_Map_Manager_Iterator_Adapter<T, KEY, VALUE>::impl ()
360   return this->implementation_;
363 template <class T, class KEY, class VALUE> ACE_INLINE
364 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)
365   : implementation_ (impl)
369 template <class T, class KEY, class VALUE> ACE_INLINE ACE_Map_Reverse_Iterator<KEY, VALUE, ACE_Null_Mutex> &
370 ACE_Map_Manager_Reverse_Iterator_Adapter<T, KEY, VALUE>::impl ()
372   return this->implementation_;
375 template <class KEY, class VALUE, class KEY_GENERATOR> ACE_INLINE
376 ACE_Map_Manager_Adapter<KEY, VALUE, KEY_GENERATOR>::ACE_Map_Manager_Adapter (ACE_Allocator *alloc)
377   : implementation_ (alloc)
381 template <class KEY, class VALUE, class KEY_GENERATOR> ACE_INLINE
382 ACE_Map_Manager_Adapter<KEY, VALUE, KEY_GENERATOR>::ACE_Map_Manager_Adapter (size_t size,
383                                                                              ACE_Allocator *alloc)
384   : implementation_ (size,
385                      alloc)
389 template <class KEY, class VALUE, class KEY_GENERATOR> ACE_INLINE ACE_Map_Manager<KEY, VALUE, ACE_Null_Mutex> &
390 ACE_Map_Manager_Adapter<KEY, VALUE, KEY_GENERATOR>::impl ()
392   return this->implementation_;
395 template <class KEY, class VALUE, class KEY_GENERATOR> ACE_INLINE KEY_GENERATOR &
396 ACE_Map_Manager_Adapter<KEY, VALUE, KEY_GENERATOR>::key_generator ()
398   return this->key_generator_;
401 ACE_END_VERSIONED_NAMESPACE_DECL