gem5  v21.1.0.2
Public Member Functions | Private Member Functions | Private Attributes | List of all members
gem5::ProxyPtrBuffer< Proxy > Class Template Reference

#include <proxy_ptr.hh>

Public Member Functions

std::shared_ptr< Proxy > getProxy () const
 
void markDirty ()
 
bool isDirty ()
 
template<typename T >
T & as ()
 
template<typename T >
const T & asConst () const
 
void flush (bool force=false)
 
void load ()
 
Addr addr () const
 
 ProxyPtrBuffer (std::shared_ptr< Proxy > _proxy, Addr _ptr, size_t _size)
 
 ~ProxyPtrBuffer ()
 

Private Member Functions

void markClean ()
 

Private Attributes

std::shared_ptr< Proxy > proxy
 
Addr ptr
 
size_t size
 
std::unique_ptr< uint8_t[]> data
 
bool dirty = false
 

Detailed Description

template<typename Proxy>
class gem5::ProxyPtrBuffer< Proxy >

Definition at line 44 of file proxy_ptr.hh.

Constructor & Destructor Documentation

◆ ProxyPtrBuffer()

template<typename Proxy >
gem5::ProxyPtrBuffer< Proxy >::ProxyPtrBuffer ( std::shared_ptr< Proxy >  _proxy,
Addr  _ptr,
size_t  _size 
)
inline

Definition at line 99 of file proxy_ptr.hh.

References gem5::ProxyPtrBuffer< Proxy >::load().

◆ ~ProxyPtrBuffer()

template<typename Proxy >
gem5::ProxyPtrBuffer< Proxy >::~ProxyPtrBuffer ( )
inline

Definition at line 105 of file proxy_ptr.hh.

References gem5::ProxyPtrBuffer< Proxy >::flush().

Member Function Documentation

◆ addr()

template<typename Proxy >
Addr gem5::ProxyPtrBuffer< Proxy >::addr ( ) const
inline

Definition at line 97 of file proxy_ptr.hh.

References gem5::ProxyPtrBuffer< Proxy >::ptr.

◆ as()

template<typename Proxy >
template<typename T >
T& gem5::ProxyPtrBuffer< Proxy >::as ( )
inline

◆ asConst()

template<typename Proxy >
template<typename T >
const T& gem5::ProxyPtrBuffer< Proxy >::asConst ( ) const
inline

◆ flush()

template<typename Proxy >
void gem5::ProxyPtrBuffer< Proxy >::flush ( bool  force = false)
inline

◆ getProxy()

template<typename Proxy >
std::shared_ptr<Proxy> gem5::ProxyPtrBuffer< Proxy >::getProxy ( ) const
inline

Definition at line 59 of file proxy_ptr.hh.

References gem5::ProxyPtrBuffer< Proxy >::proxy.

◆ isDirty()

template<typename Proxy >
bool gem5::ProxyPtrBuffer< Proxy >::isDirty ( )
inline

◆ load()

template<typename Proxy >
void gem5::ProxyPtrBuffer< Proxy >::load ( )
inline

◆ markClean()

template<typename Proxy >
void gem5::ProxyPtrBuffer< Proxy >::markClean ( )
inlineprivate

Definition at line 55 of file proxy_ptr.hh.

References gem5::ProxyPtrBuffer< Proxy >::dirty.

Referenced by gem5::ProxyPtrBuffer< Proxy >::flush().

◆ markDirty()

template<typename Proxy >
void gem5::ProxyPtrBuffer< Proxy >::markDirty ( )
inline

Definition at line 61 of file proxy_ptr.hh.

References gem5::ProxyPtrBuffer< Proxy >::dirty.

Referenced by gem5::ProxyPtrBuffer< Proxy >::as().

Member Data Documentation

◆ data

template<typename Proxy >
std::unique_ptr<uint8_t[]> gem5::ProxyPtrBuffer< Proxy >::data
private

◆ dirty

template<typename Proxy >
bool gem5::ProxyPtrBuffer< Proxy >::dirty = false
private

◆ proxy

template<typename Proxy >
std::shared_ptr<Proxy> gem5::ProxyPtrBuffer< Proxy >::proxy
private

◆ ptr

template<typename Proxy >
Addr gem5::ProxyPtrBuffer< Proxy >::ptr
private

◆ size

template<typename Proxy >
size_t gem5::ProxyPtrBuffer< Proxy >::size
private

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

Generated on Tue Sep 21 2021 12:27:59 for gem5 by doxygen 1.8.17