|
template<typename RangeT > |
constexpr auto | begin_impl (RangeT &&range) -> decltype(begin(std::forward< RangeT >(range))) |
|
template<typename RangeT > |
constexpr auto | end_impl (RangeT &&range) -> decltype(end(std::forward< RangeT >(range))) |
|
template<typename RangeT > |
constexpr auto | rbegin_impl (RangeT &&range) -> decltype(rbegin(std::forward< RangeT >(range))) |
|
template<typename RangeT > |
constexpr auto | rend_impl (RangeT &&range) -> decltype(rend(std::forward< RangeT >(range))) |
|
template<typename T > |
constexpr void | swap_impl (T &&lhs, T &&rhs) noexcept(noexcept(swap(std::declval< T >(), std::declval< T >()))) |
|
template<typename RangeT > |
constexpr auto | size_impl (RangeT &&range) -> decltype(size(std::forward< RangeT >(range))) |
|