Galois::optional< T > Class Template Reference

Galois version of boost::optional. More...

#include <optional.h>

List of all members.

Public Types

typedef bool(optional::* unspecified_bool_type )() const

Public Member Functions

 optional ()
 optional (const T &val)
 optional (const optional &rhs)
template<typename U >
 optional (const optional< U > &rhs)
 ~optional ()
void assign (const optional &rhs)
template<typename U >
void assign (const optional< U > &rhs)
void assign (const T &val)
bool is_initialized () const
optionaloperator= (const optional &rhs)
template<typename U >
optionaloperator= (const optional< U > &rhs)
optionaloperator= (const T &val)
T & get ()
const T & get () const
T & operator* ()
const T & operator* () const
T * operator-> ()
const T * operator-> () const
 operator unspecified_bool_type () const

Private Member Functions

void construct (const T &val)
void assign_impl (const T &val)
void destroy ()
T & get_impl ()
const T & get_impl () const

Private Attributes

LazyObject< T > data_
bool initialized_

Detailed Description

template<typename T>
class Galois::optional< T >

Galois version of boost::optional.


Member Typedef Documentation

template<typename T>
typedef bool(optional::* Galois::optional< T >::unspecified_bool_type)() const

Constructor & Destructor Documentation

template<typename T>
Galois::optional< T >::optional (  )  [inline]
template<typename T>
Galois::optional< T >::optional ( const T &  val  )  [inline]
template<typename T>
Galois::optional< T >::optional ( const optional< T > &  rhs  )  [inline]
template<typename T>
template<typename U >
Galois::optional< T >::optional ( const optional< U > &  rhs  )  [inline, explicit]
template<typename T>
Galois::optional< T >::~optional (  )  [inline]

Member Function Documentation

template<typename T>
void Galois::optional< T >::assign ( const T &  val  )  [inline]
template<typename T>
template<typename U >
void Galois::optional< T >::assign ( const optional< U > &  rhs  )  [inline]
template<typename T>
void Galois::optional< T >::assign ( const optional< T > &  rhs  )  [inline]
template<typename T>
void Galois::optional< T >::assign_impl ( const T &  val  )  [inline, private]
template<typename T>
void Galois::optional< T >::construct ( const T &  val  )  [inline, private]
template<typename T>
void Galois::optional< T >::destroy (  )  [inline, private]
template<typename T>
const T& Galois::optional< T >::get (  )  const [inline]
template<typename T>
T& Galois::optional< T >::get (  )  [inline]
template<typename T>
const T& Galois::optional< T >::get_impl (  )  const [inline, private]
template<typename T>
T& Galois::optional< T >::get_impl (  )  [inline, private]
template<typename T>
bool Galois::optional< T >::is_initialized (  )  const [inline]
template<typename T>
Galois::optional< T >::operator unspecified_bool_type (  )  const [inline]
template<typename T>
const T& Galois::optional< T >::operator* (  )  const [inline]
template<typename T>
T& Galois::optional< T >::operator* (  )  [inline]
template<typename T>
const T* Galois::optional< T >::operator-> (  )  const [inline]
template<typename T>
T* Galois::optional< T >::operator-> (  )  [inline]
template<typename T>
optional& Galois::optional< T >::operator= ( const T &  val  )  [inline]
template<typename T>
template<typename U >
optional& Galois::optional< T >::operator= ( const optional< U > &  rhs  )  [inline]
template<typename T>
optional& Galois::optional< T >::operator= ( const optional< T > &  rhs  )  [inline]

Member Data Documentation

template<typename T>
LazyObject<T> Galois::optional< T >::data_ [private]
template<typename T>
bool Galois::optional< T >::initialized_ [private]

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

Generated on 2 Nov 2013 for Galois by  doxygen 1.6.1