gem5 v24.0.0.0
|
#include <proxy_ptr.hh>
Public Types | |
using | Type = T |
Public Member Functions | |
template<typename ... Args, typename std::enable_if_t< std::is_constructible_v< Proxy, Args &&... >, int > = 0> | |
ConstProxyPtr (Addr _ptr, Args &&... args) | |
template<typename ... Args, typename std::enable_if_t< std::is_constructible_v< Proxy, Args &&... >, int > = 0> | |
ConstProxyPtr (Args &&... args) | |
template<typename O , typename Enabled = typename std::enable_if_t<std::is_assignable_v<T *, O *>>> | |
ConstProxyPtr (const ConstProxyPtr< O, Proxy > &other) | |
ConstProxyPtr (const CPP &other) | |
void | load () |
Addr | addr () const |
operator bool () const | |
template<typename A > | |
std::enable_if_t< std::is_integral_v< A >, CPP > | operator+ (A a) const |
template<typename A > | |
std::enable_if_t< std::is_integral_v< A >, CPP > | operator- (A a) const |
ptrdiff_t | operator- (const CPP &other) const |
CPP & | operator= (const CPP &other) |
CPP & | operator= (const Addr &a) |
operator const T * () const | |
const T & | operator* () const |
const T * | operator-> () const |
Protected Types | |
using | CPP = ConstProxyPtr<T, Proxy> |
Protected Member Functions | |
void | nullCheck () const |
void | setAddr (Addr ptr) |
ConstProxyPtr (Addr _ptr, std::shared_ptr< Proxy > _proxy) | |
Protected Attributes | |
std::shared_ptr< Proxy > | proxy |
std::shared_ptr< ProxyPtrBuffer< Proxy > > | buffer |
Friends | |
template<typename O , typename P > | |
class | ProxyPtr |
Definition at line 109 of file proxy_ptr.hh.
|
protected |
Definition at line 134 of file proxy_ptr.hh.
using gem5::ConstProxyPtr< T, Proxy >::Type = T |
Definition at line 137 of file proxy_ptr.hh.
|
inlineprotected |
Definition at line 129 of file proxy_ptr.hh.
References gem5::ConstProxyPtr< T, Proxy >::setAddr().
|
inlineexplicit |
Definition at line 142 of file proxy_ptr.hh.
References gem5::ConstProxyPtr< T, Proxy >::setAddr().
|
inlineexplicit |
Definition at line 150 of file proxy_ptr.hh.
References gem5::ConstProxyPtr< T, Proxy >::setAddr().
|
inline |
Definition at line 158 of file proxy_ptr.hh.
|
inline |
Definition at line 162 of file proxy_ptr.hh.
|
inline |
Definition at line 173 of file proxy_ptr.hh.
References gem5::ConstProxyPtr< T, Proxy >::buffer.
Referenced by abiTestFunc(), abiTestFuncConst(), gem5::doClone(), gem5::ConstProxyPtr< T, Proxy >::operator+(), gem5::ProxyPtr< T, Proxy >::operator+(), gem5::ConstProxyPtr< T, Proxy >::operator-(), gem5::ConstProxyPtr< T, Proxy >::operator-(), gem5::ProxyPtr< T, Proxy >::operator-(), gem5::ProxyPtr< T, Proxy >::operator-(), gem5::operator<<(), TEST(), TEST(), TEST(), and TEST().
|
inline |
Definition at line 167 of file proxy_ptr.hh.
References gem5::ConstProxyPtr< T, Proxy >::buffer, and gem5::ConstProxyPtr< T, Proxy >::nullCheck().
|
inlineprotected |
Definition at line 118 of file proxy_ptr.hh.
References gem5::ConstProxyPtr< T, Proxy >::buffer, and panic_if.
Referenced by gem5::ProxyPtr< T, Proxy >::flush(), gem5::ConstProxyPtr< T, Proxy >::load(), gem5::ConstProxyPtr< T, Proxy >::operator*(), gem5::ProxyPtr< T, Proxy >::operator*(), gem5::ConstProxyPtr< T, Proxy >::operator->(), and gem5::ProxyPtr< T, Proxy >::operator->().
|
inline |
Definition at line 174 of file proxy_ptr.hh.
References gem5::ConstProxyPtr< T, Proxy >::buffer.
|
inline |
Definition at line 211 of file proxy_ptr.hh.
References gem5::ConstProxyPtr< T, Proxy >::buffer.
|
inline |
Definition at line 217 of file proxy_ptr.hh.
References gem5::ConstProxyPtr< T, Proxy >::buffer, and gem5::ConstProxyPtr< T, Proxy >::nullCheck().
|
inline |
Definition at line 178 of file proxy_ptr.hh.
References gem5::ArmISA::a, gem5::ConstProxyPtr< T, Proxy >::addr(), and gem5::ConstProxyPtr< T, Proxy >::proxy.
|
inline |
Definition at line 185 of file proxy_ptr.hh.
References gem5::ArmISA::a, gem5::ConstProxyPtr< T, Proxy >::addr(), and gem5::ConstProxyPtr< T, Proxy >::proxy.
|
inline |
Definition at line 191 of file proxy_ptr.hh.
References gem5::ConstProxyPtr< T, Proxy >::addr().
|
inline |
Definition at line 223 of file proxy_ptr.hh.
References gem5::ConstProxyPtr< T, Proxy >::buffer, and gem5::ConstProxyPtr< T, Proxy >::nullCheck().
|
inline |
Definition at line 205 of file proxy_ptr.hh.
References gem5::ArmISA::a, and gem5::ConstProxyPtr< T, Proxy >::setAddr().
|
inline |
Definition at line 197 of file proxy_ptr.hh.
References gem5::ConstProxyPtr< T, Proxy >::buffer, and gem5::ConstProxyPtr< T, Proxy >::proxy.
|
inlineprotected |
Definition at line 121 of file proxy_ptr.hh.
References gem5::ConstProxyPtr< T, Proxy >::buffer, and gem5::ConstProxyPtr< T, Proxy >::proxy.
Referenced by gem5::ConstProxyPtr< T, Proxy >::ConstProxyPtr(), gem5::ConstProxyPtr< T, Proxy >::ConstProxyPtr(), gem5::ConstProxyPtr< T, Proxy >::ConstProxyPtr(), gem5::ConstProxyPtr< T, Proxy >::operator=(), and gem5::ProxyPtr< T, Proxy >::operator=().
|
friend |
Definition at line 116 of file proxy_ptr.hh.
|
protected |
Definition at line 113 of file proxy_ptr.hh.
Referenced by gem5::ConstProxyPtr< T, Proxy >::addr(), gem5::ProxyPtr< T, Proxy >::flush(), gem5::ConstProxyPtr< T, Proxy >::load(), gem5::ConstProxyPtr< T, Proxy >::nullCheck(), gem5::ConstProxyPtr< T, Proxy >::operator bool(), gem5::ProxyPtr< T, Proxy >::operator bool(), gem5::ConstProxyPtr< T, Proxy >::operator const T *(), gem5::ProxyPtr< T, Proxy >::operator T*(), gem5::ConstProxyPtr< T, Proxy >::operator*(), gem5::ProxyPtr< T, Proxy >::operator*(), gem5::ConstProxyPtr< T, Proxy >::operator->(), gem5::ProxyPtr< T, Proxy >::operator->(), gem5::ConstProxyPtr< T, Proxy >::operator=(), gem5::ProxyPtr< T, Proxy >::operator=(), and gem5::ConstProxyPtr< T, Proxy >::setAddr().
|
protected |
Definition at line 112 of file proxy_ptr.hh.
Referenced by gem5::ConstProxyPtr< T, Proxy >::operator+(), gem5::ProxyPtr< T, Proxy >::operator+(), gem5::ConstProxyPtr< T, Proxy >::operator-(), gem5::ProxyPtr< T, Proxy >::operator-(), gem5::ConstProxyPtr< T, Proxy >::operator=(), gem5::ProxyPtr< T, Proxy >::operator=(), and gem5::ConstProxyPtr< T, Proxy >::setAddr().