com_ptr.h - Engine C API Reference

com_ptr.h
  1. #pragma once
  2. #if defined(WINDOWSPC) || defined(XBOXONE)
  3. namespace stingray_plugin_foundation {
  4. template<typename T>
  5. class ComPtr {
  6. public:
  7. explicit ComPtr(T* ptr = 0);
  8. ComPtr(const ComPtr<T>& rhs);
  9. ~ComPtr();
  10. ComPtr<T>& operator=(const ComPtr<T>& rhs);
  11. T& operator*() const;
  12. T* operator->() const;
  13. T* get() const;
  14. T* abandon() const;
  15. T** init_ptr();
  16. private:
  17. T* _ptr;
  18. mutable bool _owned;
  19. };
  20. #endif
  21. }
  22. #include "com_ptr.inl"