template<class... T>
static constexpr bool is-invocable-using = see below;
template<class F> function_ref(F* f) noexcept;
template<class F> constexpr function_ref(F&& f) noexcept;
template<auto f> constexpr function_ref(nontype_t<f>) noexcept;
template<auto f, class U>
constexpr function_ref(nontype_t<f>, U&& obj) noexcept;
template<auto f, class T>
constexpr function_ref(nontype_t<f>, cv T* obj) noexcept;
template<class T> function_ref& operator=(T) = delete;