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>>
bool empty() const
Whether filters to nothing.
std::ptrdiff_t difference_type
weightset_mixin< detail::r_impl > r
typename Range::value_type value_type
size_t size() const
Number of elements in the filtered range.
filter_automaton< Aut, Trans > filter(const Aut &aut, boost::optional< dynamic_bitset > ss={}, boost::optional< dynamic_bitset > ts={})
Get an automaton who is a part state set ss of aut.
typename filtered_t::const_iterator const_iterator
safe_filtered(Range r, Filter f)
Provide a variadic mul on top of a binary mul(), and one().
typename filtered_t::iterator iterator
const_iterator end() const
const_iterator begin() const
typename vcsn::detail::safe_filtered< Range, Filter >::difference_type type
boost::filtered_range< Filter, Range > filtered_t