Raytrix Light Field SDK  4.0
Logo
Public Types | Public Member Functions | List of all members
Rx::LFR::CParametersPimpl< TImpl, TEnum, TEnumInterface > Class Template Reference

Detailed Description

template<class TImpl, class TEnum, class TEnumInterface>
class Rx::LFR::CParametersPimpl< TImpl, TEnum, TEnumInterface >

A base of all classes that need to get or set parameters.

Template Parameters
TPimplPIMPL.
TEnumThe enum type that describes the parameter ID.

Inherits Rx::LFR::CPimpl< TImpl, TEnumInterface >.

Public Types

typedef TEnumInterface EnumInterfaceType
 
typedef TEnum EnumType
 The type of the parameter enum. Is used by managed wrapper classes. More...
 

Public Member Functions

 CParametersPimpl ()
 Default constructor. More...
 
 CParametersPimpl (CParametersPimpl &&xParameterPimpl)
 Move constructor. More...
 
 CParametersPimpl (TImpl *pxImpl, bool bFreeOnDelete=true)
 Constructor. Only for internal purposes. More...
 
 ~CParametersPimpl ()
 Protected destructor. More...
 
TImpl & GetImpl ()
 Gets the non constant implementation. More...
 
const TImpl & GetImpl () const
 Gets the constant implementation. More...
 
void * GetInterface (TEnumInterface eInterface)
 Gets the interface defined by the given interface ID. More...
 
const void * GetInterface (TEnumInterface eInterface) const
 Gets the interface defined by the given interface ID. More...
 
template<typename TInterface >
TInterface * GetInterface (TEnumInterface eInterface)
 Gets the interface defined by the given interface ID. More...
 
template<typename TInterface >
const TInterface * GetInterface (TEnumInterface eInterface) const
 Gets the interface defined by the given interface ID. More...
 
CParameters< TEnum > & GetParams ()
 
const CParameters< TEnum > & GetParams () const
 
bool HasInterface (TEnumInterface eInterface)
 Queries if this object has the given interface. More...
 
CParametersPimploperator= (CParametersPimpl< TImpl, TEnum, TEnumInterface > &&xParameterPimpl)
 Move assignment operator. More...
 

Member Typedef Documentation

template<class TImpl, class TEnum, class TEnumInterface>
typedef TEnumInterface Rx::LFR::CParametersPimpl< TImpl, TEnum, TEnumInterface >::EnumInterfaceType
template<class TImpl, class TEnum, class TEnumInterface>
typedef TEnum Rx::LFR::CParametersPimpl< TImpl, TEnum, TEnumInterface >::EnumType

The type of the parameter enum. Is used by managed wrapper classes.

Constructor & Destructor Documentation

template<class TImpl, class TEnum, class TEnumInterface>
Rx::LFR::CParametersPimpl< TImpl, TEnum, TEnumInterface >::CParametersPimpl ( )

Default constructor.

template<class TImpl, class TEnum, class TEnumInterface>
Rx::LFR::CParametersPimpl< TImpl, TEnum, TEnumInterface >::CParametersPimpl ( CParametersPimpl< TImpl, TEnum, TEnumInterface > &&  xParameterPimpl)

Move constructor.

Parameters
xParameterPimpl[in,out] The parameter pimpl.
template<class TImpl, class TEnum, class TEnumInterface>
Rx::LFR::CParametersPimpl< TImpl, TEnum, TEnumInterface >::CParametersPimpl ( TImpl *  pxImpl,
bool  bFreeOnDelete = true 
)

Constructor. Only for internal purposes.

Parameters
pxImpl[out] The implementation class.
bFreeOnDelete(Optional) True to free the memory of the given implementation class on deleting this object.
template<class TImpl, class TEnum, class TEnumInterface>
Rx::LFR::CParametersPimpl< TImpl, TEnum, TEnumInterface >::~CParametersPimpl ( )
inline

Protected destructor.

Member Function Documentation

template<class TImpl, class TEnumInterface>
TImpl& Rx::LFR::CPimpl< TImpl, TEnumInterface >::GetImpl ( )
inlineinherited

Gets the non constant implementation.

Returns
The implementation.
template<class TImpl, class TEnumInterface>
const TImpl& Rx::LFR::CPimpl< TImpl, TEnumInterface >::GetImpl ( ) const
inlineinherited

Gets the constant implementation.

Returns
The implementation.
template<class TImpl, class TEnumInterface>
void* Rx::LFR::CPimpl< TImpl, TEnumInterface >::GetInterface ( TEnumInterface  eInterface)
inherited

Gets the interface defined by the given interface ID.

Parameters
eInterfaceThe interface ID.
Returns
Null if it fails, else the interface.
template<class TImpl, class TEnumInterface>
const void* Rx::LFR::CPimpl< TImpl, TEnumInterface >::GetInterface ( TEnumInterface  eInterface) const
inherited

Gets the interface defined by the given interface ID.

Parameters
eInterfaceThe interface ID.
Returns
Null if it fails, else the interface.
template<class TImpl, class TEnumInterface>
template<typename TInterface >
TInterface* Rx::LFR::CPimpl< TImpl, TEnumInterface >::GetInterface ( TEnumInterface  eInterface)
inlineinherited

Gets the interface defined by the given interface ID.

Template Parameters
TInterfaceThe interface type.
Parameters
eInterfaceThe interface.
Returns
Null if it fails, else the interface.
template<class TImpl, class TEnumInterface>
template<typename TInterface >
const TInterface* Rx::LFR::CPimpl< TImpl, TEnumInterface >::GetInterface ( TEnumInterface  eInterface) const
inlineinherited

Gets the interface defined by the given interface ID.

Template Parameters
TInterfaceThe interface type.
Parameters
eInterfaceThe interface ID.
Returns
Null if it fails, else the interface.
template<class TImpl, class TEnum, class TEnumInterface>
CParameters<TEnum>& Rx::LFR::CParametersPimpl< TImpl, TEnum, TEnumInterface >::GetParams ( )
template<class TImpl, class TEnum, class TEnumInterface>
const CParameters<TEnum>& Rx::LFR::CParametersPimpl< TImpl, TEnum, TEnumInterface >::GetParams ( ) const
template<class TImpl, class TEnumInterface>
bool Rx::LFR::CPimpl< TImpl, TEnumInterface >::HasInterface ( TEnumInterface  eInterface)
inlineinherited

Queries if this object has the given interface.

Parameters
eInterfaceThe interface to query.
Returns
True if this class has the given interface, false if not.
template<class TImpl, class TEnum, class TEnumInterface>
CParametersPimpl& Rx::LFR::CParametersPimpl< TImpl, TEnum, TEnumInterface >::operator= ( CParametersPimpl< TImpl, TEnum, TEnumInterface > &&  xParameterPimpl)

Move assignment operator.

Parameters
xParameterPimpl[in,out] The pimpl to move. Gets invalid after this call.
Returns
This instance.