diff --git a/include/boost/graph/detail/algorithm.hpp b/include/boost/graph/detail/algorithm.hpp deleted file mode 100644 index ec1bf5cd..00000000 --- a/include/boost/graph/detail/algorithm.hpp +++ /dev/null @@ -1,120 +0,0 @@ -#ifndef BOOST_ALGORITHM_HPP -#define BOOST_ALGORITHM_HPP - -#include - -namespace boost { - - template - Iter1 begin(const std::pair& p) { return p.first; } - - template - Iter2 end(const std::pair& p) { return p.second; } - - template - typename std::iterator_traits::difference_type - size(const std::pair& p) { - return std::distance(p.first, p.second); - } - -#if 0 - // These seem to interfere with the std::pair overloads :( - template - typename Container::iterator - begin(Container& c) { return c.begin(); } - - template - typename Container::const_iterator - begin(const Container& c) { return c.begin(); } - - template - typename Container::iterator - end(Container& c) { return c.end(); } - - template - typename Container::const_iterator - end(const Container& c) { return c.end(); } - - template - typename Container::size_type - size(const Container& c) { return c.size(); } -#else - template - typename std::vector::iterator - begin(std::vector& c) { return c.begin(); } - - template - typename std::vector::const_iterator - begin(const std::vector& c) { return c.begin(); } - - template - typename std::vector::iterator - end(std::vector& c) { return c.end(); } - - template - typename std::vector::const_iterator - end(const std::vector& c) { return c.end(); } - - template - typename std::vector::size_type - size(const std::vector& c) { return c.size(); } -#endif - - // Also do version with 2nd container? - template - OutIter copy(const Container& c, OutIter result) { - return std::copy(begin(c), end(c), result); - } - - template - bool equal(const Container1& c1, const Container2& c2) - { - if (size(c1) != size(c2)) - return false; - return std::equal(begin(c1), end(c1), begin(c2)); - } - - template - void sort(Container& c) { std::sort(begin(c), end(c)); } - - template - void sort(Container& c, const Predicate& p) { - std::sort(begin(c), end(c), p); - } - - template - void stable_sort(Container& c) { std::stable_sort(begin(c), end(c)); } - - template - void stable_sort(Container& c, const Predicate& p) { - std::stable_sort(begin(c), end(c), p); - } - - template - bool any_equal(InputIterator first, InputIterator last, T value) - { - return std::find(first, last, value) != last; - } - - template - bool any_equal(const Container& c, const T& value) - { - return any_equal(begin(c), end(c), value); - } - - - template - std::size_t count(const Container& c, const T& value) - { - return std::count(begin(c), end(c), value); - } - - template - std::size_t count_if(const Container& c, Predicate p) - { - return std::count_if(begin(c), end(c), p); - } - -} // namespace boost - -#endif // BOOST_ALGORITHM_HPP