Loading...
Searching...
No Matches
GenericRangeMap< T > Class Template Reference

Public Member Functions

 GenericRangeMap ()
 
 GenericRangeMap (const vector< GenericRange< T > > &ranges)
 
 GenericRangeMap (const vector< GenericRange< T > > &ranges, std::function< void(vector< T > &)> orderingStrategy)
 
const vector< GenericRange< T > > & GetSourceRanges () const
 
const vector< GenericRange< T > > & GetRanges () const
 
const vector< T > & GetItemsAt (uint64_t addr) const
 
const GenericRange< T > & GetGenericRangeAt (uint64_t addr) const
 
GenericRange< T > & GetMutableGenericRangeAt (uint64_t addr)
 
std::optional< std::pair< uint64_t, uint64_t > > GetNextValidRange (uint64_t addr, std::function< bool(const GenericRange< T > &)> predicate) const
 
std::optional< std::pair< uint64_t, uint64_t > > GetPreviousValidRange (uint64_t addr, std::function< bool(const GenericRange< T > &)> predicate) const
 

Static Public Member Functions

static void flatten (vector< GenericRange< T > > &intervals)
 

Constructor & Destructor Documentation

◆ GenericRangeMap() [1/3]

template<typename T >
GenericRangeMap< T >::GenericRangeMap ( )
inline

◆ GenericRangeMap() [2/3]

template<typename T >
GenericRangeMap< T >::GenericRangeMap ( const vector< GenericRange< T > > & ranges)
inline

◆ GenericRangeMap() [3/3]

template<typename T >
GenericRangeMap< T >::GenericRangeMap ( const vector< GenericRange< T > > & ranges,
std::function< void(vector< T > &)> orderingStrategy )
inline

Member Function Documentation

◆ flatten()

template<typename T >
static void GenericRangeMap< T >::flatten ( vector< GenericRange< T > > & intervals)
inlinestatic

◆ GetSourceRanges()

template<typename T >
const vector< GenericRange< T > > & GenericRangeMap< T >::GetSourceRanges ( ) const
inline

◆ GetRanges()

template<typename T >
const vector< GenericRange< T > > & GenericRangeMap< T >::GetRanges ( ) const
inline

◆ GetItemsAt()

template<typename T >
const vector< T > & GenericRangeMap< T >::GetItemsAt ( uint64_t addr) const
inline

◆ GetGenericRangeAt()

template<typename T >
const GenericRange< T > & GenericRangeMap< T >::GetGenericRangeAt ( uint64_t addr) const
inline

◆ GetMutableGenericRangeAt()

template<typename T >
GenericRange< T > & GenericRangeMap< T >::GetMutableGenericRangeAt ( uint64_t addr)
inline

◆ GetNextValidRange()

template<typename T >
std::optional< std::pair< uint64_t, uint64_t > > GenericRangeMap< T >::GetNextValidRange ( uint64_t addr,
std::function< bool(const GenericRange< T > &)> predicate ) const
inline

◆ GetPreviousValidRange()

template<typename T >
std::optional< std::pair< uint64_t, uint64_t > > GenericRangeMap< T >::GetPreviousValidRange ( uint64_t addr,
std::function< bool(const GenericRange< T > &)> predicate ) const
inline