Changes to attempt to silence bcc64x
[ACE_TAO.git] / ACE / ace / Array_Base.inl
blob5a5cef338ff616dddfed2c14090463dd8f189f89
1 // -*- C++ -*-
2 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
4 // Clean up the array (e.g., delete dynamically allocated memory).
5 template <class T> ACE_INLINE
6 ACE_Array_Base<T>::~ACE_Array_Base ()
8   ACE_DES_ARRAY_FREE (this->array_,
9                       this->max_size_,
10                       this->allocator_->free,
11                       T);
14 template <class T>
15 ACE_INLINE typename ACE_Array_Base<T>::iterator
16 ACE_Array_Base<T>::begin ()
18   return this->array_;
21 template <class T>
22 ACE_INLINE typename ACE_Array_Base<T>::iterator
23 ACE_Array_Base<T>::end ()
25   return this->array_ + this->cur_size_;
28 template <class T>
29 ACE_INLINE typename ACE_Array_Base<T>::const_iterator
30 ACE_Array_Base<T>::begin () const
32   return this->array_;
35 template <class T>
36 ACE_INLINE typename ACE_Array_Base<T>::const_iterator
37 ACE_Array_Base<T>::end () const
39   return this->array_ + this->cur_size_;
42 template <class T>
43 ACE_INLINE typename ACE_Array_Base<T>::reverse_iterator
44 ACE_Array_Base<T>::rbegin ()
46   return reverse_iterator (this->end ());
49 template <class T>
50 ACE_INLINE typename ACE_Array_Base<T>::reverse_iterator
51 ACE_Array_Base<T>::rend ()
53   return reverse_iterator (this->begin ());
56 template <class T>
57 ACE_INLINE typename ACE_Array_Base<T>::const_reverse_iterator
58 ACE_Array_Base<T>::rbegin () const
60   return const_reverse_iterator (this->end ());
63 template <class T>
64 ACE_INLINE typename ACE_Array_Base<T>::const_reverse_iterator
65 ACE_Array_Base<T>::rend () const
67   return const_reverse_iterator (this->begin ());
70 template <class T> ACE_INLINE typename ACE_Array_Base<T>::size_type
71 ACE_Array_Base<T>::size () const
73   return this->cur_size_;
76 template <class T> ACE_INLINE typename ACE_Array_Base<T>::size_type
77 ACE_Array_Base<T>::max_size () const
79   return this->max_size_;
82 template <class T> ACE_INLINE bool
83 ACE_Array_Base<T>::in_range (typename ACE_Array_Base<T>::size_type index) const
85   return index < this->cur_size_;
88 template <class T> ACE_INLINE T &
89 ACE_Array_Base<T>::operator[] (typename ACE_Array_Base<T>::size_type index)
91   return this->array_[index];
94 template <class T> ACE_INLINE const T &
95 ACE_Array_Base<T>::operator[] (typename ACE_Array_Base<T>::size_type index) const
97   return this->array_[index];
100 // ****************************************************************
102 template <class T> ACE_INLINE void
103 ACE_Array_Iterator<T>::dump () const
105 #if defined (ACE_HAS_DUMP)
106   // ACE_TRACE ("ACE_Array_Iterator<T>::dump");
107 #endif /* ACE_HAS_DUMP */
110 template <class T> ACE_INLINE
111 ACE_Array_Iterator<T>::ACE_Array_Iterator (ACE_Array_Base<T> &a)
112     : current_ (0),
113       array_ (a)
115   // ACE_TRACE ("ACE_Array_Iterator<T>::ACE_Array_Iterator");
118 template <class T> ACE_INLINE int
119 ACE_Array_Iterator<T>::advance ()
121   // ACE_TRACE ("ACE_Array_Iterator<T>::advance");
123   if (this->current_ < array_.size ())
124     {
125       ++this->current_;
126       return 1;
127     }
128   else
129     {
130       // Already finished iterating.
131       return 0;
132     }
135 template <class T> ACE_INLINE int
136 ACE_Array_Iterator<T>::done () const
138   ACE_TRACE ("ACE_Array_Iterator<T>::done");
140   return this->current_ >= array_.size ();
143 ACE_END_VERSIONED_NAMESPACE_DECL