YAPOG
0.0.1
Yet Another Pokemon Online Game
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
List.hxx
Go to the documentation of this file.
1
#ifndef YAPOG_LIST_HXX
2
# define YAPOG_LIST_HXX
3
4
# include <algorithm>
5
6
namespace
yap
7
{
8
namespace
collection
9
{
10
template
<
typename
T>
11
inline
List<T>::List
()
12
: data_ ()
13
{
14
}
15
16
template
<
typename
T>
17
inline
List<T>::List
(
const
List<T>
& copy)
18
: data_ (copy.data_)
19
{
20
}
21
22
template
<
typename
T>
23
inline
List<T>
&
List<T>::operator=
(
const
List<T>
& copy)
24
{
25
if
(© ==
this
)
26
return
*
this
;
27
28
data_ = copy.
data_
;
29
30
return
*
this
;
31
}
32
33
template
<
typename
T>
34
inline
typename
List<T>::ItType
List<T>::begin
()
35
{
36
return
data_.begin ();
37
}
38
39
template
<
typename
T>
40
inline
typename
List<T>::ConstItType
List<T>::begin
()
const
41
{
42
return
data_.begin ();
43
}
44
45
template
<
typename
T>
46
inline
typename
List<T>::ItType
List<T>::Begin
()
47
{
48
return
begin ();
49
}
50
51
template
<
typename
T>
52
inline
typename
List<T>::ConstItType
List<T>::Begin
()
const
53
{
54
return
begin ();
55
}
56
57
template
<
typename
T>
58
inline
typename
List<T>::ItType
List<T>::end
()
59
{
60
return
data_.end ();
61
}
62
63
template
<
typename
T>
64
inline
typename
List<T>::ConstItType
List<T>::end
()
const
65
{
66
return
data_.end ();
67
}
68
69
template
<
typename
T>
70
inline
typename
List<T>::ItType
List<T>::End
()
71
{
72
return
end ();
73
}
74
75
template
<
typename
T>
76
inline
typename
List<T>::ConstItType
List<T>::End
()
const
77
{
78
return
end ();
79
}
80
81
template
<
typename
T>
82
inline
void
List<T>::Add
(
const
T& data)
83
{
84
data_.push_back (data);
85
}
86
87
template
<
typename
T>
88
inline
void
List<T>::Add
(
const
List<T>
& data)
89
{
90
data_.insert (End (), data.
Begin
(), data.
End
());
91
}
92
93
template
<
typename
T>
94
inline
void
List<T>::AddFront
(
const
T& data)
95
{
96
data_.push_front (data);
97
}
98
99
template
<
typename
T>
100
inline
void
List<T>::AddFront
(
const
List<T>
& data)
101
{
102
data_.insert (Begin (), data.
Begin
(), data.
End
());
103
}
104
105
template
<
typename
T>
106
inline
bool
List<T>::Contains
(
const
T& data)
const
107
{
108
return
std::find (Begin (), End (), data) != End ();
109
}
110
111
template
<
typename
T>
112
inline
bool
List<T>::Contains
(
const
List<T>
& data)
const
113
{
114
for
(
const
T& t : *
this
)
115
if
(Contains (t))
116
return
true
;
117
118
return
false
;
119
}
120
121
template
<
typename
T>
122
inline
void
List<T>::Remove
(
const
T& data)
123
{
124
data_.remove (data);
125
}
126
127
template
<
typename
T>
128
inline
void
List<T>::RemoveFront
()
129
{
130
if
(IsEmpty ())
131
return
;
132
133
data_.pop_front ();
134
}
135
136
template
<
typename
T>
137
inline
void
List<T>::RemoveBack
()
138
{
139
if
(IsEmpty ())
140
return
;
141
142
data_.pop_back ();
143
}
144
145
template
<
typename
T>
146
inline
void
List<T>::Clear
()
147
{
148
data_.clear ();
149
}
150
151
template
<
typename
T>
152
inline
bool
List<T>::IsEmpty
()
const
153
{
154
return
data_.empty ();
155
}
156
157
template
<
typename
T>
158
inline
typename
List<T>::SizeType
List<T>::Count
()
const
159
{
160
return
data_.size ();
161
}
162
163
template
<
typename
T>
164
template
<
typename
C>
165
inline
void
List<T>::Sort
()
166
{
167
data_.sort (C ());
168
}
169
}
// namespace collection
170
}
// namespace yap
171
172
#endif // YAPOG_LIST_HXX
YAPOG
include
YAPOG
Collection
List.hxx
Generated on Mon Sep 17 2012 22:24:22 for YAPOG by
1.8.1.1