1  
       2  template<typename _Callable>
       3  struct _RangeAdaptor
       4  {
       5    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