|
template<typename A, typename B> |
static auto | Unwrap (B &x) -> Constify< A, B > * |
template<typename A, typename B> |
static auto | Unwrap (B *p) -> Constify< A, B > * |
template<typename A, typename B> |
static auto | Unwrap (const std::unique_ptr< B > &p) -> Constify< A, B > * |
template<typename A, typename B> |
static auto | Unwrap (const std::shared_ptr< B > &p) -> Constify< A, B > * |
template<typename A, typename B> |
static auto | Unwrap (std::optional< B > &x) -> Constify< A, B > * |
template<typename A, typename B> |
static auto | Unwrap (const std::optional< B > &x) -> Constify< A, B > * |
template<typename A, typename... Bs> |
static A * | Unwrap (std::variant< Bs... > &u) |
template<typename A, typename... Bs> |
static auto | Unwrap (const std::variant< Bs... > &u) -> std::add_const_t< A > * |
template<typename A, typename B> |
static auto | Unwrap (const Reference< B > &ref) -> Constify< A, B > * |
template<typename A, typename B, bool COPY> |
static auto | Unwrap (const Indirection< B, COPY > &p) -> Constify< A, B > * |
template<typename A, typename B> |
static auto | Unwrap (const CountedReference< B > &p) -> Constify< A, B > * |