#ifndef ACE_VECTOR_T_CPP #define ACE_VECTOR_T_CPP #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ #include "ace/Vector_T.h" #if !defined (__ACE_INLINE__) #include "ace/Vector_T.inl" #endif /* __ACE_INLINE__ */ ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_ALLOC_HOOK_DEFINE_Tcs(ACE_Vector) template void ACE_Vector::resize (const size_t new_size, const T& t) { ACE_Array::size (new_size); if (new_size > length_) for (size_t i = length_; i < new_size; ++i) (*this)[i]=t; curr_max_size_ = this->max_size (); length_ = new_size; } template void ACE_Vector::push_back (const T& elem) { if (length_ == curr_max_size_) { ACE_Array::size (curr_max_size_ * 2); curr_max_size_ = this->max_size (); } else ACE_Array::size (length_ + 1); ++length_; (*this)[length_-1] = elem; } template void ACE_Vector::dump () const { } // Compare this vector with for equality. template bool ACE_Vector::operator== (const ACE_Vector &s) const { if (this == &s) return true; else if (this->size () != s.size ()) return false; const size_t len = s.size (); for (size_t slot = 0; slot < len; ++slot) if ((*this)[slot] != s[slot]) return false; return true; } // **************************************************************** ACE_ALLOC_HOOK_DEFINE_Tcs(ACE_Vector_Iterator) template int ACE_Vector_Iterator::next (T *&item) { // ACE_TRACE ("ACE_Vector_Iterator::next"); if (this->done ()) { item = 0; return 0; } else { item = &vector_[current_]; return 1; } } ACE_END_VERSIONED_NAMESPACE_DECL #endif /* ACE_VECTOR_T_CPP */