#pragma once namespace ehs { template class SPVE { private: SPV *owner; T *value; public: SPVE(); SPVE(T *value); SPVE(SPVE &&spve) noexcept; SPVE(const SPVE &spve); SPVE &operator=(SPVE &&spve) noexcept; SPVE &operator=(const SPVE &spve); }; }