1#ifndef LIBSBX_SIGNAL_TO_WEAK_HPP_
2#define LIBSBX_SIGNAL_TO_WEAK_HPP_
7namespace sbx::signals {
10auto to_weak(std::weak_ptr<Type> ptr) -> std::weak_ptr<Type> {
14template<
typename Type>
15auto to_weak(std::shared_ptr<Type> ptr) -> std::weak_ptr<Type> {
19template<
typename Type,
typename =
void>
22template<
typename Type>
23struct is_weak_ptr<Type, std::void_t<decltype(std::declval<Type>().expired()), decltype(std::declval<Type>().lock()), decltype(std::declval<Type>().reset())>> : std::true_type { };
25template<
typename Type>
28template<
typename Type,
typename =
void>
31template<
typename Type>
34template<
typename Type>
Definition: to_weak.hpp:29
Definition: to_weak.hpp:20