|
|
|
|
|
|
|
|
return m_resource; |
|
|
return m_resource; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
template<class R = std::decay_t<Ressource>, |
|
|
|
|
|
|
|
|
template<class R = Ressource, |
|
|
std::enable_if_t<std::is_pointer<R>::value && |
|
|
std::enable_if_t<std::is_pointer<R>::value && |
|
|
( std::is_class<std::remove_pointer_t<R>>::value |
|
|
( std::is_class<std::remove_pointer_t<R>>::value |
|
|
|| std::is_union<std::remove_pointer_t<R>>::value ), int> = 0> |
|
|
|| std::is_union<std::remove_pointer_t<R>>::value ), int> = 0> |
|
|
|
|
|
|
|
|
return m_resource; |
|
|
return m_resource; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
template<class R = std::decay_t<Ressource>, |
|
|
|
|
|
|
|
|
template<class R = Ressource, |
|
|
std::enable_if_t<std::is_pointer<R>::value, int> = 0> |
|
|
std::enable_if_t<std::is_pointer<R>::value, int> = 0> |
|
|
std::add_lvalue_reference_t<std::remove_pointer_t<Ressource>> operator*() const noexcept |
|
|
std::add_lvalue_reference_t<std::remove_pointer_t<Ressource>> operator*() const noexcept |
|
|
{ |
|
|
{ |