2#ifndef LIBSBX_SIGNAL_TO_WEAK_HPP_
3#define LIBSBX_SIGNAL_TO_WEAK_HPP_
8namespace sbx::signals {
10template<
typename Type>
11auto to_weak(std::weak_ptr<Type> ptr) -> std::weak_ptr<Type> {
15template<
typename Type>
16auto to_weak(std::shared_ptr<Type> ptr) -> std::weak_ptr<Type> {
20template<
typename Type,
typename =
void>
23template<
typename Type>
24struct 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 { };
26template<
typename Type>
29template<
typename Type,
typename =
void>
32template<
typename Type>
35template<
typename Type>
Definition: to_weak.hpp:30
Definition: to_weak.hpp:21