|
Go to the documentation of this file.
9 #ifndef ADOBE_ALGORITHM_REMOVE_HPP
10 #define ADOBE_ALGORITHM_REMOVE_HPP
14 #include <boost/range/begin.hpp>
15 #include <boost/range/end.hpp>
16 #include <boost/bind.hpp>
41 template < class InputRange, class T>
42 inline typename boost::range_iterator<InputRange>::type remove(InputRange& range, const T& value)
44 return std::remove(boost::begin(range), boost::end(range), value);
52 template < class InputIterator, class Predicate>
53 inline InputIterator remove_if(InputIterator first, InputIterator last, Predicate pred)
63 template < class InputRange, class Predicate>
64 inline typename boost::range_iterator<InputRange>::type
75 template < class InputRange, class OutputIterator, class T>
76 inline typename boost::range_iterator<InputRange>::type
77 remove_copy(InputRange& range, OutputIterator result, const T& value)
79 return std::remove_copy(boost::begin(range), boost::end(range), result, value);
87 template < class InputRange, class OutputIterator, class T>
88 inline typename boost::range_const_iterator<InputRange>::type
89 remove_copy( const InputRange& range, OutputIterator result, const T& value)
91 return std::remove_copy(boost::begin(range), boost::end(range), result, value);
99 template < class InputIterator, class OutputIterator, class Predicate>
101 remove_copy_if(InputIterator first, InputIterator last, OutputIterator result, Predicate pred)
111 template < class InputRange, class OutputIterator, class Predicate>
112 inline typename boost::range_iterator<InputRange>::type
123 template < class InputRange, class OutputIterator, class Predicate>
124 inline typename boost::range_const_iterator<InputRange>::type
|