ExtentMap Class Reference

#include <Cxx_Grammar.h>

Inheritance diagram for ExtentMap:

Inheritance graph
[legend]
Collaboration diagram for ExtentMap:

Collaboration graph
[legend]
List of all members.

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.

Constructor & Destructor Documentation

ExtentMap::ExtentMap (  )  [inline]

template<class Other>
ExtentMap::ExtentMap ( const Other &  other  )  [inline]


Member Function Documentation

char ExtentMap::category ( const Extent a,
const Extent b 
) [static]

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

ExtentMap ExtentMap::subtract_from ( const Extent e  )  const [inline]

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.


The documentation for this class was generated from the following files:
Generated on Tue Jan 31 05:34:06 2012 for ROSE by  doxygen 1.4.7