source: src/Fragmentation/Summation/Containers/extractJobIds.hpp@ fba720

Candidate_v1.6.1 ChemicalSpaceEvaluator TremoloParser_IncreasedPrecision
Last change on this file since fba720 was fbf143, checked in by Frederik Heber <heber@…>, 12 years ago

Placed Containers, Converter, and SetValues as subfolders into Summation.

  • also libMolecuilderFragmentationSummation is now a shared library, easing linkage to libMolecuilderJobs, and contains all of the three convenience libraries.
  • libMolecuilderFragmentationSetValues is now again convenience, as contained in ..Summation which in turn is shared.
  • KeySetsContainer right now is the link between lib..Summation and lib.. Fragmentation. Hence, we had to extract the module and change it into a shared library, as it is required by libMolecuilderJobs through ..Summation but also by ..Fragmentation that heavily relies on this container.
  • moved parseKeySetFile down into Fragmentation folder to KeySetsContainer, it is also contained in new shared library libMolecuilderFragmentation_ KeySetsContainer.
  • Property mode set to 100644
File size: 795 bytes
Line 
1/*
2 * extractJobIds.hpp
3 *
4 * Created on: Aug 31, 2012
5 * Author: heber
6 */
7
8#ifndef EXTRACTJOBIDS_HPP_
9#define EXTRACTJOBIDS_HPP_
10
11
12// include config.h
13#ifdef HAVE_CONFIG_H
14#include <config.h>
15#endif
16
17#include <algorithm>
18#include <map>
19#include <vector>
20
21#include <boost/bind.hpp>
22#include <boost/lambda/lambda.hpp>
23
24#ifdef HAVE_JOBMARKET
25#include "JobMarket/types.hpp"
26#else
27typedef size_t JobId_t;
28#endif
29
30template <typename T>
31std::vector<JobId_t> extractJobIds(const std::map<JobId_t, T> &iddata)
32{
33 // create a vector of all job ids
34 std::vector<JobId_t> jobids;
35 std::transform(iddata.begin(),iddata.end(),
36 std::back_inserter(jobids),
37 boost::bind(&std::map<JobId_t,T>::value_type::first, boost::lambda::_1 )
38 );
39 return jobids;
40}
41
42
43#endif /* EXTRACTJOBIDS_HPP_ */
Note: See TracBrowser for help on using the repository browser.