3 #include <boost/range/adaptor/filtered.hpp> 4 #include <boost/range/distance.hpp> 10 template <
typename Range,
typename Filter>
22 using iterator =
typename filtered_t::iterator;
47 template <
typename Range,
typename Filter>
50 decltype(f(*std::begin(
r)),
void())* =
nullptr)
58 template <
typename Range,
typename Filter>
59 struct range_difference<
vcsn::detail::safe_filtered<Range, Filter>>
const_iterator end() const
weightset_mixin< detail::r_impl > r
safe_filtered(Range r, Filter f)
boost::filtered_range< Filter, Range > filtered_t
typename filtered_t::iterator iterator
std::ptrdiff_t difference_type
bool empty() const
Whether filters to nothing.
Provide a variadic mul on top of a binary mul(), and one().
typename filtered_t::const_iterator const_iterator
size_t size() const
Number of elements in the filtered range.
typename Range::value_type value_type
typename vcsn::detail::safe_filtered< Range, Filter >::difference_type type
filter_automaton< Aut, Trans > filter(const Aut &aut, boost::optional< dynamic_bitset > ss={}, boost::optional< dynamic_bitset > ts={})
Build a filtered view of an automaton.
const_iterator begin() const