|
ROSE
0.9.6a
|
Scalar value type for a RangeMap. More...
#include <rangemap.h>


Public Types | |
| typedef R | Range |
| typedef T | Value |
Public Member Functions | |
| RangeMapValue () | |
| Constructor creates object whose underlying value is default constructed. More... | |
| RangeMapValue (const Value &v) | |
| Constructor creates object with specified value. More... | |
| virtual | ~RangeMapValue () |
| virtual void | removing (const Range &my_range) |
| Called when this value is being removed from a RangeMap. More... | |
| virtual void | truncate (const Range &my_range, const typename Range::Value &new_end) |
| Called when removing part of a value from a RangeMap. More... | |
| bool | merge (const Range &my_range, const Range &other_range, const RangeMapValue &other_value) |
| Called to merge two RangeMap values. More... | |
| virtual void | set (const Value &v) |
| Accessor for the value actually stored here. More... | |
| virtual Value | get () const |
| Accessor for the value actually stored here. More... | |
Protected Attributes | |
| Value | value |
| virtual void | print (std::ostream &o) const |
| Print a RangeMap value. More... | |
| std::ostream & | operator<< (std::ostream &o, const RangeMapValue &x) |
| Print a RangeMap value. More... | |
Scalar value type for a RangeMap.
Values can be merged if they compare equal; splitting a value is done by copying it. The removing() and truncate() methods are no-ops. This class is often used as a base class for other more sophisticated range maps. See the RangeMapVoid class for full documentation.
Definition at line 664 of file rangemap.h.
| typedef R RangeMapValue< R, T >::Range |
Definition at line 666 of file rangemap.h.
| typedef T RangeMapValue< R, T >::Value |
Definition at line 667 of file rangemap.h.
|
inline |
Constructor creates object whose underlying value is default constructed.
Definition at line 670 of file rangemap.h.
|
inline |
Constructor creates object with specified value.
Definition at line 673 of file rangemap.h.
|
inlinevirtual |
Definition at line 678 of file rangemap.h.
|
inlinevirtual |
Accessor for the value actually stored here.
Definition at line 683 of file rangemap.h.
|
inlinevirtual |
Accessor for the value actually stored here.
Definition at line 686 of file rangemap.h.
Referenced by RangeMapValue< Extent, Function * >::merge().
|
inlinevirtual |
Called when this value is being removed from a RangeMap.
Definition at line 693 of file rangemap.h.
|
inlinevirtual |
Called when removing part of a value from a RangeMap.
Definition at line 698 of file rangemap.h.
|
inline |
Called to merge two RangeMap values.
The values can be merged only if they compare equal.
Definition at line 703 of file rangemap.h.
|
inlinevirtual |
Print a RangeMap value.
Reimplemented in Partitioner::DataRangeMapValue, and Partitioner::FunctionRangeMapValue.
Definition at line 718 of file rangemap.h.
|
friend |
Print a RangeMap value.
Definition at line 721 of file rangemap.h.
|
protected |
Definition at line 728 of file rangemap.h.
Referenced by RangeMapValue< Extent, Function * >::get(), RangeMapValue< Extent, Function * >::print(), RangeMapValue< Extent, Function * >::RangeMapValue(), and RangeMapValue< Extent, Function * >::set().