... | ... |
@@ -322,7 +322,7 @@ RcppExport SEXP decomposeIsotopes(SEXP v_masses, SEXP v_abundances, SEXP s_error |
322 | 322 |
transform(candidate_abundances.begin(), // begin of source range |
323 | 323 |
candidate_abundances.begin() + size, // end of source range |
324 | 324 |
candidate_abundances.begin(), // destination |
325 |
- bind2nd(multiplies<abundance_type>(), scale)); // operation (*scale) |
|
325 |
+ [scale](abundance_type a) { return a * scale; }); // operation (*scale) |
|
326 | 326 |
} |
327 | 327 |
|
328 | 328 |
} |
... | ... |
@@ -29,9 +29,9 @@ Alphabet::mass_type Alphabet::getMass(const name_type& name) const |
29 | 29 |
|
30 | 30 |
|
31 | 31 |
bool Alphabet::hasName(const name_type& name) const { |
32 |
- return std::find_if(elements.begin(), elements.end(), |
|
33 |
- compose_f_gx(std::bind2nd(std::equal_to<name_type>(), name), |
|
34 |
- std::mem_fun_ref(&element_type::getName))) < elements.end(); |
|
32 |
+ return std::find_if(elements.begin(), elements.end(), [name](const auto& elem) { |
|
33 |
+ return std::equal_to<name_type>()(elem.getName(), name); |
|
34 |
+ }) != elements.end(); |
|
35 | 35 |
} |
36 | 36 |
|
37 | 37 |
|
... | ... |
@@ -68,11 +68,9 @@ Alphabet::masses_type Alphabet::getAverageMasses() const { |
68 | 68 |
|
69 | 69 |
|
70 | 70 |
void Alphabet::sortByNames() { |
71 |
- std::sort(elements.begin(), elements.end(), |
|
72 |
- compose_f_gx_hy( |
|
73 |
- std::less<name_type>(), |
|
74 |
- std::mem_fun_ref(&element_type::getName), |
|
75 |
- std::mem_fun_ref(&element_type::getName))); |
|
71 |
+ std::sort(elements.begin(), elements.end(), [](const auto& lhs, const auto& rhs) { |
|
72 |
+ return std::less<name_type>()(lhs.getName(), rhs.getName()); |
|
73 |
+ }); |
|
76 | 74 |
} |
77 | 75 |
|
78 | 76 |
|
... | ... |
@@ -83,7 +83,7 @@ void LinearPointSetMatcher::swap(double& d1, double& d2) { |
83 | 83 |
|
84 | 84 |
std::unique_ptr<std::map<int,int> > LinearPointSetMatcher::getMapping() const { |
85 | 85 |
if (results.mapping.get() == 0) { |
86 |
- return std::unique_ptr<std::map<int,int> >(0); // TODO throw sth. instead |
|
86 |
+ return std::unique_ptr<std::map<int,int> >(new std::map<int,int>()); // TODO throw sth. instead |
|
87 | 87 |
} else { |
88 | 88 |
// aaargh, this syntax is awful, i hate it, hate it, hate it... |
89 | 89 |
return std::unique_ptr<std::map<int,int> >(new std::map<int,int>(*(results.mapping))); |
... | ... |
@@ -278,7 +278,7 @@ void LinearPointSetMatcher::countMatchesOneToOne( |
278 | 278 |
#endif |
279 | 279 |
} |
280 | 280 |
|
281 |
- std::unique_ptr<std::map<int,int> > mapping(0); |
|
281 |
+ std::unique_ptr<std::map<int,int> > mapping(new std::map<int,int>()); |
|
282 | 282 |
// evaluate match matrix: count out score using... |
283 | 283 |
if (!restrict_oneToOne) { |
284 | 284 |
// ... greedy counting scheme |
... | ... |
@@ -300,7 +300,7 @@ void LinearPointSetMatcher::countMatchesOneToOne( |
300 | 300 |
results.centerB = j; |
301 | 301 |
results.bestscale = (*p).scale; |
302 | 302 |
results.besttranslation=-results.bestscale*a_first[i] + b_first[j] + diff; |
303 |
- results.mapping=mapping; |
|
303 |
+ results.mapping=std::move(mapping); |
|
304 | 304 |
} |
305 | 305 |
} |
306 | 306 |
} |
... | ... |
@@ -323,7 +323,7 @@ int LinearPointSetMatcher::match(RandomAccessIterator a_first, RandomAccessItera |
323 | 323 |
if (oneToOne) { |
324 | 324 |
results.mapping = std::unique_ptr<std::map<int,int> >(new std::map<int,int>); |
325 | 325 |
} else { |
326 |
- results.mapping = std::unique_ptr<std::map<int,int> >(0); |
|
326 |
+ results.mapping = std::unique_ptr<std::map<int,int> >(new std::map<int,int>()); |
|
327 | 327 |
} |
328 | 328 |
|
329 | 329 |
#ifndef NDEBUG |
... | ... |
@@ -29,7 +29,7 @@ ComposedElement::ComposedElement(const name_type& sequence, const Alphabet& alph |
29 | 29 |
} else { |
30 | 30 |
parser = std::unique_ptr<sequence_parser_type>(new MoleculeSequenceParser); |
31 | 31 |
} |
32 |
- this->initializeElements(alphabet, parser); |
|
32 |
+ this->initializeElements(alphabet, std::move(parser) ); |
|
33 | 33 |
} |
34 | 34 |
|
35 | 35 |
ComposedElement::ComposedElement(const std::vector<unsigned int>& decomposition, |
... | ... |
@@ -71,14 +71,14 @@ template <typename T> |
71 | 71 |
std::vector<T> getPositiveNeighborhoodSet(T middle, |
72 | 72 |
std::pair<T, T> minMaxElements, T range, T granularity) { |
73 | 73 |
std::vector<T> valuesRange = getNeighborhoodSet(middle, minMaxElements, range, granularity); |
74 |
- valuesRange.erase(std::remove_if(valuesRange.begin(), valuesRange.end(), std::bind2nd(std::less<T>(), 0)), valuesRange.end()); |
|
74 |
+ valuesRange.erase(std::remove_if(valuesRange.begin(), valuesRange.end(), [](const T& x) { return x < 0; }, 0), valuesRange.end()); |
|
75 | 75 |
return valuesRange; |
76 | 76 |
} |
77 | 77 |
|
78 | 78 |
template <typename T> |
79 | 79 |
std::vector<T> getPositiveNeighborhoodSet(T middle, T range, T granularity) { |
80 | 80 |
std::vector<T> valuesRange = getNeighborhoodSet(middle, range, granularity); |
81 |
- valuesRange.erase(std::remove_if(valuesRange.begin(), valuesRange.end(), std::bind2nd(std::less<T>(), 0)), valuesRange.end()); |
|
81 |
+ valuesRange.erase(std::remove_if(valuesRange.begin(), valuesRange.end(), [](const T& x) { return x < 0; }), valuesRange.end()); |
|
82 | 82 |
return valuesRange; |
83 | 83 |
} |
84 | 84 |
|