[7297] Fixed profession spells sorting in trainer spell list at client.
[getmangos.git] / dep / ACE_wrappers / ace / Array_Map.inl
blobb053dc0a44145b0a411af584c0d0ca1aa2a97b8c
1 // -*- C++ -*-
2 //
3 // $Id: Array_Map.inl 80826 2008-03-04 14:51:23Z wotte $
5 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
7 template<typename Key, typename Value, class EqualTo>
8 ACE_INLINE
9 ACE_Array_Map<Key, Value, EqualTo>::ACE_Array_Map (
10   typename ACE_Array_Map<Key, Value, EqualTo>::size_type s)
11   : size_ (0)
12   , capacity_ (s)
13   , nodes_ (s == 0 ? 0 : new value_type[s])
17 template<typename Key, typename Value, class EqualTo>
18 ACE_INLINE ACE_Array_Map<Key, Value, EqualTo> &
19 ACE_Array_Map<Key, Value, EqualTo>::operator= (
20   ACE_Array_Map<Key, Value, EqualTo> const & map)
22   // Strongly exception-safe assignment.
24   ACE_Array_Map<Key, Value, EqualTo> temp (map);
25   this->swap (temp);
26   return *this;
29 template<typename Key, typename Value, class EqualTo>
30 ACE_INLINE typename ACE_Array_Map<Key, Value, EqualTo>::iterator
31 ACE_Array_Map<Key, Value, EqualTo>::begin (void)
33   return this->nodes_;
36 template<typename Key, typename Value, class EqualTo>
37 ACE_INLINE typename ACE_Array_Map<Key, Value, EqualTo>::iterator
38 ACE_Array_Map<Key, Value, EqualTo>::end (void)
40   return this->nodes_ + this->size_;
43 template<typename Key, typename Value, class EqualTo>
44 ACE_INLINE typename ACE_Array_Map<Key, Value, EqualTo>::const_iterator
45 ACE_Array_Map<Key, Value, EqualTo>::begin (void) const
47   return this->nodes_;
50 template<typename Key, typename Value, class EqualTo>
51 ACE_INLINE typename ACE_Array_Map<Key, Value, EqualTo>::const_iterator
52 ACE_Array_Map<Key, Value, EqualTo>::end (void) const
54   return this->nodes_ + this->size_;
57 template<typename Key, typename Value, class EqualTo>
58 ACE_INLINE typename ACE_Array_Map<Key, Value, EqualTo>::reverse_iterator
59 ACE_Array_Map<Key, Value, EqualTo>::rbegin (void)
61   return reverse_iterator (this->end ());
64 template<typename Key, typename Value, class EqualTo>
65 ACE_INLINE typename ACE_Array_Map<Key, Value, EqualTo>::reverse_iterator
66 ACE_Array_Map<Key, Value, EqualTo>::rend (void)
68   return reverse_iterator (this->begin ());
71 template<typename Key, typename Value, class EqualTo>
72 ACE_INLINE typename ACE_Array_Map<Key, Value, EqualTo>::const_reverse_iterator
73 ACE_Array_Map<Key, Value, EqualTo>::rbegin (void) const
75   return const_reverse_iterator (this->end ());
78 template<typename Key, typename Value, class EqualTo>
79 ACE_INLINE typename ACE_Array_Map<Key, Value, EqualTo>::const_reverse_iterator
80 ACE_Array_Map<Key, Value, EqualTo>::rend (void) const
82   return const_reverse_iterator (this->begin ());
85 template<typename Key, typename Value, class EqualTo>
86 ACE_INLINE typename ACE_Array_Map<Key, Value, EqualTo>::size_type
87 ACE_Array_Map<Key, Value, EqualTo>::size (void) const
89   return this->size_;
92 template<typename Key, typename Value, class EqualTo>
93 ACE_INLINE typename ACE_Array_Map<Key, Value, EqualTo>::size_type
94 ACE_Array_Map<Key, Value, EqualTo>::max_size (void) const
96   return size_type (-1) / sizeof (value_type);
99 template<typename Key, typename Value, class EqualTo>
100 ACE_INLINE bool
101 ACE_Array_Map<Key, Value, EqualTo>::is_empty (void) const
103   return this->size_ == 0;
106 // The following method is deprecated.
108 template<typename Key, typename Value, class EqualTo>
109 ACE_INLINE bool
110 ACE_Array_Map<Key, Value, EqualTo>::empty (void) const
112   return this->is_empty ();
115 template<typename Key, typename Value, class EqualTo>
116 ACE_INLINE typename ACE_Array_Map<Key, Value, EqualTo>::size_type
117 ACE_Array_Map<Key, Value, EqualTo>::count (
118   typename ACE_Array_Map<Key, Value, EqualTo>::key_type const & k)
120   return
121     (this->find (k) == this->end () ? 0 : 1); // Only one datum per key.
124 template<typename Key, typename Value, class EqualTo>
125 ACE_INLINE typename ACE_Array_Map<Key, Value, EqualTo>::data_type &
126 ACE_Array_Map<Key, Value, EqualTo>::operator[] (
127   typename ACE_Array_Map<Key, Value, EqualTo>::key_type const & k)
129   iterator i = (this->insert (value_type (k, data_type ()))).first;
130   return (*i).second;
133 ACE_END_VERSIONED_NAMESPACE_DECL