Blame tests/run/cpp_smart_ptr_helper.h

Packit 562c7a
class CountAllocDealloc {
Packit 562c7a
  public:
Packit 562c7a
      CountAllocDealloc(int* alloc_count, int* dealloc_count)
Packit 562c7a
          : _alloc_count(alloc_count), _dealloc_count(dealloc_count) {
Packit 562c7a
        (*_alloc_count)++;
Packit 562c7a
      }
Packit 562c7a
      ~CountAllocDealloc() {
Packit 562c7a
        (*_dealloc_count)++;
Packit 562c7a
      }
Packit 562c7a
  private:
Packit 562c7a
    int* _alloc_count;
Packit 562c7a
    int* _dealloc_count;
Packit 562c7a
};
Packit 562c7a
Packit 562c7a
template<typename T>
Packit 562c7a
struct FreePtr {
Packit 562c7a
  void operator()( T * t ) noexcept
Packit 562c7a
  {
Packit 562c7a
    if(t != nullptr) {
Packit 562c7a
      delete t;
Packit 562c7a
      t=nullptr;
Packit 562c7a
    }
Packit 562c7a
  }
Packit 562c7a
};