#include <Cxx_Grammar.h>
Inheritance diagram for ExtentMap:


Public Member Functions | |
| ExtentMap () | |
| template<class Other> | |
| ExtentMap (const Other &other) | |
| ExtentMap | subtract_from (const Extent &e) const |
| void | allocate_at (const Extent &request) |
| Allocate the specified extent, which must be in the free list. | |
| Extent | allocate_best_fit (const rose_addr_t size) |
| Allocate an extent of the specified size (best fit first) from the extent map, removing the returned extent from the map. | |
| Extent | allocate_first_fit (const rose_addr_t size) |
| Allocate an extent of the specified size (first fit) from the extent map, removing the returned extent from the map. | |
| void | dump_extents (FILE *f, const char *prefix, const char *label, bool pad=true) const |
| Print info about an extent map. | |
Static Public Member Functions | |
| static char | category (const Extent &a, const Extent &b) |
| Class method comparing two extents. | |
| ExtentMap::ExtentMap | ( | ) | [inline] |
| ExtentMap::ExtentMap | ( | const Other & | other | ) | [inline] |
Class method comparing two extents.
The return value is one of the following letters, depending on how extent A is related to extent B: C (congruent): A and B are congruent L (left): A is left of B R (right): A is right of B O (outer): A contains B, but A and B are not congruent I (inner): A is contained by B, but A and B are not congruent B (beginning): A overlaps with the beginning of B but does not contain B E (ending): A overlaps with the end of B but does not contain B
| void ExtentMap::allocate_at | ( | const Extent & | request | ) |
Allocate the specified extent, which must be in the free list.
| Extent ExtentMap::allocate_best_fit | ( | const rose_addr_t | size | ) |
Allocate an extent of the specified size (best fit first) from the extent map, removing the returned extent from the map.
| Extent ExtentMap::allocate_first_fit | ( | const rose_addr_t | size | ) |
Allocate an extent of the specified size (first fit) from the extent map, removing the returned extent from the map.
| void ExtentMap::dump_extents | ( | FILE * | f, | |
| const char * | prefix, | |||
| const char * | label, | |||
| bool | pad = true | |||
| ) | const |
Print info about an extent map.
This is a little different format than the ostream "<<" operator.
1.4.7