FTTUPtr.h 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. // FTTUPtr - [2020-04-13 11:57:47]
  2. #ifndef _FTTUPTR_H_
  3. #define _FTTUPTR_H_
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6. /*
  7. 00191918 FTTUPtr<CGfxAdboard>::~FTTUPtr()
  8. 00191970 FTTUPtr<CGfxAdboard>::operator=(CGfxAdboard*)
  9. 00196CA2 FTTUPtr<CrowdTextureCreationData>::~FTTUPtr()
  10. 00196D0E FTTUPtr<CFTTRenderHelper>::~FTTUPtr()
  11. 00196E7C FTTUPtr<CFTTRenderHelper>::operator=(CFTTRenderHelper*)
  12. FTTUPtr_CFTTRenderHelper
  13. 0019BBCC FTTUPtr<CGfxCrowdFlagPhysics>::~FTTUPtr()
  14. 0019BFE8 FTTUPtr<CGfxCrowdCardGroup>::~FTTUPtr()
  15. 0019C2F0 FTTUPtr<CGfxCrowdFlagRender>::~FTTUPtr()
  16. 0019EAC4 FTTUPtr<CrowdTextureCreationData>::operator=(CrowdTextureCreationData*)
  17. 0019F674 FTTUPtr<FTTAtlasGenerator>::operator=(FTTAtlasGenerator*)
  18. 001A329C FTTUPtr<CGfxCloth>::operator=(CGfxCloth*)
  19. 001A4CC8 FTTUPtr<FTTAtlasGenerator>::~FTTUPtr()
  20. 001A67B0 FTTUPtr<CGfxCloth>::~FTTUPtr()
  21. 001AE1CC FTTUPtr<CGfxPostProcess>::~FTTUPtr()
  22. 001B92D0 FTTUPtr<CFTTTexture>::Delete()
  23. 001C3C68 FTTUPtr<CFTTBatchModelManager>::~FTTUPtr()
  24. 001C40D4 FTTUPtr<CFTTBatchModelManager>::operator=(CFTTBatchModelManager*)
  25. FTTUPtr_CFTTTexture
  26. 001A4A74 FTTUPtr<FTTAtlasGeneratorNode []>::operator=(FTTAtlasGeneratorNode*)
  27. */
  28. template <typename T>
  29. class FTTUPtr {
  30. public:
  31. FTTUPtr(T* p) { pType_0 = p; };
  32. FTTUPtr(){};
  33. // FTTUPtr(T[] * p) {
  34. // if (pType_0 != nullptr) {
  35. // delete[] pType_0;
  36. // }
  37. // pType_0 = p;
  38. // };
  39. ~FTTUPtr() { delete pType_0; };
  40. FTTUPtr<T>* operator=(T* other) {
  41. if (pType_0 != nullptr) {
  42. delete pType_0;
  43. }
  44. pType_0 = other;
  45. return this;
  46. }
  47. // FTTUPtr<T>* operator=(T** other) {
  48. // if (pType_0 != nullptr) {
  49. // delete[] pType_0;
  50. // }
  51. // pType_0 = *other;
  52. // return this;
  53. // }
  54. void Delete() {
  55. if (pType_0 != nullptr) {
  56. delete pType_0;
  57. }
  58. pType_0 = nullptr;
  59. }
  60. T* pType_0;
  61. };
  62. #endif //_FTTUPTR_H_