xrootd
Loading...
Searching...
No Matches
Classes | Public Member Functions | Private Attributes | List of all members
XrdCl::Optional< T > Class Template Reference

#include <XrdClOptional.hh>

Collaboration diagram for XrdCl::Optional< T >:
Collaboration graph
[legend]

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 ()
 
Optionaloperator= (const Optional &opt)
 Copy assignment operator.
 
Optionaloperator= (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
 

Detailed Description

template<typename T>
class XrdCl::Optional< T >

The Optional class

Constructor & Destructor Documentation

◆ Optional() [1/4]

template<typename T >
XrdCl::Optional< T >::Optional ( const T &  t)
inline

Constructor for value.

References XrdCl::Optional< T >::memory, and XrdCl::Optional< T >::Storage::value.

◆ Optional() [2/4]

template<typename T >
XrdCl::Optional< T >::Optional ( const None n = none)
inline

Default constructor.

◆ Optional() [3/4]

template<typename T >
XrdCl::Optional< T >::Optional ( const Optional< T > &  opt)
inline

◆ Optional() [4/4]

template<typename T >
XrdCl::Optional< T >::Optional ( Optional< T > &&  opt)
inline

◆ ~Optional()

template<typename T >
XrdCl::Optional< T >::~Optional ( )
inline

Member Function Documentation

◆ operator bool()

template<typename T >
XrdCl::Optional< T >::operator bool ( ) const
inline

Conversion to boolean.

References XrdCl::Optional< T >::optional.

◆ operator*() [1/2]

template<typename T >
T & XrdCl::Optional< T >::operator* ( )
inline

◆ operator*() [2/2]

template<typename T >
const T & XrdCl::Optional< T >::operator* ( ) const
inline

◆ operator=() [1/2]

template<typename T >
Optional & XrdCl::Optional< T >::operator= ( const Optional< T > &  opt)
inline

◆ operator=() [2/2]

template<typename T >
Optional & XrdCl::Optional< T >::operator= ( Optional< T > &&  opt)
inline

Member Data Documentation

◆ memory

template<typename T >
union XrdCl::Optional::Storage XrdCl::Optional< T >::memory
private

◆ optional

template<typename T >
bool XrdCl::Optional< T >::optional
private

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