#include <XrdClOptional.hh>
Classes | |
union | Storage |
Public Member Functions | |
Optional (const T &t) | |
Constructor for value. | |
Optional (const None &n=none) | |
Default constructor. | |
Optional (const Optional &opt) | |
Copy constructor. | |
Optional (Optional &&opt) | |
Move constructor. | |
Optional & | operator= (const Optional &opt) |
Copy assignment operator. | |
Optional & | operator= (Optional &&opt) |
Move assignment operator. | |
operator bool () const | |
Conversion to boolean. | |
T & | operator* () |
Dereference operator. | |
const T & | operator* () const |
Dereference operator. | |
Private Attributes | |
bool | optional |
true if the value is optional, false otherwise | |
union XrdCl::Optional::Storage | memory |
The Optional class
XrdCl::Optional< T >::Optional | ( | const T & | t | ) | [inline] |
Constructor for value.
References XrdCl::Optional< T >::memory, and XrdCl::Optional< T >::Storage::value.
XrdCl::Optional< T >::Optional | ( | const None & | n = none |
) | [inline] |
Default constructor.
XrdCl::Optional< T >::Optional | ( | const Optional< T > & | opt | ) | [inline] |
Copy constructor.
References XrdCl::Optional< T >::memory, XrdCl::Optional< T >::optional, and XrdCl::Optional< T >::Storage::value.
XrdCl::Optional< T >::Optional | ( | Optional< T > && | opt | ) | [inline] |
Move constructor.
References XrdCl::Optional< T >::memory, XrdCl::Optional< T >::optional, and XrdCl::Optional< T >::Storage::value.
XrdCl::Optional< T >::operator bool | ( | ) | const [inline] |
Conversion to boolean.
References XrdCl::Optional< T >::optional.
const T& XrdCl::Optional< T >::operator* | ( | ) | const [inline] |
Dereference operator.
References XrdCl::Optional< T >::memory, and XrdCl::Optional< T >::Storage::value.
T& XrdCl::Optional< T >::operator* | ( | ) | [inline] |
Dereference operator.
References XrdCl::Optional< T >::memory, and XrdCl::Optional< T >::Storage::value.
Optional& XrdCl::Optional< T >::operator= | ( | Optional< T > && | opt | ) | [inline] |
Move assignment operator.
References XrdCl::Optional< T >::memory, XrdCl::Optional< T >::optional, and XrdCl::Optional< T >::Storage::value.
Optional& XrdCl::Optional< T >::operator= | ( | const Optional< T > & | opt | ) | [inline] |
Copy assignment operator.
References XrdCl::Optional< T >::memory, XrdCl::Optional< T >::optional, and XrdCl::Optional< T >::Storage::value.
union XrdCl::Optional::Storage XrdCl::Optional< T >::memory [private] |
we use union as this is the only way to obtain memory with correct alignment and don't actually construct the object
Referenced by XrdCl::Optional< T >::operator*(), XrdCl::Optional< T >::operator=(), and XrdCl::Optional< T >::Optional().
bool XrdCl::Optional< T >::optional [private] |
true if the value is optional, false otherwise
Referenced by XrdCl::Optional< T >::operator bool(), XrdCl::Optional< T >::operator=(), and XrdCl::Optional< T >::Optional().