rvalue reference matching ostd::iter

master
Daniel Kolesa 2017-03-02 19:45:57 +01:00
parent 22a5640a59
commit c93e818247
1 changed files with 4 additions and 7 deletions

View File

@ -855,13 +855,10 @@ template<typename C>
struct ranged_traits: detail::ranged_traits_impl<C> {};
template<typename T>
inline auto iter(T &r) -> decltype(ranged_traits<T>::iter(r)) {
return ranged_traits<T>::iter(r);
}
template<typename T>
inline auto iter(T const &r) -> decltype(ranged_traits<T const>::iter(r)) {
return ranged_traits<T const>::iter(r);
inline auto iter(T &&r) ->
decltype(ranged_traits<std::remove_reference_t<T>>::iter(r))
{
return ranged_traits<std::remove_reference_t<T>>::iter(r);
}
template<typename T>