| 
| 
template<typename I , typename S , int _concept_requires___LINE__ = 42, typename std::enable_if<      (_concept_requires___LINE__==43)||(RandomAccessIterator< I >()&&IteratorRange< I, S >()&&Permutable< I >()),   int   >::type  = 0>  | 
| I  | operator() (I begin, S end_) const  | 
|   | 
| 
template<typename I , typename S , typename Gen , int _concept_requires___LINE__ = 42>  | 
| I  | operator() (I begin, S end_, Gen &&rand) const  | 
|   | 
| 
template<typename Rng , typename I  = range_iterator_t<Rng>, int _concept_requires___LINE__ = 42, typename std::enable_if<      (_concept_requires___LINE__==43)||(RandomAccessRange< Rng >()&&                                                                                                                                   Permutable< I >()),   int   >::type  = 0>  | 
| range_safe_iterator_t< Rng >  | operator() (Rng &&rng) const  | 
|   | 
| 
template<typename Rng , typename Gen , typename I  = range_iterator_t<Rng>, int _concept_requires___LINE__ = 42>  | 
| range_safe_iterator_t< Rng >  | operator() (Rng &&rng, Gen &&rand) const  | 
|   |