#pragma once template memType *malloc_s(unsigned int size); template class unique_ptr { public: unique_ptr(Target *target); ~unique_ptr(); Target operator *() const; Target *operator ->() const; private: Target *_target; }; template unique_ptr make_unique(Args&... args); #include "memory.tpp"