Range-v3
Range algorithms, views, and actions for the Standard Library
ranges::v3::equal_range_fn Struct Reference

Public Member Functions

template<typename I , typename S , typename V , typename C = ordered_less, typename P = ident, requires = (Sentinel<S, I>() && !SizedSentinel<S, I>() && BinarySearchable<I, V, C, P>())>
iterator_range< I > operator() (I begin, S end, V const &val, C pred=C{}, P proj=P{}) const
 
template<typename I , typename S , typename V , typename C = ordered_less, typename P = ident, requires = (SizedSentinel<S, I>() && BinarySearchable<I, V, C, P>())>
iterator_range< I > operator() (I begin, S end, V const &val, C pred=C{}, P proj=P{}) const
 
template<typename Rng , typename V , typename C = ordered_less, typename P = ident, typename I = iterator_t<Rng>, requires = (Range<Rng>() && !SizedRange<Rng>() && BinarySearchable<I, V, C, P>())>
meta::if_< std::is_lvalue_reference< Rng >, iterator_range< I >, dangling< iterator_range< I > > > operator() (Rng &&rng, V const &val, C pred=C{}, P proj=P{}) const
 
template<typename Rng , typename V , typename C = ordered_less, typename P = ident, typename I = iterator_t<Rng>, requires = (SizedRange<Rng>() && BinarySearchable<I, V, C, P>())>
meta::if_< std::is_lvalue_reference< Rng >, iterator_range< I >, dangling< iterator_range< I > > > operator() (Rng &&rng, V const &val, C pred=C{}, P proj=P{}) const