diff options
author | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2001-03-26 21:18:51 +0000 |
---|---|---|
committer | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2001-03-26 21:18:51 +0000 |
commit | dc7b47e328ac184eed767b8287f918a46eb5d68e (patch) | |
tree | d2a03a59e7a8e39f4aeef13f0b7eb07b589b076c /ace/Array_Base.inl | |
parent | 91a94f0f3fa63a897d5556805a23dee7a8bba7fb (diff) | |
download | ATCD-dc7b47e328ac184eed767b8287f918a46eb5d68e.tar.gz |
ChangeLogTag:Mon Mar 26 13:00:37 2001 Carlos O'Ryan <coryan@uci.edu>
Diffstat (limited to 'ace/Array_Base.inl')
-rw-r--r-- | ace/Array_Base.inl | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/ace/Array_Base.inl b/ace/Array_Base.inl new file mode 100644 index 00000000000..b682fec615f --- /dev/null +++ b/ace/Array_Base.inl @@ -0,0 +1,84 @@ +/* -*- C++ -*- */ +// $Id$ + +// Clean up the array (e.g., delete dynamically allocated memory). + +template <class T> ACE_INLINE +ACE_Array_Base<T>::~ACE_Array_Base (void) +{ + ACE_DES_ARRAY_FREE (this->array_, + this->max_size_, + this->allocator_->free, + T); +} + +template <class T> ACE_INLINE size_t +ACE_Array_Base<T>::size (void) const +{ + return this->cur_size_; +} + +template <class T> ACE_INLINE size_t +ACE_Array_Base<T>::max_size (void) const +{ + return this->max_size_; +} + +template <class T> ACE_INLINE int +ACE_Array_Base<T>::in_range (size_t index) const +{ + return index < this->cur_size_; +} + +template <class T> ACE_INLINE T & +ACE_Array_Base<T>::operator[] (size_t index) +{ + return this->array_[index]; +} + +template <class T> ACE_INLINE const T & +ACE_Array_Base<T>::operator[] (size_t index) const +{ + return this->array_[index]; +} + +// **************************************************************** + +template <class T> ACE_INLINE void +ACE_Array_Iterator<T>::dump (void) const +{ + // ACE_TRACE ("ACE_Array_Iterator<T>::dump"); +} + +template <class T> ACE_INLINE +ACE_Array_Iterator<T>::ACE_Array_Iterator (ACE_Array_Base<T> &a) + : current_ (0), + array_ (a) +{ + // ACE_TRACE ("ACE_Array_Iterator<T>::ACE_Array_Iterator"); +} + +template <class T> ACE_INLINE int +ACE_Array_Iterator<T>::advance (void) +{ + // ACE_TRACE ("ACE_Array_Iterator<T>::advance"); + + if (this->current_ < array_.size ()) + { + ++this->current_; + return 1; + } + else + { + // Already finished iterating. + return 0; + } +} + +template <class T> ACE_INLINE int +ACE_Array_Iterator<T>::done (void) const +{ + ACE_TRACE ("ACE_Array_Iterator<T>::done"); + + return this->current_ >= array_.size (); +} |