1 
2 template<typename _Callable>
3 struct _RangeAdaptor
4 {
_RangeAdaptor_RangeAdaptor5   constexpr _RangeAdaptor(const _Callable &) { }
6 };
7 
8 template<typename _Callable>
9 _RangeAdaptor(_Callable) -> _RangeAdaptor<_Callable>;
10 
11 template<unsigned _Nm>
12 inline constexpr _RangeAdaptor elements = [] (auto&& __r) {};
13 
14