gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Private Types | Private Attributes | List of all members
AddrRangeMap< V > Class Template Reference

The AddrRangeMap uses an STL map to implement an interval tree for address decoding. More...

#include <addr_range_map.hh>

Public Types

typedef RangeMap::iterator iterator
 
typedef RangeMap::const_iterator const_iterator
 

Public Member Functions

const_iterator find (const AddrRange &r) const
 
const_iterator find (const Addr &r) const
 
bool intersect (const AddrRange &r) const
 
const_iterator insert (const AddrRange &r, const V &d)
 
void erase (iterator p)
 
void erase (iterator p, iterator q)
 
void clear ()
 
const_iterator begin () const
 
iterator begin ()
 
const_iterator end () const
 
iterator end ()
 
std::size_t size () const
 
bool empty () const
 

Private Types

typedef std::map< AddrRange, V > RangeMap
 

Private Attributes

RangeMap tree
 

Detailed Description

template<typename V>
class AddrRangeMap< V >

The AddrRangeMap uses an STL map to implement an interval tree for address decoding.

The value stored is a template type and can be e.g. a port identifier, or a pointer.

Definition at line 58 of file addr_range_map.hh.

Member Typedef Documentation

template<typename V>
typedef RangeMap::const_iterator AddrRangeMap< V >::const_iterator

Definition at line 66 of file addr_range_map.hh.

template<typename V>
typedef RangeMap::iterator AddrRangeMap< V >::iterator

Definition at line 65 of file addr_range_map.hh.

template<typename V>
typedef std::map<AddrRange, V> AddrRangeMap< V >::RangeMap
private

Definition at line 61 of file addr_range_map.hh.

Member Function Documentation

template<typename V>
const_iterator AddrRangeMap< V >::begin ( ) const
inline

Definition at line 151 of file addr_range_map.hh.

Referenced by BaseXBar::recvRangeChange().

template<typename V>
iterator AddrRangeMap< V >::begin ( )
inline

Definition at line 157 of file addr_range_map.hh.

template<typename V>
void AddrRangeMap< V >::clear ( )
inline

Definition at line 145 of file addr_range_map.hh.

template<typename V>
bool AddrRangeMap< V >::empty ( ) const
inline

Definition at line 181 of file addr_range_map.hh.

template<typename V>
const_iterator AddrRangeMap< V >::end ( ) const
inline
template<typename V>
iterator AddrRangeMap< V >::end ( )
inline

Definition at line 169 of file addr_range_map.hh.

template<typename V>
void AddrRangeMap< V >::erase ( iterator  p)
inline

Definition at line 133 of file addr_range_map.hh.

Referenced by BaseXBar::recvRangeChange().

template<typename V>
void AddrRangeMap< V >::erase ( iterator  p,
iterator  q 
)
inline

Definition at line 139 of file addr_range_map.hh.

template<typename V>
const_iterator AddrRangeMap< V >::find ( const AddrRange r) const
inline
template<typename V>
const_iterator AddrRangeMap< V >::find ( const Addr r) const
inline

Definition at line 112 of file addr_range_map.hh.

template<typename V>
const_iterator AddrRangeMap< V >::insert ( const AddrRange r,
const V &  d 
)
inline

Definition at line 124 of file addr_range_map.hh.

Referenced by StorageSpace::addSymbol(), main(), and BaseXBar::recvRangeChange().

template<typename V>
bool AddrRangeMap< V >::intersect ( const AddrRange r) const
inline

Definition at line 118 of file addr_range_map.hh.

Referenced by AddrRangeMap< AbstractMemory * >::insert().

template<typename V>
std::size_t AddrRangeMap< V >::size ( ) const
inline

Definition at line 175 of file addr_range_map.hh.

Referenced by StorageSpace::findSymbol().

Member Data Documentation

template<typename V>
RangeMap AddrRangeMap< V >::tree
private

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

Generated on Fri Jun 9 2017 13:04:00 for gem5 by doxygen 1.8.6