gem5 [DEVELOP-FOR-25.0]
Loading...
Searching...
No Matches
gem5::ProxyPtr< void, Proxy > Class Template Reference

#include <proxy_ptr.hh>

Inheritance diagram for gem5::ProxyPtr< void, Proxy >:
gem5::ConstProxyPtr< T, Proxy >

Public Member Functions

 ProxyPtr (Addr new_addr,...)
 
template<typename T>
 ProxyPtr (const ProxyPtr< T, Proxy > &other)
 
ProxyPtr< void, Proxy > & operator= (Addr new_addr)
 
 operator Addr () const
 
Addr addr () const
 
 operator const void * () const
 
 ProxyPtr (Addr _ptr, Args &&... args)
 
 ProxyPtr (Args &&... args)
 
 ProxyPtr (const ProxyPtr< O, Proxy > &other)
 
 ProxyPtr (const PP &other)
 
 operator bool () const
 
void flush (bool force=false)
 
std::enable_if_t< std::is_integral_v< A >, PPoperator+ (A a) const
 
std::enable_if_t< std::is_integral_v< A >, PPoperator- (A a) const
 
ptrdiff_t operator- (const PP &other) const
 
PPoperator= (const PP &other)
 
PPoperator= (const Addr &a)
 
 operator void * () const
 
void & operator* () const
 
void * operator-> () const
 
 operator const void * () const
 
- Public Member Functions inherited from gem5::ConstProxyPtr< T, Proxy >
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 >, CPPoperator+ (A a) const
 
template<typename A>
std::enable_if_t< std::is_integral_v< A >, CPPoperator- (A a) const
 
ptrdiff_t operator- (const CPP &other) const
 
CPPoperator= (const CPP &other)
 
CPPoperator= (const Addr &a)
 
 operator const T * () const
 
const T & operator* () const
 
const T * operator-> () const
 

Protected Types

using CPP
 
using PP
 
- Protected Types inherited from gem5::ConstProxyPtr< T, Proxy >
using CPP = ConstProxyPtr<T, Proxy>
 

Protected Member Functions

 ProxyPtr (Addr _ptr, std::shared_ptr< Proxy > _proxy)
 
- Protected Member Functions inherited from gem5::ConstProxyPtr< T, Proxy >
void nullCheck () const
 
void setAddr (Addr ptr)
 
 ConstProxyPtr (Addr _ptr, std::shared_ptr< Proxy > _proxy)
 

Protected Attributes

Addr _addr
 
- Protected Attributes inherited from gem5::ConstProxyPtr< T, Proxy >
std::shared_ptr< Proxy > proxy
 
std::shared_ptr< ProxyPtrBuffer< Proxy > > buffer
 

Additional Inherited Members

- Public Types inherited from gem5::ConstProxyPtr< T, Proxy >
using Type = T
 

Detailed Description

template<typename Proxy>
class gem5::ProxyPtr< void, Proxy >

Definition at line 330 of file proxy_ptr.hh.

Member Typedef Documentation

◆ CPP

using gem5::ProxyPtr< void, Proxy >::CPP
protected

Definition at line 241 of file proxy_ptr.hh.

◆ PP

using gem5::ProxyPtr< void, Proxy >::PP
protected

Definition at line 242 of file proxy_ptr.hh.

Constructor & Destructor Documentation

◆ ProxyPtr() [1/7]

template<typename Proxy>
gem5::ProxyPtr< void, Proxy >::ProxyPtr ( Addr new_addr,
... )
inline

Definition at line 336 of file proxy_ptr.hh.

References _addr.

Referenced by ProxyPtr().

◆ ProxyPtr() [2/7]

template<typename Proxy>
template<typename T>
gem5::ProxyPtr< void, Proxy >::ProxyPtr ( const ProxyPtr< T, Proxy > & other)
inline

Definition at line 339 of file proxy_ptr.hh.

References _addr, addr(), and ProxyPtr().

◆ ProxyPtr() [3/7]

gem5::ProxyPtr< void, Proxy >::ProxyPtr ( Addr _ptr,
std::shared_ptr< Proxy > _proxy )
inlineprotected

