Lines Matching refs:Unwrap
50 template <typename A, typename B> static const A *Unwrap(B *p) { in Unwrap() function
52 return Unwrap<A>(*p); in Unwrap()
59 static const A *Unwrap(const common::Indirection<B, COPY> &x) { in Unwrap() function
60 return Unwrap<A>(x.value()); in Unwrap()
64 static const A *Unwrap(const std::variant<Bs...> &x) { in Unwrap() function
65 return std::visit([](const auto &y) { return Unwrap<A>(y); }, x); in Unwrap()
69 static const A *Unwrap(const std::optional<B> &o) { in Unwrap() function
71 return Unwrap<A>(*o); in Unwrap()
78 static const A *Unwrap(const UnlabeledStatement<B> &x) { in Unwrap() function
79 return Unwrap<A>(x.statement); in Unwrap()
82 static const A *Unwrap(const Statement<B> &x) { in Unwrap() function
83 return Unwrap<A>(x.statement); in Unwrap()
86 template <typename A, typename B> static const A *Unwrap(B &x) { in Unwrap() function
90 return Unwrap<A>(x.thing); in Unwrap()
92 return Unwrap<A>(x.v); in Unwrap()
94 return Unwrap<A>(x.u); in Unwrap()
101 template <typename A, typename B> const A *Unwrap(const B &x) { in Unwrap() function
102 return UnwrapperHelper::Unwrap<A>(x); in Unwrap()
104 template <typename A, typename B> A *Unwrap(B &x) { in Unwrap() function
105 return const_cast<A *>(Unwrap<A, B>(const_cast<const B &>(x))); in Unwrap()