ROSE  0.11.96.11
Public Types | Public Member Functions | List of all members
RangeMapNumeric< R, T > Class Template Reference

Description

template<class R, class T>
class RangeMapNumeric< R, T >

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. See the RangeMapVoid class for full documentation.

Definition at line 611 of file rangemap.h.

#include <rangemap.h>

Public Types

typedef R Range
 
typedef T Value
 

Public Member Functions

 RangeMapNumeric ()
 Constructor creates object whose underlying value is zero.
 
 RangeMapNumeric (Value v)
 Constructor creates object with specified value.
 
void removing (const Range &my_range)
 Called when this value is being removed from a RangeMap.
 
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, RangeMapNumeric other_value)
 Called to merge two RangeMap values. More...
 
RangeMapNumeric split (const Range &my_range, typename Range::Value new_end)
 Split a RangeMap value into two parts.
 
void set (Value v)
 Accessor for the value actually stored here.
 
virtual Value get () const
 Accessor for the value actually stored here.
 
void print (std::ostream &o) const
 Print a RangeMap value.
 

Member Function Documentation

◆ merge()

template<class R , class T >
bool RangeMapNumeric< R, T >::merge ( const Range my_range,
const Range other_range,
RangeMapNumeric< R, T >  other_value 
)
inline

Called to merge two RangeMap values.

The values can be merged only if they compare equal.

Definition at line 646 of file rangemap.h.


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