RecoSim  1.0
 All Classes Files Functions Variables Enumerations
memory_manager.h
Go to the documentation of this file.
1 
22 #ifndef MEMORY_MANAGER_H
23 #define MEMORY_MANAGER_H
24 
25 #include "tlm.h"
26 #include "utils.h"
27 
28 
29 class Memory_manager: public tlm::tlm_mm_interface {
30 
31  typedef tlm::tlm_generic_payload gp_t;
32 
33 public:
34  Memory_manager() : free_list(0), empties(0)
35  #ifdef DEBUG
36  , count(0)
37  #endif
38  {}
39 
40  ~Memory_manager() {
41  /*while(empties != 0) {
42  delete empties->trans;
43  access *current = empties;
44  empties = empties->next;
45  delete current;
46  }*/
47  }
48 
49  gp_t* allocate();
50  void free(gp_t* trans);
51 
52 private:
53  struct access {
54  gp_t* trans;
55  access* next;
56  access* prev;
57  };
58 
59  access* free_list;
60  access* empties;
61 
62 #ifdef DEBUG
63  int count;
64 #endif
65 };
66 
67 #endif
Definition: memory_manager.h:29