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

Single (uninitialized) object with specialization for void type. More...

#include <LazyObject.h>

Classes

struct  size_of
 

Public Types

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

Public Member Functions

void destroy ()
 
void construct (const_reference x)
 
template<typename... Args>
void construct (Args &&...args)
 
const_reference get () const
 
reference get ()
 

Static Public Attributes

static const bool has_value = true
 

Detailed Description

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

Single (uninitialized) 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::LazyObject< T >::const_reference
template<typename T>
typedef T& galois::LazyObject< T >::reference
template<typename T>
typedef T galois::LazyObject< T >::value_type

Member Function Documentation

template<typename T>
void galois::LazyObject< T >::construct ( const_reference  x)
inline
template<typename T>
template<typename... Args>
void galois::LazyObject< T >::construct ( Args &&...  args)
inline
template<typename T>
void galois::LazyObject< T >::destroy ( )
inline
template<typename T>
const_reference galois::LazyObject< T >::get ( void  ) const
inline
template<typename T>
reference galois::LazyObject< T >::get ( void  )
inline

Member Data Documentation

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

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