|  | 
| template<typename Fun > requires (!range<Fun>)
 | 
| constexpr auto | operator() (Fun fun) const | 
|  | 
| template<typename Rng , typename Fun > requires forward_range<Rng> && erasable_range<Rng &, iterator_t<Rng>, sentinel_t<Rng>> && indirect_unary_predicate<Fun, iterator_t<Rng>>
 | 
| Rng | operator() (Rng &&rng, Fun fun) const | 
|  |