// -*- C++ -*- // // $Id: Array_Map.inl 80826 2008-03-04 14:51:23Z wotte $ ACE_BEGIN_VERSIONED_NAMESPACE_DECL template ACE_INLINE ACE_Array_Map::ACE_Array_Map ( typename ACE_Array_Map::size_type s) : size_ (0) , capacity_ (s) , nodes_ (s == 0 ? 0 : new value_type[s]) { } template ACE_INLINE ACE_Array_Map & ACE_Array_Map::operator= ( ACE_Array_Map const & map) { // Strongly exception-safe assignment. ACE_Array_Map temp (map); this->swap (temp); return *this; } template ACE_INLINE typename ACE_Array_Map::iterator ACE_Array_Map::begin (void) { return this->nodes_; } template ACE_INLINE typename ACE_Array_Map::iterator ACE_Array_Map::end (void) { return this->nodes_ + this->size_; } template ACE_INLINE typename ACE_Array_Map::const_iterator ACE_Array_Map::begin (void) const { return this->nodes_; } template ACE_INLINE typename ACE_Array_Map::const_iterator ACE_Array_Map::end (void) const { return this->nodes_ + this->size_; } template ACE_INLINE typename ACE_Array_Map::reverse_iterator ACE_Array_Map::rbegin (void) { return reverse_iterator (this->end ()); } template ACE_INLINE typename ACE_Array_Map::reverse_iterator ACE_Array_Map::rend (void) { return reverse_iterator (this->begin ()); } template ACE_INLINE typename ACE_Array_Map::const_reverse_iterator ACE_Array_Map::rbegin (void) const { return const_reverse_iterator (this->end ()); } template ACE_INLINE typename ACE_Array_Map::const_reverse_iterator ACE_Array_Map::rend (void) const { return const_reverse_iterator (this->begin ()); } template ACE_INLINE typename ACE_Array_Map::size_type ACE_Array_Map::size (void) const { return this->size_; } template ACE_INLINE typename ACE_Array_Map::size_type ACE_Array_Map::max_size (void) const { return size_type (-1) / sizeof (value_type); } template ACE_INLINE bool ACE_Array_Map::is_empty (void) const { return this->size_ == 0; } // The following method is deprecated. template ACE_INLINE bool ACE_Array_Map::empty (void) const { return this->is_empty (); } template ACE_INLINE typename ACE_Array_Map::size_type ACE_Array_Map::count ( typename ACE_Array_Map::key_type const & k) { return (this->find (k) == this->end () ? 0 : 1); // Only one datum per key. } template ACE_INLINE typename ACE_Array_Map::data_type & ACE_Array_Map::operator[] ( typename ACE_Array_Map::key_type const & k) { iterator i = (this->insert (value_type (k, data_type ()))).first; return (*i).second; } ACE_END_VERSIONED_NAMESPACE_DECL