I'm digging into open source engines to understand their memory management but the more I look in it, the more confused I get.
For example Unigine ( it's a nice engine ) uses different headers for all kind of allocations.
struct FixedChunk; struct FixedAllocator; struct HeapChunk; struct HeapPool; struct HeapAllocator; struct SystemAllocator; struct Allocator; struct Memory;
Why are they using so many structs(all in different headers)?
An allocator is an allocator so why don't they just write 1 struct: Allocator. and use it for everything.
I don't get it why they uses so many structs. So if someone could explain this for me, thank you!