ΒΆtemplate <typename R>
auto size(
    R&& Range,
    typename std::enable_if<
        std::is_same<
            typename std::iterator_traits<
                decltype(Range.begin())>::
                iterator_category,
            std::random_access_iterator_tag>::
            value,
        void>::type* = nullptr)
    -> decltype(std::distance(Range.begin(),
                              Range.end()))

Description

Get the size of a range. This is a wrapper function around std::distance which is only enabled when the operation is O(1).

Declared at: llvm/include/llvm/ADT/STLExtras.h:1163

Templates

R

Parameters

R&& Range
typename std::enable_if< std::is_same< typename std::iterator_traits< decltype(Range.begin())>:: iterator_category, std::random_access_iterator_tag>::value, void>::type* = nullptr