1 #pragma once 2 3 #include "memory.h" 4 5 6 7 /* A memory pool incrementally requesting new regions. */ 8 9 class MemoryIncremental : public Memory 10 { 11 protected: 12 unsigned int _limit; 13 bool _limited; 14 15 virtual Region *allocate(offset_t size); 16 17 public: 18 explicit MemoryIncremental(unsigned int limit, offset_t region_size=PAGE_SIZE); 19 20 explicit MemoryIncremental(); 21 22 virtual Region *region(); 23 24 virtual Region *region(offset_t size); 25 26 virtual void release(Region *region); 27 }; 28 29 // vim: tabstop=4 expandtab shiftwidth=4