SST/macro
Public Member Functions | Private Attributes | Friends | List of all members
VariablePtr< T > Class Template Reference

#include <variable.h>

Collaboration diagram for VariablePtr< T >:
Collaboration graph

Public Member Functions

 VariablePtr ()
 
template<typename U , typename = std::enable_if<std::is_convertible<T*,U>::value>>
 VariablePtr (const U &u)
 
 VariablePtr (uint64_t &nops_elem)
 
 VariablePtr (const VariablePtr &vp)
 
 ~VariablePtr ()
 
void resize (size_t n)
 
void clear ()
 
Variable< T > & operator[] (int idx)
 
const Variable< T > & operator[] (int idx) const
 
Variable< T > & operator[] (Variable< int > idx)
 
const Variable< T > & operator[] (Variable< int > idx) const
 
Variable< T > & operator* ()
 
const Variable< T > & operator* () const
 
VariablePtr< T > & operator= (const VariablePtr &ptr)
 
template<class U , typename = std::enable_if<std::is_convertible<T*,U>::value>>
VariablePtr< T > & operator= (const U &ptr)
 
template<class U , typename = std::enable_if<std::is_convertible<T*,U>::value>>
const VariablePtr< T > & operator= (const U &ptr) const
 
template<class U , typename = std::enable_if<std::is_convertible<T*,U>::value>>
bool operator== (const U &ptr) const
 
template<class U , typename = std::enable_if<std::is_convertible<T*,U>::value>>
bool operator!= (const U &ptr) const
 
constexpr operator void * () const
 
VariablePtr< T > & operator+= (const ptrdiff_t &offset)
 
VariablePtr< T > & operator-= (const ptrdiff_t &offset)
 

Private Attributes

uint64_t & nops
 
Variable< T > elem
 

Friends

void * memset (const VariablePtr< T > &t, int value, size_t size)
 
void * memcpy (const VariablePtr< T > &dst, const VariablePtr< T > &src, size_t size)
 

Detailed Description

template<class T>
class VariablePtr< T >

Definition at line 31 of file variable.h.

Constructor & Destructor Documentation

template<class T>
VariablePtr< T >::VariablePtr ( )
inline

Definition at line 259 of file variable.h.

template<class T>
template<typename U , typename = std::enable_if<std::is_convertible<T*,U>::value>>
VariablePtr< T >::VariablePtr ( const U &  u)
inline

Definition at line 268 of file variable.h.

template<class T>
VariablePtr< T >::VariablePtr ( uint64_t &  nops_elem)
inline

Definition at line 275 of file variable.h.

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

Definition at line 280 of file variable.h.

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

Definition at line 287 of file variable.h.

References sstmac::sw::operating_system::current_thread(), and sstmac::sw::thread::remove_perf_ctr_variable().

Here is the call graph for this function:

Member Function Documentation

template<class T>
void VariablePtr< T >::clear ( )
inline

Definition at line 294 of file variable.h.

template<class T>
constexpr VariablePtr< T >::operator void * ( ) const
inline

Definition at line 353 of file variable.h.

template<class T>
template<class U , typename = std::enable_if<std::is_convertible<T*,U>::value>>
bool VariablePtr< T >::operator!= ( const U &  ptr) const
inline

Definition at line 349 of file variable.h.

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

Definition at line 312 of file variable.h.

References VariablePtr< T >::elem.

template<class T>
const Variable<T>& VariablePtr< T >::operator* ( ) const
inline

Definition at line 316 of file variable.h.

References VariablePtr< T >::elem.

template<class T>
VariablePtr<T>& VariablePtr< T >::operator+= ( const ptrdiff_t &  offset)
inline

Definition at line 358 of file variable.h.

template<class T>
VariablePtr<T>& VariablePtr< T >::operator-= ( const ptrdiff_t &  offset)
inline

Definition at line 363 of file variable.h.

template<class T>
VariablePtr<T>& VariablePtr< T >::operator= ( const VariablePtr< T > &  ptr)
inline

Definition at line 321 of file variable.h.

template<class T>
template<class U , typename = std::enable_if<std::is_convertible<T*,U>::value>>
VariablePtr<T>& VariablePtr< T >::operator= ( const U &  ptr)
inline

Definition at line 328 of file variable.h.

template<class T>
template<class U , typename = std::enable_if<std::is_convertible<T*,U>::value>>
const VariablePtr<T>& VariablePtr< T >::operator= ( const U &  ptr) const
inline

Definition at line 335 of file variable.h.

template<class T>
template<class U , typename = std::enable_if<std::is_convertible<T*,U>::value>>
bool VariablePtr< T >::operator== ( const U &  ptr) const
inline

Definition at line 342 of file variable.h.

template<class T>
Variable<T>& VariablePtr< T >::operator[] ( int  idx)
inline

Definition at line 296 of file variable.h.

References VariablePtr< T >::elem.

template<class T>
const Variable<T>& VariablePtr< T >::operator[] ( int  idx) const
inline

Definition at line 300 of file variable.h.

References VariablePtr< T >::elem.

template<class T>
Variable<T>& VariablePtr< T >::operator[] ( Variable< int >  idx)
inline

Definition at line 304 of file variable.h.

References VariablePtr< T >::elem.

template<class T>
const Variable<T>& VariablePtr< T >::operator[] ( Variable< int >  idx) const
inline

Definition at line 308 of file variable.h.

References VariablePtr< T >::elem.

template<class T>
void VariablePtr< T >::resize ( size_t  n)
inline

Definition at line 292 of file variable.h.

Friends And Related Function Documentation

template<class T>
void* memcpy ( const VariablePtr< T > &  dst,
const VariablePtr< T > &  src,
size_t  size 
)
friend

Definition at line 381 of file variable.h.

template<class T>
void* memset ( const VariablePtr< T > &  t,
int  value,
size_t  size 
)
friend

Definition at line 374 of file variable.h.

Member Data Documentation

template<class T>
Variable<T> VariablePtr< T >::elem
private

Definition at line 369 of file variable.h.

Referenced by VariablePtr< T >::operator*(), and VariablePtr< T >::operator[]().

template<class T>
uint64_t& VariablePtr< T >::nops
private

Definition at line 368 of file variable.h.

Referenced by memcpy(), and memset().


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