Changes in src/molecule_template.hpp [273382:d74077]
- File:
-
- 1 edited
-
src/molecule_template.hpp (modified) (20 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/molecule_template.hpp
r273382 rd74077 19 19 /********************************************** declarations *******************************/ 20 20 21 // ================== Acting on all Vectors ========================== //22 23 // zero arguments24 template <typename res> void molecule::ActOnAllVectors( res (Vector::*f)() ) const25 {26 atom *Walker = start;27 while (Walker->next != end) {28 Walker = Walker->next;29 ((Walker->node)->*f)();30 }31 };32 template <typename res> void molecule::ActOnAllVectors( res (Vector::*f)() const ) const33 {34 atom *Walker = start;35 while (Walker->next != end) {36 Walker = Walker->next;37 ((Walker->node)->*f)();38 }39 };40 // one argument41 template <typename res, typename T> void molecule::ActOnAllVectors( res (Vector::*f)(T), T t ) const42 {43 atom *Walker = start;44 while (Walker->next != end) {45 Walker = Walker->next;46 ((Walker->node)->*f)(t);47 }48 };49 template <typename res, typename T> void molecule::ActOnAllVectors( res (Vector::*f)(T) const, T t ) const50 {51 atom *Walker = start;52 while (Walker->next != end) {53 Walker = Walker->next;54 ((Walker->node)->*f)(t);55 }56 };57 template <typename res, typename T> void molecule::ActOnAllVectors( res (Vector::*f)(T&), T &t ) const58 {59 atom *Walker = start;60 while (Walker->next != end) {61 Walker = Walker->next;62 ((Walker->node)->*f)(t);63 }64 };65 template <typename res, typename T> void molecule::ActOnAllVectors( res (Vector::*f)(T&) const, T &t ) const66 {67 atom *Walker = start;68 while (Walker->next != end) {69 Walker = Walker->next;70 ((Walker->node)->*f)(t);71 }72 };73 // two arguments74 template <typename res, typename T, typename U> void molecule::ActOnAllVectors( res (Vector::*f)(T, U), T t, U u ) const75 {76 atom *Walker = start;77 while (Walker->next != end) {78 Walker = Walker->next;79 ((Walker->node)->*f)(t, u);80 }81 };82 template <typename res, typename T, typename U> void molecule::ActOnAllVectors( res (Vector::*f)(T, U) const, T t, U u ) const83 {84 atom *Walker = start;85 while (Walker->next != end) {86 Walker = Walker->next;87 ((Walker->node)->*f)(t, u);88 }89 };90 // three arguments91 template <typename res, typename T, typename U, typename V> void molecule::ActOnAllVectors( res (Vector::*f)(T, U, V), T t, U u, V v) const92 {93 atom *Walker = start;94 while (Walker->next != end) {95 Walker = Walker->next;96 ((Walker->node)->*f)(t, u, v);97 }98 };99 template <typename res, typename T, typename U, typename V> void molecule::ActOnAllVectors( res (Vector::*f)(T, U, V) const, T t, U u, V v) const100 {101 atom *Walker = start;102 while (Walker->next != end) {103 Walker = Walker->next;104 ((Walker->node)->*f)(t, u, v);105 }106 };107 21 108 22 // ========================= Summing over each Atoms =================================== // … … 112 26 { 113 27 res result = 0; 114 atom *Walker = start; 115 while (Walker->next != end) { 116 Walker = Walker->next; 117 result += (Walker->*f)(); 28 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 29 result += ((*iter)->*f)(); 118 30 } 119 31 return result; … … 122 34 { 123 35 res result = 0; 124 atom *Walker = start; 125 while (Walker->next != end) { 126 Walker = Walker->next; 127 result += (Walker->*f)(); 36 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 37 result += ((*iter)->*f)(); 128 38 } 129 39 return result; … … 133 43 { 134 44 res result = 0; 135 atom *Walker = start; 136 while (Walker->next != end) { 137 Walker = Walker->next; 138 result += (Walker->*f)(t); 45 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 46 result += ((*iter)->*f)(t); 139 47 } 140 48 return result; … … 143 51 { 144 52 res result = 0; 145 atom *Walker = start; 146 while (Walker->next != end) { 147 Walker = Walker->next; 148 result += (Walker->*f)(t); 53 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 54 result += ((*iter)->*f)(t); 149 55 } 150 56 return result; … … 157 63 template <typename res> void molecule::ActWithEachAtom( res (molecule::*f)(atom *)) const 158 64 { 159 atom *Walker = start; 160 while (Walker->next != end) { 161 Walker = Walker->next; 162 (*f)(Walker); 65 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 66 (*f)((*iter)); 163 67 } 164 68 }; 165 69 template <typename res> void molecule::ActWithEachAtom( res (molecule::*f)(atom *) const) const 166 70 { 167 atom *Walker = start; 168 while (Walker->next != end) { 169 Walker = Walker->next; 170 (*f)(Walker); 71 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 72 (*f)((*iter)); 171 73 } 172 74 }; … … 177 79 template <typename res> void molecule::ActOnCopyWithEachAtom( res (molecule::*f)(atom *) , molecule *copy) const 178 80 { 179 atom *Walker = start; 180 while (Walker->next != end) { 181 Walker = Walker->next; 182 (copy->*f)(Walker); 81 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 82 (copy->*f)((*iter)); 183 83 } 184 84 }; 185 85 template <typename res> void molecule::ActOnCopyWithEachAtom( res (molecule::*f)(atom *) const, molecule *copy) const 186 86 { 187 atom *Walker = start; 188 while (Walker->next != end) { 189 Walker = Walker->next; 190 (copy->*f)(Walker); 87 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 88 (copy->*f)((*iter)); 191 89 } 192 90 }; … … 197 95 template <typename res> void molecule::ActOnCopyWithEachAtomIfTrue( res (molecule::*f)(atom *) , molecule *copy, bool (atom::*condition) () ) const 198 96 { 199 atom *Walker = start; 200 while (Walker->next != end) { 201 Walker = Walker->next; 202 if ((Walker->*condition)()) 203 (copy->*f)(Walker); 97 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 98 if (((*iter)->*condition)()) 99 (copy->*f)((*iter)); 204 100 } 205 101 }; 206 102 template <typename res> void molecule::ActOnCopyWithEachAtomIfTrue( res (molecule::*f)(atom *) , molecule *copy, bool (atom::*condition) () const ) const 207 103 { 208 atom *Walker = start; 209 while (Walker->next != end) { 210 Walker = Walker->next; 211 if ((Walker->*condition)()) 212 (copy->*f)(Walker); 104 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 105 if (((*iter)->*condition)()) 106 (copy->*f)((*iter)); 213 107 } 214 108 }; 215 109 template <typename res> void molecule::ActOnCopyWithEachAtomIfTrue( res (molecule::*f)(atom *) const , molecule *copy, bool (atom::*condition) () ) const 216 110 { 217 atom *Walker = start; 218 while (Walker->next != end) { 219 Walker = Walker->next; 220 if ((Walker->*condition)()) 221 (copy->*f)(Walker); 111 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 112 if (((*iter)->*condition)()) 113 (copy->*f)((*iter)); 222 114 } 223 115 }; 224 116 template <typename res> void molecule::ActOnCopyWithEachAtomIfTrue( res (molecule::*f)(atom *) const, molecule *copy, bool (atom::*condition) () const ) const 225 117 { 226 atom *Walker = start; 227 while (Walker->next != end) { 228 Walker = Walker->next; 229 if ((Walker->*condition)()) 230 (copy->*f)(Walker); 118 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 119 if (((*iter)->*condition)()) 120 (copy->*f)((*iter)); 231 121 } 232 122 }; … … 234 124 template <typename res, typename T> void molecule::ActOnCopyWithEachAtomIfTrue( res (molecule::*f)(atom *) , molecule *copy, bool (atom::*condition) (T), T t ) const 235 125 { 236 atom *Walker = start; 237 while (Walker->next != end) { 238 Walker = Walker->next; 239 if ((Walker->*condition)(t)) 240 (copy->*f)(Walker); 126 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 127 if (((*iter)->*condition)(t)) 128 (copy->*f)((*iter)); 241 129 } 242 130 }; 243 131 template <typename res, typename T> void molecule::ActOnCopyWithEachAtomIfTrue( res (molecule::*f)(atom *) , molecule *copy, bool (atom::*condition) (T) const, T t ) const 244 132 { 245 atom *Walker = start; 246 while (Walker->next != end) { 247 Walker = Walker->next; 248 if ((Walker->*condition)(t)) 249 (copy->*f)(Walker); 133 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 134 if (((*iter)->*condition)(t)) 135 (copy->*f)((*iter)); 250 136 } 251 137 }; 252 138 template <typename res, typename T> void molecule::ActOnCopyWithEachAtomIfTrue( res (molecule::*f)(atom *) const, molecule *copy, bool (atom::*condition) (T), T t ) const 253 139 { 254 atom *Walker = start; 255 while (Walker->next != end) { 256 Walker = Walker->next; 257 if ((Walker->*condition)(t)) 258 (copy->*f)(Walker); 140 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 141 if (((*iter)->*condition)(t)) 142 (copy->*f)((*iter)); 259 143 } 260 144 }; 261 145 template <typename res, typename T> void molecule::ActOnCopyWithEachAtomIfTrue( res (molecule::*f)(atom *) const, molecule *copy, bool (atom::*condition) (T) const, T t ) const 262 146 { 263 atom *Walker = start; 264 while (Walker->next != end) { 265 Walker = Walker->next; 266 if ((Walker->*condition)(t)) 267 (copy->*f)(Walker); 147 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 148 if (((*iter)->*condition)(t)) 149 (copy->*f)((*iter)); 268 150 } 269 151 }; … … 271 153 template <typename res, typename T, typename U> void molecule::ActOnCopyWithEachAtomIfTrue( res (molecule::*f)(atom *) , molecule *copy, bool (atom::*condition) (T, U), T t, U u ) const 272 154 { 273 atom *Walker = start; 274 while (Walker->next != end) { 275 Walker = Walker->next; 276 if ((Walker->*condition)(t,u)) 277 (copy->*f)(Walker); 155 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 156 if (((*iter)->*condition)(t,u)) 157 (copy->*f)((*iter)); 278 158 } 279 159 }; 280 160 template <typename res, typename T, typename U> void molecule::ActOnCopyWithEachAtomIfTrue( res (molecule::*f)(atom *) , molecule *copy, bool (atom::*condition) (T, U) const, T t, U u ) const 281 161 { 282 atom *Walker = start; 283 while (Walker->next != end) { 284 Walker = Walker->next; 285 if ((Walker->*condition)(t,u)) 286 (copy->*f)(Walker); 162 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 163 if (((*iter)->*condition)(t,u)) 164 (copy->*f)((*iter)); 287 165 } 288 166 }; 289 167 template <typename res, typename T, typename U> void molecule::ActOnCopyWithEachAtomIfTrue( res (molecule::*f)(atom *) const, molecule *copy, bool (atom::*condition) (T, U), T t, U u ) const 290 168 { 291 atom *Walker = start; 292 while (Walker->next != end) { 293 Walker = Walker->next; 294 if ((Walker->*condition)(t,u)) 295 (copy->*f)(Walker); 169 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 170 if (((*iter)->*condition)(t,u)) 171 (copy->*f)((*iter)); 296 172 } 297 173 }; 298 174 template <typename res, typename T, typename U> void molecule::ActOnCopyWithEachAtomIfTrue( res (molecule::*f)(atom *) const, molecule *copy, bool (atom::*condition) (T, U) const, T t, U u ) const 299 175 { 300 atom *Walker = start; 301 while (Walker->next != end) { 302 Walker = Walker->next; 303 if ((Walker->*condition)(t,u)) 304 (copy->*f)(Walker); 176 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 177 if (((*iter)->*condition)(t,u)) 178 (copy->*f)((*iter)); 305 179 } 306 180 }; … … 308 182 template <typename res, typename T, typename U, typename V> void molecule::ActOnCopyWithEachAtomIfTrue( res (molecule::*f)(atom *) , molecule *copy, bool (atom::*condition) (T, U, V), T t, U u, V v ) const 309 183 { 310 atom *Walker = start; 311 while (Walker->next != end) { 312 Walker = Walker->next; 313 if ((Walker->*condition)(t,u,v)) 314 (copy->*f)(Walker); 184 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 185 if (((*iter)->*condition)(t,u,v)) 186 (copy->*f)((*iter)); 315 187 } 316 188 }; 317 189 template <typename res, typename T, typename U, typename V> void molecule::ActOnCopyWithEachAtomIfTrue( res (molecule::*f)(atom *) , molecule *copy, bool (atom::*condition) (T, U, V) const, T t, U u, V v ) const 318 190 { 319 atom *Walker = start; 320 while (Walker->next != end) { 321 Walker = Walker->next; 322 if ((Walker->*condition)(t,u,v)) 323 (copy->*f)(Walker); 191 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 192 if (((*iter)->*condition)(t,u,v)) 193 (copy->*f)((*iter)); 324 194 } 325 195 }; 326 196 template <typename res, typename T, typename U, typename V> void molecule::ActOnCopyWithEachAtomIfTrue( res (molecule::*f)(atom *) const, molecule *copy, bool (atom::*condition) (T, U, V), T t, U u, V v ) const 327 197 { 328 atom *Walker = start; 329 while (Walker->next != end) { 330 Walker = Walker->next; 331 if ((Walker->*condition)(t,u,v)) 332 (copy->*f)(Walker); 198 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 199 if (((*iter)->*condition)(t,u,v)) 200 (copy->*f)((*iter)); 333 201 } 334 202 }; 335 203 template <typename res, typename T, typename U, typename V> void molecule::ActOnCopyWithEachAtomIfTrue( res (molecule::*f)(atom *) const, molecule *copy, bool (atom::*condition) (T, U, V) const, T t, U u, V v ) const 336 204 { 337 atom *Walker = start; 338 while (Walker->next != end) { 339 Walker = Walker->next; 340 if ((Walker->*condition)(t,u,v)) 341 (copy->*f)(Walker); 205 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 206 if (((*iter)->*condition)(t,u,v)) 207 (copy->*f)((*iter)); 342 208 } 343 209 }; … … 348 214 template <typename res, typename typ> void molecule::ActOnAllAtoms( res (typ::*f)()) const 349 215 { 350 atom *Walker = start; 351 while (Walker->next != end) { 352 Walker = Walker->next; 353 (Walker->*f)(); 216 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 217 ((*iter)->*f)(); 354 218 } 355 219 }; 356 220 template <typename res, typename typ> void molecule::ActOnAllAtoms( res (typ::*f)() const) const 357 221 { 358 atom *Walker = start; 359 while (Walker->next != end) { 360 Walker = Walker->next; 361 (Walker->*f)(); 222 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 223 ((*iter)->*f)(); 362 224 } 363 225 }; … … 365 227 template <typename res, typename typ, typename T> void molecule::ActOnAllAtoms( res (typ::*f)(T), T t ) const 366 228 { 367 atom *Walker = start; 368 while (Walker->next != end) { 369 Walker = Walker->next; 370 (Walker->*f)(t); 229 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 230 ((*iter)->*f)(t); 371 231 } 372 232 }; 373 233 template <typename res, typename typ, typename T> void molecule::ActOnAllAtoms( res (typ::*f)(T) const, T t ) const 374 234 { 375 atom *Walker = start; 376 while (Walker->next != end) { 377 Walker = Walker->next; 378 (Walker->*f)(t); 235 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 236 ((*iter)->*f)(t); 379 237 } 380 238 }; … … 382 240 template <typename res, typename typ, typename T, typename U> void molecule::ActOnAllAtoms( res (typ::*f)(T, U), T t, U u ) const 383 241 { 384 atom *Walker = start; 385 while (Walker->next != end) { 386 Walker = Walker->next; 387 (Walker->*f)(t, u); 242 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 243 ((*iter)->*f)(t, u); 388 244 } 389 245 }; 390 246 template <typename res, typename typ, typename T, typename U> void molecule::ActOnAllAtoms( res (typ::*f)(T, U) const, T t, U u ) const 391 247 { 392 atom *Walker = start; 393 while (Walker->next != end) { 394 Walker = Walker->next; 395 (Walker->*f)(t, u); 248 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 249 ((*iter)->*f)(t, u); 396 250 } 397 251 }; … … 399 253 template <typename res, typename typ, typename T, typename U, typename V> void molecule::ActOnAllAtoms( res (typ::*f)(T, U, V), T t, U u, V v) const 400 254 { 401 atom *Walker = start; 402 while (Walker->next != end) { 403 Walker = Walker->next; 404 (Walker->*f)(t, u, v); 255 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 256 ((*iter)->*f)(t, u, v); 405 257 } 406 258 }; 407 259 template <typename res, typename typ, typename T, typename U, typename V> void molecule::ActOnAllAtoms( res (typ::*f)(T, U, V) const, T t, U u, V v) const 408 260 { 409 atom *Walker = start; 410 while (Walker->next != end) { 411 Walker = Walker->next; 412 (Walker->*f)(t, u, v); 261 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 262 ((*iter)->*f)(t, u, v); 413 263 } 414 264 }; … … 416 266 template <typename res, typename typ, typename T, typename U, typename V, typename W> void molecule::ActOnAllAtoms( res (typ::*f)(T, U, V, W), T t, U u, V v, W w) const 417 267 { 418 atom *Walker = start; 419 while (Walker->next != end) { 420 Walker = Walker->next; 421 (Walker->*f)(t, u, v, w); 268 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 269 ((*iter)->*f)(t, u, v, w); 422 270 } 423 271 }; 424 272 template <typename res, typename typ, typename T, typename U, typename V, typename W> void molecule::ActOnAllAtoms( res (typ::*f)(T, U, V, W) const, T t, U u, V v, W w) const 425 273 { 426 atom *Walker = start; 427 while (Walker->next != end) { 428 Walker = Walker->next; 429 (Walker->*f)(t, u, v, w); 274 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 275 ((*iter)->*f)(t, u, v, w); 430 276 } 431 277 }; … … 436 282 template <typename T> void molecule::SetIndexedArrayForEachAtomTo ( T *array, int ParticleInfo::*index, void (*Setor)(T *, T *) ) const 437 283 { 438 atom *Walker = start;439 284 int inc = 1; 440 while (Walker->next != end) { 441 Walker = Walker->next; 442 (*Setor) (&array[(Walker->*index)], &inc); 285 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 286 (*Setor) (&array[((*iter)->*index)], &inc); 443 287 } 444 288 }; 445 289 template <typename T> void molecule::SetIndexedArrayForEachAtomTo ( T *array, int ParticleInfo::*index, void (*Setor)(T *, T *), T value ) const 446 290 { 447 atom *Walker = start; 448 while (Walker->next != end) { 449 Walker = Walker->next; 450 (*Setor) (&array[(Walker->*index)], &value); 291 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 292 (*Setor) (&array[((*iter)->*index)], &value); 451 293 } 452 294 }; 453 295 template <typename T> void molecule::SetIndexedArrayForEachAtomTo ( T *array, int ParticleInfo::*index, void (*Setor)(T *, T *), T *value ) const 454 296 { 455 atom *Walker = start; 456 while (Walker->next != end) { 457 Walker = Walker->next; 458 (*Setor) (&array[(Walker->*index)], value); 297 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 298 (*Setor) (&array[((*iter)->*index)], value); 459 299 } 460 300 }; … … 462 302 template <typename T> void molecule::SetIndexedArrayForEachAtomTo ( T *array, int element::*index, void (*Setor)(T *, T *) ) const 463 303 { 464 atom *Walker = start;465 304 int inc = 1; 466 while (Walker->next != end) { 467 Walker = Walker->next; 468 (*Setor) (&array[(Walker->type->*index)], &inc); 305 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 306 (*Setor) (&array[((*iter)->getType()->*index)], &inc); 469 307 } 470 308 }; 471 309 template <typename T> void molecule::SetIndexedArrayForEachAtomTo ( T *array, int element::*index, void (*Setor)(T *, T *), T value ) const 472 310 { 473 atom *Walker = start; 474 while (Walker->next != end) { 475 Walker = Walker->next; 476 (*Setor) (&array[(Walker->type->*index)], &value); 311 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 312 (*Setor) (&array[((*iter)->getType()->*index)], &value); 477 313 } 478 314 }; 479 315 template <typename T> void molecule::SetIndexedArrayForEachAtomTo ( T *array, int element::*index, void (*Setor)(T *, T *), T *value ) const 480 316 { 481 atom *Walker = start; 482 while (Walker->next != end) { 483 Walker = Walker->next; 484 (*Setor) (&array[(Walker->type->*index)], value); 317 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 318 (*Setor) (&array[((*iter)->getType()->*index)], value); 485 319 } 486 320 }; … … 488 322 template <typename T, typename typ> void molecule::SetIndexedArrayForEachAtomTo ( T *array, int ParticleInfo::*index, T (atom::*Setor)(typ &), typ atom::*value ) const 489 323 { 490 atom *Walker = start; 491 while (Walker->next != end) { 492 Walker = Walker->next; 493 array[(Walker->*index)] = (Walker->*Setor) (Walker->*value); 324 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 325 array[((*iter)->*index)] = ((*iter)->*Setor) ((*iter)->*value); 494 326 } 495 327 }; 496 328 template <typename T, typename typ> void molecule::SetIndexedArrayForEachAtomTo ( T *array, int ParticleInfo::*index, T (atom::*Setor)(typ &) const, typ atom::*value ) const 497 329 { 498 atom *Walker = start; 499 while (Walker->next != end) { 500 Walker = Walker->next; 501 array[(Walker->*index)] = (Walker->*Setor) (Walker->*value); 330 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 331 array[((*iter)->*index)] = ((*iter)->*Setor) ((*iter)->*value); 502 332 } 503 333 }; 504 334 template <typename T, typename typ> void molecule::SetIndexedArrayForEachAtomTo ( T *array, int ParticleInfo::*index, T (atom::*Setor)(typ &), typ &vect ) const 505 335 { 506 atom *Walker = start; 507 while (Walker->next != end) { 508 Walker = Walker->next; 509 array[(Walker->*index)] = (Walker->*Setor) (vect); 336 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 337 array[((*iter)->*index)] = ((*iter)->*Setor) (vect); 510 338 } 511 339 }; 512 340 template <typename T, typename typ> void molecule::SetIndexedArrayForEachAtomTo ( T *array, int ParticleInfo::*index, T (atom::*Setor)(typ &) const, typ &vect ) const 513 341 { 514 atom *Walker = start; 515 while (Walker->next != end) { 516 Walker = Walker->next; 517 array[(Walker->*index)] = (Walker->*Setor) (vect); 342 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 343 array[((*iter)->*index)] = ((*iter)->*Setor) (vect); 518 344 } 519 345 }; 520 346 template <typename T, typename typ, typename typ2> void molecule::SetAtomValueToIndexedArray ( T *array, int typ::*index, T typ2::*value ) const 521 347 { 522 atom *Walker = start; 523 while (Walker->next != end) { 524 Walker = Walker->next; 525 Walker->*value = array[(Walker->*index)]; 526 //Log() << Verbose(2) << *Walker << " gets " << (Walker->*value); << endl; 348 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 349 (*iter)->*value = array[((*iter)->*index)]; 350 //Log() << Verbose(2) << *(*iter) << " gets " << ((*iter)->*value); << endl; 527 351 } 528 352 }; … … 530 354 template <typename T, typename typ> void molecule::SetAtomValueToValue ( T value, T typ::*ptr ) const 531 355 { 532 atom *Walker = start; 533 while (Walker->next != end) { 534 Walker = Walker->next; 535 Walker->*ptr = value; 536 //Log() << Verbose(2) << *Walker << " gets " << (Walker->*ptr) << endl; 356 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 357 (*iter)->*ptr = value; 358 //Log() << Verbose(2) << *(*iter) << " gets " << ((*iter)->*ptr) << endl; 537 359 } 538 360 };
Note:
See TracChangeset
for help on using the changeset viewer.
