aboutsummaryrefslogtreecommitdiff
path: root/src/zencore/memtrack/tracemalloc.h
blob: 017962d080e976ea6838096cd3f10e9b03916b7c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once

#include <zencore/memory/fmalloc.h>
#include <zencore/memory/memorytrace.h>

namespace zen {

class FTraceMalloc : public FMalloc
{
public:
	FTraceMalloc(FMalloc* InMalloc);
	virtual ~FTraceMalloc();

	virtual void* Malloc(size_t Count, uint32_t Alignment) override;
	virtual void* Realloc(void* Original, size_t Count, uint32_t Alignment) override;
	virtual void  Free(void* Original) override;

	virtual void		OnMallocInitialized() override { WrappedMalloc->OnMallocInitialized(); }
	virtual const char* GetName() const override { return WrappedMalloc->GetName(); }

	FMalloc* WrappedMalloc;
};

}  // namespace zen