| Classes | |
| struct | ranges::bind_element< T > | 
| struct | ranges::bind_element< reference_wrapper< T > > | 
| struct | ranges::bind_element< std::reference_wrapper< T > > | 
| struct | ranges::protect_fn | 
| struct | ranges::protector< Bind > | 
| Typedefs | |
| template<typename T > | |
| using | ranges::bind_element_t = meta::_t< bind_element< T > > | 
| Functions | |
| template<typename T > | |
| T && | ranges::bind_forward (meta::_t< std::remove_reference< T > > &&t) noexcept | 
| template<typename T , typename U = meta::if_< std::is_lvalue_reference<T>, std::reference_wrapper<meta::_t<std::remove_reference<T>>>, T &&>> | |
| U | ranges::bind_forward (meta::_t< std::remove_reference< T > > &t) noexcept | 
| Variables | |
| constexpr protect_fn | ranges::protect {} | 
| Protect a callable so that it can be safely used in a bind expression without accidentally becoming a "nested" bind.  More... | |