gem5  v20.1.0.0
Public Member Functions | Private Member Functions | Private Attributes | List of all members
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 ProxyPtrBuffer< Proxy >

Definition at line 41 of file proxy_ptr.hh.

Constructor & Destructor Documentation

◆ ProxyPtrBuffer()

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

Definition at line 96 of file proxy_ptr.hh.

References ProxyPtrBuffer< Proxy >::load().

◆ ~ProxyPtrBuffer()

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

Definition at line 102 of file proxy_ptr.hh.

References ProxyPtrBuffer< Proxy >::flush().

Member Function Documentation

◆ addr()

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

Definition at line 94 of file proxy_ptr.hh.

References ProxyPtrBuffer< Proxy >::ptr.

◆ as()

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

◆ asConst()

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

Definition at line 72 of file proxy_ptr.hh.

References ProxyPtrBuffer< Proxy >::data, and ProxyPtrBuffer< Proxy >::size.

◆ flush()

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

◆ getProxy()

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

Definition at line 56 of file proxy_ptr.hh.

References ProxyPtrBuffer< Proxy >::proxy.

◆ isDirty()

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

◆ load()

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

◆ markClean()

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

Definition at line 52 of file proxy_ptr.hh.

References ProxyPtrBuffer< Proxy >::dirty.

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

◆ markDirty()

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

Definition at line 58 of file proxy_ptr.hh.

References ProxyPtrBuffer< Proxy >::dirty.

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

Member Data Documentation

◆ data

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

◆ dirty

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

◆ proxy

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

◆ ptr

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

◆ size

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

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

Generated on Wed Sep 30 2020 14:02:29 for gem5 by doxygen 1.8.17