1/*
2================================================================================
3    PROJECT:
4
5        John Eddy's Genetic Algorithms (JEGA)
6
7    CONTENTS:
8
9        Inline methods of class DesignTarget.
10
11    NOTES:
12
13        See notes of DesignTarget.hpp.
14
15    PROGRAMMERS:
16
17        John Eddy (jpeddy@sandia.gov) (JE)
18
19    ORGANIZATION:
20
21        Sandia National Laboratories
22
23    COPYRIGHT:
24
25        See the LICENSE file in the top level JEGA directory.
26
27    VERSION:
28
29        2.0.0
30
31    CHANGES:
32
33        Tue Dec 20 08:11:48 2005 - Original Version (JE)
34
35================================================================================
36*/
37
38
39
40
41/*
42================================================================================
43Document This File
44================================================================================
45*/
46/** \file
47 * \brief Contains the inline methods of the DesignTarget class.
48 */
49
50
51
52
53/*
54================================================================================
55Includes
56================================================================================
57*/
58
59
60
61
62
63
64
65
66/*
67================================================================================
68Begin Namespace
69================================================================================
70*/
71namespace JEGA {
72    namespace Utilities {
73
74
75
76
77
78/*
79================================================================================
80Inline Mutators
81================================================================================
82*/
83
84
85
86
87
88
89
90
91/*
92================================================================================
93Inline Accessors
94================================================================================
95*/
96
97inline
98bool
99DesignTarget::GetTrackDiscards(
100    ) const
101{
102    return this->_trackDiscards;
103}
104
105inline
106std::size_t
107DesignTarget::GetMaxGuffSize(
108    ) const
109{
110    return this->_maxGuffSize;
111}
112
113inline
114const DesignVariableInfoVector&
115DesignTarget::GetDesignVariableInfos(
116    ) const
117{
118    return this->_dvInfos;
119}
120
121inline
122const ConstraintInfoVector&
123DesignTarget::GetConstraintInfos(
124    ) const
125{
126    return this->_cnInfos;
127}
128
129inline
130const ObjectiveFunctionInfoVector&
131DesignTarget::GetObjectiveFunctionInfos(
132    ) const
133{
134    return this->_ofInfos;
135}
136
137inline
138std::size_t
139DesignTarget::GetNDV(
140    ) const
141{
142    return this->_dvInfos.size();
143}
144
145inline
146std::size_t
147DesignTarget::GetNOF(
148    ) const
149{
150    return this->_ofInfos.size();
151}
152
153inline
154std::size_t
155DesignTarget::GetNCN(
156    ) const
157{
158    return this->_cnInfos.size();
159}
160
161
162
163
164
165
166/*
167================================================================================
168Inline Public Methods
169================================================================================
170*/
171
172template <typename DesCont>
173inline
174void
175DesignTarget::TakeDesigns(
176    const DesCont& cont
177    )
178{
179    for(typename DesCont::const_iterator it(cont.begin());
180        it!=cont.end(); ++it) TakeDesign(*it);
181}
182
183
184
185
186
187
188
189/*
190================================================================================
191Inline Subclass Visible Methods
192================================================================================
193*/
194
195
196
197
198
199
200
201
202/*
203================================================================================
204Inline Private Methods
205================================================================================
206*/
207
208
209
210
211
212
213
214
215/*
216================================================================================
217Inline Structors
218================================================================================
219*/
220
221
222
223
224
225
226
227
228/*
229================================================================================
230End Namespace
231================================================================================
232*/
233    } // namespace Utilities
234} // namespace JEGA
235
236