|
GCSIM
|
implementation of the segmented heap. More...
#include <heap.hpp>
Public Member Functions | |
| heap ()=default | |
| creates the instance of the heap. | |
| ~heap ()=default | |
| deletes the heap object. | |
| heap (const heap &)=delete | |
| deleted copy constructor. | |
| heap & | operator= (const heap &)=delete |
| deleted assignment operator. | |
| heap (heap &&)=delete | |
| deleted move constructor. | |
| heap & | operator= (heap &&)=delete |
| deleted move assignment operator. | |
| segment & | get_small_object_segment (size_t index) |
| getter for small object segments. | |
| const segment & | get_small_object_segment (size_t index) const |
| getter for small object segments. | |
| segment & | get_medium_object_segment (size_t index) |
| getter for medium object segments. | |
| const segment & | get_medium_object_segment (size_t index) const |
| getter for medium object segments. | |
| segment & | get_large_object_segment (size_t index) |
| getter for large object segments. | |
| const segment & | get_large_object_segment (size_t index) const |
| getter for large object segments. | |
Private Attributes | |
| segment | small_object_segments [SMALL_OBJECT_SEGMENTS] |
| segments for small object allocation. | |
| segment | medium_object_segments [MEDIUM_OBJECT_SEGMENTS] |
| segments for medium object allocation. | |
| segment | large_object_segments [LARGE_OBJECT_SEGMENTS] |
| segments for large object allocation. | |
implementation of the segmented heap.
|
default |
creates the instance of the heap.
initializes all segments.
|
default |
deletes the heap object.
frees all segments.
|
delete |
deleted copy constructor.
|
delete |
deleted move constructor.
| segment & heap::get_large_object_segment | ( | size_t | index | ) |
getter for large object segments.
| index | - index of the large object segment. |
| const segment & heap::get_large_object_segment | ( | size_t | index | ) | const |
getter for large object segments.
| index | - index of the large object segment. |
| segment & heap::get_medium_object_segment | ( | size_t | index | ) |
getter for medium object segments.
| index | - index of the medium object segment. |
| const segment & heap::get_medium_object_segment | ( | size_t | index | ) | const |
getter for medium object segments.
| index | - index of the medium object segment. |
| segment & heap::get_small_object_segment | ( | size_t | index | ) |
getter for small object segments.
| index | - index of the small object segment. |
| const segment & heap::get_small_object_segment | ( | size_t | index | ) | const |
getter for small object segments.
| index | - index of the small object segment. |
|
private |
segments for large object allocation.
|
private |
segments for medium object allocation.
|
private |
segments for small object allocation.