add algorithm one_of, all_of_equal, any_of_equal, none_of_equal, one_of_equal, is_increasing, is_decreasing, is_strictly_increasing, is_strictly_decreasing

This commit is contained in:
bolero-MURAKAMI 2012-10-13 12:49:23 +09:00
parent 1ef528d204
commit de41f5c880
22 changed files with 425 additions and 3 deletions

View file

@ -0,0 +1,20 @@
#ifndef SPROUT_ALGORITHM_ALL_OF_EQUAL_HPP
#define SPROUT_ALGORITHM_ALL_OF_EQUAL_HPP
#include <sprout/config.hpp>
#include <sprout/iterator/operation.hpp>
namespace sprout {
//
// all_of_equal
//
template<typename InputIterator, typename T>
inline SPROUT_CONSTEXPR bool
all_of_equal(InputIterator first, InputIterator last, T const& value) {
return first == last ? true
: *first == value && sprout::all_of_equal(sprout::next(first), last, value)
;
}
} // namespace sprout
#endif // #ifndef SPROUT_ALGORITHM_ALL_OF_EQUAL_HPP