FTTUPtr.h 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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. T* GetObj()
  40. {
  41. return pType_0;
  42. }
  43. void SetObj(T*obj){
  44. pType_0=obj;
  45. }
  46. ~FTTUPtr() { delete pType_0; };
  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. // FTTUPtr<T>* operator=(T** other) {
  55. // if (pType_0 != nullptr) {
  56. // delete[] pType_0;
  57. // }
  58. // pType_0 = *other;
  59. // return this;
  60. // }
  61. void Delete() {
  62. if (pType_0 != nullptr) {
  63. delete pType_0;
  64. }
  65. pType_0 = nullptr;
  66. }
  67. T* pType_0;
  68. };
  69. #endif //_FTTUPTR_H_