ROSE 0.11.145.147
Public Member Functions | Static Public Member Functions | List of all members
ExtentMap Class Reference

Description

Definition at line 19 of file rose_extent.h.

Inheritance diagram for ExtentMap:
Inheritance graph
[legend]
Collaboration diagram for ExtentMap:
Collaboration graph
[legend]

Public Member Functions

template<class Other >
 ExtentMap (const Other &other)
 
ExtentMap subtract_from (const Extent &e) const
 
void allocate_at (const Extent &request)
 
Extent allocate_best_fit (const rose_addr_t size)
 
Extent allocate_first_fit (const rose_addr_t size)
 
void dump_extents (std::ostream &, const std::string &prefix="", const std::string &label="") const
 
void dump_extents (FILE *f, const char *prefix, const char *label, bool pad=true) const
 
- Public Member Functions inherited from RangeMap< Extent >
 RangeMap ()
 Create a new, empty map.
 
 RangeMap (const Other &other)
 Create a new map from an existing map.
 
bool empty () const
 Returns true if this RangeMap is empty.
 
size_t nranges () const
 Returns the number of ranges in the range map.
 
Range::Value size () const
 Returns the number of values represented by this RangeMap.
 
Range::Value min () const
 Returns the minimum value in an extent map.
 
Range::Value max () const
 Returns the maximum value in an extent map.
 
Range minmax () const
 Returns the range of values in this map.
 
void clear (bool notify=true)
 Clears the map.
 
void erase (const Range &erase_range)
 Erases the specified range from this map.
 
void erase_ranges (const OtherMap &other)
 Erase ranges from this map.
 
iterator insert (Range new_range, Value new_value=Value(), bool make_hole=true)
 Insert a range/value pair into the map.
 
void insert_ranges (const RangeMap &x, bool make_hole=true)
 Insert one rangemap into another.
 
void insert_ranges (const_iterator start, const_iterator stop, bool make_hole=true)
 Insert part of one rangemap into another.
 
bool overlaps (const RangeMap &x) const
 Determines if two range maps overlap.
 
bool overlaps (const Range &r) const
 Determines if a range map overlaps with a specified range.
 
bool distinct (const Range &r) const
 Determines if a range map does not contain any part of the specified range.
 
bool distinct (const RangeMap &x) const
 Determines if two range maps are distinct.
 
bool contains (Range need) const
 Determines if this range map contains all of the specified range.
 
bool contains (const RangeMap &x) const
 Determins if this range map contains all of some other range map.
 
ResultMap invert () const
 Create an inverse of a range map.
 
ResultMap invert_within (const Range &limits) const
 Create a range map that's the inverse of some other map.
 
RangeMap select_overlapping_ranges (const Range &selector) const
 Select ranges overlapping selector range.
 
void check () const
 
void print (std::ostream &o) const
 Prints unformatted RangeMap on a single line.
 
iterator begin ()
 First-item iterator.
 
const_iterator begin () const
 First-item iterator.
 
iterator end ()
 End-item iterator.
 
const_iterator end () const
 End-item iterator.
 
reverse_iterator rbegin ()
 Returns a reverse iterator referring to the last item of the map, the rend() iterator if the RangeMap is empty.
 
const_reverse_iterator rbegin () const
 Returns a reverse iterator referring to the last item of the map, the rend() iterator if the RangeMap is empty.
 
reverse_iterator rend ()
 Returns a reverse iterator referring to the element right before the first element in the map, which is considered its reverse end.
 
const_reverse_iterator rend () const
 Returns a reverse iterator referring to the element right before the first element in the map, which is considered its reverse end.
 
iterator find (const typename Range::Value &addr)
 Find the range containing specified value.
 
const_iterator find (const typename Range::Value &addr) const
 Find the range containing specified value.
 
iterator lower_bound (const typename Range::Value &addr)
 Finds the first range ending above the specified value.
 
const_iterator lower_bound (const typename Range::Value &addr) const
 Finds the first range ending above the specified value.
 
iterator find_prior (const typename Range::Value &addr)
 Finds the last range starting at or below the specified value.
 
const_iterator find_prior (const typename Range::Value &addr) const
 Finds the last range starting at or below the specified value.
 
iterator best_fit (const typename Range::Value &size, iterator start)
 Find range with closest size.
 
const_iterator best_fit (const typename Range::Value &size, const_iterator start) const
 Find range with closest size.
 
iterator first_fit (const typename Range::Value &size, iterator start)
 Find first range of larger size.
 
const_iterator first_fit (const typename Range::Value &size, const_iterator start)
 Find first range of larger size.
 
iterator find_overlap (const RangeMap &x)
 Find the first overlap between two RangeMap objects.
 
const_iterator first_overlap (const RangeMap &x) const
 Find the first overlap between two RangeMap objects.
 
iterator find_overlap (iterator start, iterator stop, const RangeMap &x)
 Find an overlap between two RangeMap objects.
 
const_iterator find_overlap (const_iterator start, const_iterator stop, const RangeMap &x) const
 Find an overlap between two RangeMap objects.
 

Static Public Member Functions

static char category (const Extent &a, const Extent &b)
 

Additional Inherited Members

- Public Types inherited from RangeMap< Extent >
typedef Extent Range
 
typedef RangeMapVoid< ExtentValue
 A type having the Range interface, used as keys in the underlying std::map.
 
typedef Map::iterator iterator
 
typedef Map::const_iterator const_iterator
 
typedef Map::reverse_iterator reverse_iterator
 
typedef Map::const_reverse_iterator const_reverse_iterator
 
- Protected Types inherited from RangeMap< Extent >
typedef std::pair< Range, RangeRangePair
 
typedef std::pair< Range, ValueMapPair
 
typedef std::map< Range, Value, RangeCompare > Map
 
- Protected Attributes inherited from RangeMap< Extent >
Map ranges
 

Constructor & Destructor Documentation

◆ ExtentMap() [1/2]

ExtentMap::ExtentMap ( )
inline

Definition at line 21 of file rose_extent.h.

◆ ExtentMap() [2/2]

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

Definition at line 22 of file rose_extent.h.

Member Function Documentation

◆ subtract_from()

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

Definition at line 24 of file rose_extent.h.


The documentation for this class was generated from the following file: