/* * Copyright 2017 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #ifndef SkVptr_DEFINED #define SkVptr_DEFINED #include #include // Experimentally, see if we can get at the vptr of objects with one. template static inline void* SkVptr(const T& object) { static_assert(std::has_virtual_destructor::value, ""); void* vptr; memcpy(&vptr, (const void*)&object, sizeof(vptr)); return vptr; } #endif//SkVptr_DEFINED