Raytrix Light Field SDK  5.0
Rx::CExceptionSafePointer Class Reference

Detailed Description

Container for an Interop::Runtime31::IException pointer that simplifies copying of exceptions.

Public Member Functions

 CExceptionSafePointer ()
 Default constructor. More...
 
 CExceptionSafePointer (CExceptionSafePointer &&xExceptionSafePointer)
 Move constructor. More...
 
 CExceptionSafePointer (const CExceptionSafePointer &xExceptionSafePointer)
 Copy constructor. Creates a copy of the exception provided by the given pointer. More...
 
 CExceptionSafePointer (const IException30 &ex)
 Copy Constructor. Creates a copy of the given exception. More...
 
 CExceptionSafePointer (const IException31 &ex)
 Copy Constructor. Creates a copy of the given exception. More...
 
 ~CExceptionSafePointer ()
 Destructor. Deletes the assigned exception. More...
 
const IException31Get () const
 Gets the exception pointer. More...
 
template<typename TException >
const TException * Get () const
 Gets the exception pointer dynamically casted to the given template argument. More...
 
bool IsValid () const
 Query if this object is valid. More...
 
CExceptionSafePointeroperator= (CExceptionSafePointer &&xExceptionSafePointer)
 Move assignment operator. More...
 

Constructor & Destructor Documentation

◆ CExceptionSafePointer() [1/5]

Rx::CExceptionSafePointer::CExceptionSafePointer ( )

Default constructor.

◆ CExceptionSafePointer() [2/5]

Rx::CExceptionSafePointer::CExceptionSafePointer ( const CExceptionSafePointer xExceptionSafePointer)

Copy constructor. Creates a copy of the exception provided by the given pointer.

Parameters
xExceptionSafePointerThe exception safe pointer to copy.

◆ CExceptionSafePointer() [3/5]

Rx::CExceptionSafePointer::CExceptionSafePointer ( CExceptionSafePointer &&  xExceptionSafePointer)

Move constructor.

Parameters
xExceptionSafePointer[in,out] The exception safe pointer to move.

◆ CExceptionSafePointer() [4/5]

Rx::CExceptionSafePointer::CExceptionSafePointer ( const IException30 ex)

Copy Constructor. Creates a copy of the given exception.

Parameters
exThe exception to copy.

◆ CExceptionSafePointer() [5/5]

Rx::CExceptionSafePointer::CExceptionSafePointer ( const IException31 ex)

Copy Constructor. Creates a copy of the given exception.

Parameters
exThe exception to copy.

◆ ~CExceptionSafePointer()

Rx::CExceptionSafePointer::~CExceptionSafePointer ( )

Destructor. Deletes the assigned exception.

Member Function Documentation

◆ Get() [1/2]

const IException31* Rx::CExceptionSafePointer::Get ( ) const

Gets the exception pointer.

Returns
Null if it fails, else the exception pointer.

◆ Get() [2/2]

template<typename TException >
const TException* Rx::CExceptionSafePointer::Get ( ) const
inline

Gets the exception pointer dynamically casted to the given template argument.

Template Parameters
TExceptionType of the exception.
Returns
Null if it fails, else the exception pointer.

◆ IsValid()

bool Rx::CExceptionSafePointer::IsValid ( ) const

Query if this object is valid.

Returns
True if valid, false if not.

◆ operator=()

CExceptionSafePointer& Rx::CExceptionSafePointer::operator= ( CExceptionSafePointer &&  xExceptionSafePointer)

Move assignment operator.

Parameters
xExceptionSafePointer[in,out] The exception safe pointer to move.
Returns
A moved version of the given pointer.