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

#include <variable.h>

Collaboration diagram for Variable< T >:
Collaboration graph

Public Member Functions

template<typename = std::enable_if<std::is_default_constructible<T>::value>>
 Variable ()
 
template<typename U , typename = std::enable_if<std::is_convertible<T,U>::value>>
 Variable (const U &u)
 
 Variable (uint64_t &nops_array)
 
 Variable (const Variable &v)
 
 ~Variable ()
 
VariablePtr< T > operator& ()
 
void * operator new[] (std::size_t count) throw ()
 
Variableoperator= (const Variable &v)
 
template<class U >
Variableoperator= (const U &u)
 
constexpr operator T () const
 
Variable operator- () const
 
Variableoperator++ ()
 
Variable operator++ (int u)
 
Variableoperator-- ()
 
Variable operator-- (int u)
 

Private Attributes

uint64_t & nops
 
bool owns_nops
 

Friends

Variable< T > sqrt (const Variable< T > &t)
 
Variable< T > cbrt (const Variable< T > &t)
 
Variable< T > fabs (const Variable< T > &t)
 

Detailed Description

template<class T>
class Variable< T >

Definition at line 32 of file variable.h.

Constructor & Destructor Documentation

template<class T>
template<typename = std::enable_if<std::is_default_constructible<T>::value>>
Variable< T >::Variable ( )
inline

Definition at line 88 of file variable.h.

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

Definition at line 97 of file variable.h.

template<class T>
Variable< T >::Variable ( uint64_t &  nops_array)
inline

Definition at line 104 of file variable.h.

template<class T>
Variable< T >::Variable ( const Variable< T > &  v)
inline

Definition at line 110 of file variable.h.

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

Definition at line 117 of file variable.h.

References sstmac::sw::operating_system::current_thread(), Variable< T >::owns_nops, and sstmac::sw::thread::remove_perf_ctr_variable().

Here is the call graph for this function:

Member Function Documentation

template<class T>
void* Variable< T >::operator new[] ( std::size_t  count)
throw (
)
inline

Definition at line 127 of file variable.h.

template<class T>
constexpr Variable< T >::operator T ( ) const
inline

Definition at line 140 of file variable.h.

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

Definition at line 123 of file variable.h.

References Variable< T >::nops.

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

Definition at line 149 of file variable.h.

References Variable< T >::nops.

template<class T>
Variable Variable< T >::operator++ ( int  u)
inline

Definition at line 154 of file variable.h.

References Variable< T >::nops.

template<class T>
Variable Variable< T >::operator- ( ) const
inline

Definition at line 144 of file variable.h.

References Variable< T >::nops.

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

Definition at line 159 of file variable.h.

References Variable< T >::nops.

template<class T>
Variable Variable< T >::operator-- ( int  u)
inline

Definition at line 164 of file variable.h.

References Variable< T >::nops.

template<class T>
Variable& Variable< T >::operator= ( const Variable< T > &  v)
inline

Definition at line 131 of file variable.h.

template<class T>
template<class U >
Variable& Variable< T >::operator= ( const U &  u)
inline

Definition at line 136 of file variable.h.

Friends And Related Function Documentation

template<class T>
Variable<T> cbrt ( const Variable< T > &  t)
friend

Definition at line 239 of file variable.h.

template<class T>
Variable<T> fabs ( const Variable< T > &  t)
friend

Definition at line 246 of file variable.h.

template<class T>
Variable<T> sqrt ( const Variable< T > &  t)
friend

Definition at line 232 of file variable.h.

Member Data Documentation

template<class T>
uint64_t& Variable< T >::nops
private
template<class T>
bool Variable< T >::owns_nops
private

Definition at line 171 of file variable.h.

Referenced by Variable< T >::~Variable().


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