is_range¶
Header¶
#include <tick/traits/is_range.h>
Description¶
Checks if the type provides begin and end iterators that can be used with a for-range loop.
Synopsis¶
TICK_TRAIT(is_range)
{
using std::begin;
using std::end;
template<class T>
auto require(T&& x) -> valid<
decltype(returns<is_iterator<_>>(begin(std::forward<T>(x)))),
decltype(returns<is_iterator<_>>(end(std::forward<T>(x))))
>;
};