/* LICENSE BEGIN This file is part of the Sixty FPS Project Copyright (c) 2020 Olivier Goffart Copyright (c) 2020 Simon Hausmann SPDX-License-Identifier: GPL-3.0-only LICENSE END */ #pragma once template struct VRefMut { const T *vtable; void *instance; }; // For the C++'s purpose, they are all the same template using VRef = VRefMut; template using VBox = VRefMut; template using Pin = T; /* template struct VBox { const T *vtable; void *instance; }; template struct VRef { const T *vtable; const void *instance; }; */ struct PinnedFlag; template struct VOffset { const T *vtable; uintptr_t offset; };