}; | }; | ||||
template <class EF> | |||||
scope_exit(EF &&ef) -> scope_exit<std::decay_t<EF>>; | |||||
template<class EF> | |||||
scope_exit(EF&& ef) -> scope_exit<std::decay_t<EF>>; | |||||
template<class EF> | template<class EF> |
}; | }; | ||||
template <class EF> | |||||
scope_fail(EF &&ef) -> scope_fail<std::decay_t<EF>>; | |||||
template<class EF> | |||||
scope_fail(EF&& ef) -> scope_fail<std::decay_t<EF>>; | |||||
template<class EF> | template<class EF> |
}; | }; | ||||
template <class EF> | |||||
scope_success(EF &&ef) -> scope_success<std::decay_t<EF>>; | |||||
template<class EF> | |||||
scope_success(EF&& ef) -> scope_success<std::decay_t<EF>>; | |||||
template<class EF> | template<class EF> |
template<class R, class D> | template<class R, class D> | ||||
unique_resource(R&& r, D&& d) -> unique_resource<std::decay_t<R>, std::decay_t<D>>; | unique_resource(R&& r, D&& d) -> unique_resource<std::decay_t<R>, std::decay_t<D>>; | ||||
template<typename R, typename D> | |||||
template<class R, class D> | |||||
unique_resource(std::reference_wrapper<R> r, D&& d) -> unique_resource<R&, std::decay_t<D>>; | unique_resource(std::reference_wrapper<R> r, D&& d) -> unique_resource<R&, std::decay_t<D>>; | ||||