5 #ifndef FLUTTER_IMPELLER_BASE_BACKEND_CAST_H_
6 #define FLUTTER_IMPELLER_BASE_BACKEND_CAST_H_
10 template <
class Sub,
class Base>
13 static Sub&
Cast(Base& base) {
return reinterpret_cast<Sub&
>(base); }
15 static const Sub&
Cast(
const Base& base) {
16 return reinterpret_cast<const Sub&
>(base);
19 static Sub*
Cast(Base* base) {
return reinterpret_cast<Sub*
>(base); }
21 static const Sub*
Cast(
const Base* base) {
22 return reinterpret_cast<const Sub*
>(base);
static Sub * Cast(Base *base)
static const Sub * Cast(const Base *base)
static const Sub & Cast(const Base &base)
static Sub & Cast(Base &base)