Definition at line 244 of file proxy_ptr.hh.

◆ ProxyPtr() [4/7]

gem5::ProxyPtr< void, Proxy >::ProxyPtr ( Addr _ptr,
Args &&... args )
inlineexplicit

Definition at line 250 of file proxy_ptr.hh.

◆ ProxyPtr() [5/7]

gem5::ProxyPtr< void, Proxy >::ProxyPtr ( Args &&... args)
inlineexplicit

Definition at line 254 of file proxy_ptr.hh.

◆ ProxyPtr() [6/7]

gem5::ProxyPtr< void, Proxy >::ProxyPtr ( const ProxyPtr< O, Proxy > & other)
inline

Definition at line 259 of file proxy_ptr.hh.

◆ ProxyPtr() [7/7]

gem5::ProxyPtr< void, Proxy >::ProxyPtr ( const PP & other)
inline

Definition at line 261 of file proxy_ptr.hh.

Member Function Documentation

◆ addr()

template<typename Proxy>
Addr gem5::ProxyPtr< void, Proxy >::addr ( ) const
inline

Definition at line 350 of file proxy_ptr.hh.

References _addr.

Referenced by ProxyPtr().

◆ flush()

void gem5::ProxyPtr< void, Proxy >::flush ( bool force = false)
inline

Definition at line 265 of file proxy_ptr.hh.

◆ operator Addr()

template<typename Proxy>
gem5::ProxyPtr< void, Proxy >::operator Addr ( ) const
inline

Definition at line 348 of file proxy_ptr.hh.

References _addr.

◆ operator bool()

gem5::ProxyPtr< void, Proxy >::operator bool ( ) const
inline

Definition at line 262 of file proxy_ptr.hh.

◆ operator const void *() [1/2]

( ) const

◆ operator const void *() [2/2]

gem5::ConstProxyPtr< void, Proxy >::operator const void * ( ) const
inline

Definition at line 306 of file proxy_ptr.hh.

◆ operator void *()

gem5::ProxyPtr< void, Proxy >::operator void* ( ) const
inline

Definition at line 307 of file proxy_ptr.hh.

◆ operator*()

void & gem5::ProxyPtr< void, Proxy >::operator* ( ) const
inline

Definition at line 314 of file proxy_ptr.hh.

◆ operator+()

std::enable_if_t< std::is_integral_v< A >, PP > gem5::ProxyPtr< void, Proxy >::operator+ ( A a) const
inline

Definition at line 273 of file proxy_ptr.hh.

◆ operator-() [1/2]

std::enable_if_t< std::is_integral_v< A >, PP > gem5::ProxyPtr< void, Proxy >::operator- ( A a) const
inline

Definition at line 280 of file proxy_ptr.hh.

◆ operator-() [2/2]

ptrdiff_t gem5::ProxyPtr< void, Proxy >::operator- ( const PP & other) const
inline

Definition at line 286 of file proxy_ptr.hh.

◆ operator->()

void * gem5::ProxyPtr< void, Proxy >::operator-> ( ) const
inline

Definition at line 322 of file proxy_ptr.hh.

◆ operator=() [1/3]

template<typename Proxy>
ProxyPtr< void, Proxy > & gem5::ProxyPtr< void, Proxy >::operator= ( Addr new_addr)
inline

Definition at line 342 of file proxy_ptr.hh.

References _addr.

◆ operator=() [2/3]

PP & gem5::ProxyPtr< void, Proxy >::operator= ( const Addr & a)
inline

Definition at line 300 of file proxy_ptr.hh.

◆ operator=() [3/3]

PP & gem5::ProxyPtr< void, Proxy >::operator= ( const PP & other)
inline

Definition at line 292 of file proxy_ptr.hh.

Member Data Documentation

◆ _addr

template<typename Proxy>
Addr gem5::ProxyPtr< void, Proxy >::_addr
protected

Definition at line 333 of file proxy_ptr.hh.

Referenced by addr(), operator Addr(), operator=(), ProxyPtr(), and ProxyPtr().


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

Generated on Mon May 26 2025 09:19:24 for gem5 by doxygen 1.13.2