leaky_ref_counted_singleton.h 631 B

12345678910111213141516171819202122
  1. #pragma once
  2. #include "intrusive_ptr.h"
  3. namespace NYT {
  4. ////////////////////////////////////////////////////////////////////////////////
  5. #define DECLARE_LEAKY_REF_COUNTED_SINGLETON_FRIEND() \
  6. template <class T> \
  7. friend struct ::NYT::TRefCountedWrapper;
  8. template <class T, class... TArgs>
  9. TIntrusivePtr<T> LeakyRefCountedSingleton(TArgs&&... args);
  10. ////////////////////////////////////////////////////////////////////////////////
  11. } // namespace NYT
  12. #define LEAKY_REF_COUNTED_SINGLETON_INL_H_
  13. #include "leaky_ref_counted_singleton-inl.h"
  14. #undef LEAKY_REF_COUNTED_SINGLETON_INL_H_