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