Galois
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
galois::StrictObject< T > Class Template Reference

Single object with specialization for void type. More...

#include <LazyObject.h>

Public Types

typedef T value_type
 
typedef T & reference
 
typedef const T & const_reference
 

Public Member Functions

 StrictObject ()
 
 StrictObject (const_reference t)
 
const_reference get () const
 
reference get ()
 

Static Public Attributes

static const bool has_value = true
 

Detailed Description

template<typename T>
class galois::StrictObject< T >

Single object with specialization for void type.

To take advantage of empty member optimization, users should subclass this class, otherwise the compiler will insert non-zero padding for fields (even when empty).

Member Typedef Documentation

template<typename T>
typedef const T& galois::StrictObject< T >::const_reference
template<typename T>
typedef T& galois::StrictObject< T >::reference
template<typename T>
typedef T galois::StrictObject< T >::value_type

Constructor & Destructor Documentation

template<typename T>
galois::StrictObject< T >::StrictObject ( )
inline
template<typename T>
galois::StrictObject< T >::StrictObject ( const_reference  t)
inline

Member Function Documentation

template<typename T>
const_reference galois::StrictObject< T >::get ( void  ) const
inline
template<typename T>
reference galois::StrictObject< T >::get ( void  )
inline

Member Data Documentation

template<typename T>
const bool galois::StrictObject< T >::has_value = true
static

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