Vcsn  2.3
Be Rational
algorithm.hh File Reference
#include <algorithm>
#include <iterator>
#include <vector>
#include <boost/range/algorithm/set_algorithm.hpp>
#include <boost/range/iterator_range_core.hpp>
Include dependency graph for algorithm.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 vcsn
 
 vcsn::detail
 

Functions

template<typename Range , typename Predicate >
bool vcsn::detail::any_of (const Range &r, Predicate p)
 
template<typename Range >
bool vcsn::detail::any_of (const Range &r)
 
template<typename Container >
Container::value_type vcsn::detail::back (const Container &container)
 The last member of this Container. More...
 
template<typename Container , typename Predicate >
void vcsn::detail::erase_if (Container &c, const Predicate &p)
 
template<typename Container >
Container::value_type vcsn::detail::front (const Container &container)
 The first member of this Container. More...
 
template<typename Iterator , typename Pred , typename Less >
boost::iterator_range< Iterator > vcsn::detail::initial_sorted_range (Iterator begin, Iterator end, Pred pred, Less less)
 The longest initial range of elements matching the predicate. More...
 
template<typename Container , typename Compare >
bool vcsn::detail::is_sorted_forward (const Container &container, Compare comp)
 Same as std::is_sorted, but works with an input iterator, not just a forward iterator. More...
 
template<typename Container >
Container::value_type vcsn::detail::max_forward (const Container &container)
 Same as *std::max_element, but works with an input iterator, not just a forward iterator. More...
 
template<typename Range , typename Predicate >
bool vcsn::detail::none_of (const Range &r, Predicate p)
 
template<typename Range , typename Value >
bool vcsn::detail::none_of_equal (const Range &r, const Value &value)
 
template<typename Container , typename Fun >
auto vcsn::detail::transform (const Container &c, Fun &&fun)
 Map a unary function on a container of values, and return the vector the results. More...
 
template<typename Container , typename = typename Container::value_type>
Container vcsn::set_difference (const Container &s1, const Container &s2)
 The set of members of s1 that are not members of s2. More...
 
template<typename Container , typename = typename Container::value_type>
Container vcsn::set_intersection (const Container &s1, const Container &s2)
 The intersection of two sets. More...
 
template<typename Container >
bool vcsn::same_domain (const Container &x, const Container &y)
 Check that two associative containers have the same keys. More...
 
template<typename Container , typename = typename Container::value_type>
Container vcsn::set_union (const Container &s1, const Container &s2)
 The union of two sets. More...