xrootd
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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. More...
 
 Optional (const None &n=none)
 Default constructor. More...
 
 Optional (const Optional &opt)
 Copy constructor. More...
 
 Optional (Optional &&opt)
 Move constructor. More...
 
 ~Optional ()
 
Optionaloperator= (const Optional &opt)
 Copy assignment operator. More...
 
Optionaloperator= (Optional &&opt)
 Move assignment operator. More...
 
 operator bool () const
 Conversion to boolean. More...
 
T & operator* ()
 Dereference operator. More...
 
const T & operator* () const
 Dereference operator. More...
 

Private Attributes

bool optional
 true if the value is optional, false otherwise More...
 
union XrdCl::Optional::Storage memory
 

Detailed Description

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

The Optional class

Constructor & Destructor Documentation

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.

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

Default constructor.

References nlohmann::detail::void().

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

Member Function Documentation

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

Conversion to boolean.

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

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

Member Data Documentation

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

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