trick/trick_source/sim_services/Executive/Executive_get_job.cpp
jmpenn 5065d96a15
Pre-increment (rather than post-increment) STL iterators in for loops… (#1692)
* Pre-increment (rather than post-increment) STL iterators in for loops. #1594

* Fix a goof. #1594
2024-04-18 11:41:35 -05:00

30 lines
891 B
C++

#include <iostream>
#include "trick/Executive.hh"
Trick::JobData * Trick::Executive::get_job(std::string job_name, unsigned int j_instance) {
unsigned int ii ;
std::multimap<std::string , Trick::JobData *>::iterator it ;
std::pair<std::multimap<std::string , Trick::JobData *>::iterator , std::multimap<std::string , Trick::JobData *>::iterator> range ;
/** @par Detailed Design */
/** @li Find all jobs that have the target name and hold them in a list */
range = all_jobs.equal_range(job_name) ;
/** @li Move to the j_instance-th item in the list */
for ( it = range.first , ii = 1 ; (it != range.second) && (ii < j_instance) ; ++it , ii++ ) ;
/** @li If the j_instance-th item doesn't exist return NULL */
if ( it == range.second ) {
return(NULL) ;
}
/** @li return the j_instance-th item */
return((*it).second) ;
}