| 
    ROSE 0.11.145.357
    
   | 
 
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 674 of file rangemap.h.
#include <roseSupport/rangemap.h>

Public Types | |
| typedef R | Range | 
| typedef T | Value | 
Public Member Functions | |
| RangeMapValue () | |
| Constructor creates object whose underlying value is default constructed.   | |
| RangeMapValue (const Value &v) | |
| Constructor creates object with specified value.   | |
| virtual void | removing (const Range &my_range) | 
| Called when this value is being removed from a RangeMap.   | |
| virtual void | truncate (const Range &my_range, const typename Range::Value &new_end) | 
| Called when removing part of a value from a RangeMap.   | |
| bool | merge (const Range &my_range, const Range &other_range, const RangeMapValue &other_value) | 
| Called to merge two RangeMap values.   | |
| virtual void | set (const Value &v) | 
| Accessor for the value actually stored here.   | |
| virtual Value | get () const | 
| Accessor for the value actually stored here.   | |
Protected Attributes | |
| Value | value | 
| virtual void | print (std::ostream &o) const | 
| Print a RangeMap value.   | |
| typedef R RangeMapValue< R, T >::Range | 
Definition at line 676 of file rangemap.h.
| typedef T RangeMapValue< R, T >::Value | 
Definition at line 677 of file rangemap.h.
      
  | 
  inline | 
Constructor creates object whose underlying value is default constructed.
Definition at line 680 of file rangemap.h.
      
  | 
  inline | 
Constructor creates object with specified value.
Definition at line 683 of file rangemap.h.
      
  | 
  inlinevirtual | 
Definition at line 688 of file rangemap.h.
      
  | 
  inlinevirtual | 
Accessor for the value actually stored here.
Definition at line 693 of file rangemap.h.
      
  | 
  inlinevirtual | 
Accessor for the value actually stored here.
Definition at line 696 of file rangemap.h.
Referenced by RangeMapValue< R, T >::merge().
      
  | 
  inlinevirtual | 
Called when this value is being removed from a RangeMap.
Definition at line 703 of file rangemap.h.
References Range< T >::empty().
      
  | 
  inlinevirtual | 
Called when removing part of a value from a RangeMap.
Definition at line 708 of file rangemap.h.
References Range< T >::first(), and Range< T >::last().
      
  | 
  inline | 
Called to merge two RangeMap values.
The values can be merged only if they compare equal.
Definition at line 713 of file rangemap.h.
References Range< T >::empty(), and RangeMapValue< R, T >::get().
      
  | 
  inlinevirtual | 
Print a RangeMap value.
Definition at line 728 of file rangemap.h.
      
  | 
  protected | 
Definition at line 738 of file rangemap.h.