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

#include <vptr.hh>

Public Types

typedef T Type
 

Public Member Functions

 VPtr (ThreadContext *_tc, Addr p=0)
 
template<class U >
 VPtr (const VPtr< U > &vp)
 
 ~VPtr ()
 
void refresh ()
 
bool operator! () const
 
VPtr< T > operator+ (int offset)
 
const VPtr< T > & operator+= (int offset)
 
const VPtr< T > & operator= (Addr p)
 
template<class U >
const VPtr< T > & operator= (const VPtr< U > &vp)
 
 operator T * ()
 
T * operator-> ()
 
T & operator* ()
 

Protected Attributes

ThreadContexttc
 
Addr ptr
 
Addr buffer [(sizeof(T)-1)/sizeof(Addr)+1]
 

Detailed Description

template<class T>
class VPtr< T >

Definition at line 39 of file vptr.hh.

Member Typedef Documentation

template<class T>
typedef T VPtr< T >::Type

Definition at line 42 of file vptr.hh.

Constructor & Destructor Documentation

template<class T>
VPtr< T >::VPtr ( ThreadContext _tc,
Addr  p = 0 
)
inlineexplicit

Definition at line 50 of file vptr.hh.

References VPtr< T >::refresh().

template<class T>
template<class U >
VPtr< T >::VPtr ( const VPtr< U > &  vp)
inline

Definition at line 57 of file vptr.hh.

References VPtr< T >::refresh().

template<class T>
VPtr< T >::~VPtr ( )
inline

Definition at line 63 of file vptr.hh.

Member Function Documentation

template<class T>
VPtr< T >::operator T * ( )
inline

Definition at line 117 of file vptr.hh.

References VPtr< T >::buffer.

template<class T>
bool VPtr< T >::operator! ( ) const
inline

Definition at line 77 of file vptr.hh.

References VPtr< T >::ptr.

template<class T>
T& VPtr< T >::operator* ( )
inline

Definition at line 129 of file vptr.hh.

References VPtr< T >::buffer.

template<class T>
VPtr<T> VPtr< T >::operator+ ( int  offset)
inline

Definition at line 83 of file vptr.hh.

References ArmISA::offset, VPtr< T >::ptr, and VPtr< T >::tc.

template<class T>
const VPtr<T>& VPtr< T >::operator+= ( int  offset)
inline

Definition at line 89 of file vptr.hh.

References ArmISA::offset, VPtr< T >::ptr, and VPtr< T >::refresh().

template<class T>
T* VPtr< T >::operator-> ( )
inline

Definition at line 123 of file vptr.hh.

References VPtr< T >::buffer.

template<class T>
const VPtr<T>& VPtr< T >::operator= ( Addr  p)
inline

Definition at line 98 of file vptr.hh.

References MipsISA::p, VPtr< T >::ptr, and VPtr< T >::refresh().

template<class T>
template<class U >
const VPtr<T>& VPtr< T >::operator= ( const VPtr< U > &  vp)
inline

Definition at line 108 of file vptr.hh.

References VPtr< T >::ptr, VPtr< T >::refresh(), and VPtr< T >::tc.

template<class T>
void VPtr< T >::refresh ( )
inline

Member Data Documentation

template<class T>
Addr VPtr< T >::buffer[(sizeof(T)-1)/sizeof(Addr)+1]
protected
template<class T>
Addr VPtr< T >::ptr
protected
template<class T>
ThreadContext* VPtr< T >::tc
protected

Definition at line 45 of file vptr.hh.

Referenced by VPtr< T >::operator+(), VPtr< T >::operator=(), and VPtr< T >::refresh().


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

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