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 |
};
|