2
0

Common.cpp 757 B

123456789101112131415161718192021222324252627282930
  1. // Copyright (C) 2009-2021, Panagiotis Christopoulos Charitos and contributors.
  2. // All rights reserved.
  3. // Code licensed under the BSD License.
  4. // http://www.anki3d.org/LICENSE
  5. #include <AnKi/Resource/Common.h>
  6. #include <AnKi/Resource.h>
  7. namespace anki
  8. {
  9. // Instan
  10. template<typename T>
  11. void ResourcePtrDeleter<T>::operator()(T* ptr)
  12. {
  13. ptr->getManager().unregisterResource(ptr);
  14. auto alloc = ptr->getAllocator();
  15. alloc.deleteInstance(ptr);
  16. }
  17. #define ANKI_INSTANTIATE_RESOURCE(rsrc_, ptr_) template void ResourcePtrDeleter<rsrc_>::operator()(rsrc_* ptr);
  18. #define ANKI_INSTANSIATE_RESOURCE_DELIMITER()
  19. #include <AnKi/Resource/InstantiationMacros.h>
  20. #undef ANKI_INSTANTIATE_RESOURCE
  21. #undef ANKI_INSTANSIATE_RESOURCE_DELIMITER
  22. } // end namespace anki