ProteoWizard
Functions
ralab::base::utils Namespace Reference

Functions

template<class InputIterator , class InputIterator2 , class OutputIterator , class Predicate >
OutputIterator copy_if (InputIterator first, InputIterator last, InputIterator2 source, OutputIterator result, Predicate pred)
 
template<class InputIterator , class InputIterator2 , class OutputIterator , class Predicate >
OutputIterator copy_if_not (InputIterator first, InputIterator last, InputIterator2 source, OutputIterator result, Predicate pred)
 
template<typename InputIterator , typename OutputIterator , typename Predicate >
OutputIterator copy_if (InputIterator begin, InputIterator end, OutputIterator destBegin, Predicate p)
 copy_if
 
template<typename InputIterator , typename OutputIterator , typename Predicate >
OutputIterator copy_if_not (InputIterator begin, InputIterator end, OutputIterator destBegin, Predicate p)
 copy_if_not for containers
 

Function Documentation

◆ copy_if() [1/2]

template<class InputIterator , class InputIterator2 , class OutputIterator , class Predicate >
OutputIterator ralab::base::utils::copy_if ( InputIterator  first,
InputIterator  last,
InputIterator2  source,
OutputIterator  result,
Predicate  pred 
)

Definition at line 35 of file copyif.hpp.

41 {
42 while(first!=last)
43 {
44 if(pred(*first))
45 {
46 *result = *source;
47 ++result;
48 }
49 ++first;
50 ++source;
51 }
52 return result;
53 }

Referenced by ralab::base::ms::PeakPicker< TReal, TIntegrator >::filter().

◆ copy_if_not() [1/2]

template<class InputIterator , class InputIterator2 , class OutputIterator , class Predicate >
OutputIterator ralab::base::utils::copy_if_not ( InputIterator  first,
InputIterator  last,
InputIterator2  source,
OutputIterator  result,
Predicate  pred 
)

Definition at line 56 of file copyif.hpp.

62 {
63 while(first!=last)
64 {
65 if(!pred(*first))
66 {
67 *result = *source;
68 ++result;
69 }
70 ++first;
71 ++source;
72 }
73 return result;
74 }

◆ copy_if() [2/2]

template<typename InputIterator , typename OutputIterator , typename Predicate >
OutputIterator ralab::base::utils::copy_if ( InputIterator  begin,
InputIterator  end,
OutputIterator  destBegin,
Predicate  p 
)

copy_if

Implementation of copy_if as suggested in Efficient STL (Scott Meyers) item 37.

Definition at line 84 of file copyif.hpp.

89 {
90
91 while(begin != end)
92 {
93 typename std::iterator_traits<InputIterator>::reference r= *begin;
94 if(p(r))
95 {
96 *destBegin = r;
97 ++destBegin;
98 }
99 ++begin;
100 }
101 return destBegin;
102 }

◆ copy_if_not() [2/2]

template<typename InputIterator , typename OutputIterator , typename Predicate >
OutputIterator ralab::base::utils::copy_if_not ( InputIterator  begin,
InputIterator  end,
OutputIterator  destBegin,
Predicate  p 
)

copy_if_not for containers

          Implementation of copy_if as suggested
          in Efficient STL (Scott Meyers) item 37.

Definition at line 112 of file copyif.hpp.

118 {
119
120 while(begin != end)
121 {
122 typename std::iterator_traits<InputIterator>::reference r= *begin;
123 if(!p(r))
124 {
125 *destBegin = r;
126 ++destBegin;
127 }
128 ++begin;
129 }
130 return destBegin;
131 }