Galois::StrictObject< T > Class Template Reference

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

#include <LazyObject.h>

List of all members.

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

Private Attributes

data

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>
reference Galois::StrictObject< T >::get (  )  [inline]
template<typename T>
const_reference Galois::StrictObject< T >::get (  )  const [inline]

Member Data Documentation

template<typename T>
T Galois::StrictObject< T >::data [private]
template<typename T>
const bool Galois::StrictObject< T >::has_value = true [static]

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

Generated on 2 Nov 2013 for Galois by  doxygen 1.6.1