Common.cpp 757 B

1234567891011121314151617181920212223242526272829
  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. // Instan
  9. template<typename T>
  10. void ResourcePtrDeleter<T>::operator()(T* ptr)
  11. {
  12. ptr->getManager().unregisterResource(ptr);
  13. auto alloc = ptr->getAllocator();
  14. alloc.deleteInstance(ptr);
  15. }
  16. #define ANKI_INSTANTIATE_RESOURCE(rsrc_, ptr_) template void ResourcePtrDeleter<rsrc_>::operator()(rsrc_* ptr);
  17. #define ANKI_INSTANSIATE_RESOURCE_DELIMITER()
  18. #include <AnKi/Resource/InstantiationMacros.h>
  19. #undef ANKI_INSTANTIATE_RESOURCE
  20. #undef ANKI_INSTANSIATE_RESOURCE_DELIMITER
  21. } // end namespace anki