openDAQ
Open data acquisition platform
IConvertible Struct Referenceabstract

Enables conversion of the object to either Int, Float, or Bool type. More...

+ Inheritance diagram for IConvertible:
+ Collaboration diagram for IConvertible:

Detailed Description

Enables conversion of the object to either Int, Float, or Bool type.

An object which implements IIntObject will typically also implement IConvertible, which allows conversion to other types.

Example:

IIntObject* intObj = ...;
auto errCode = intObj.queryInterface(IConvertible::Id, reinterpret_cast<void**>(&conv));
if (OPENDAQ_FAILED(errCode))
return;
Float val;
errCode = conv->toFloat(&val);
if (OPENDAQ_FAILED(errCode))
return;
// print val

Public Member Functions

virtual ErrCode INTERFACE_FUNC toFloat (Float *val)=0
 Converts the object to Float type. More...
 
virtual ErrCode INTERFACE_FUNC toInt (Int *val)=0
 Converts the object to Int type. More...
 
virtual ErrCode INTERFACE_FUNC toBool (Bool *val)=0
 Converts the object to Bool type. More...
 
- Public Member Functions inherited from IBaseObject
virtual ErrCode INTERFACE_FUNC borrowInterface (const IntfID &intfID, void **obj) const =0
 Returns another interface which is supported by the object without incrementing the reference count. More...
 
virtual ErrCode INTERFACE_FUNC dispose ()=0
 Disposes all references held by the object. More...
 
virtual ErrCode INTERFACE_FUNC getHashCode (SizeT *hashCode)=0
 Returns hash code of the object. More...
 
virtual ErrCode INTERFACE_FUNC equals (IBaseObject *other, Bool *equal) const =0
 Compares object to another object for equality. More...
 
virtual ErrCode INTERFACE_FUNC toString (CharPtr *str)=0
 Returns a string representation of the object. More...
 
- Public Member Functions inherited from IUnknown
virtual ErrCode INTERFACE_FUNC queryInterface (const IntfID &intfID, void **obj)=0
 Returns another interface which is supported by the object and increments the reference count. More...
 
virtual int INTERFACE_FUNC addRef ()=0
 Increments the reference count for an interface on an object. More...
 
virtual int INTERFACE_FUNC releaseRef ()=0
 Decrements the reference count for an interface on an object. More...
 

Member Function Documentation

◆ toBool()

virtual ErrCode INTERFACE_FUNC toBool ( Bool *  val)
pure virtual

Converts the object to Bool type.

Parameters
[out]valBool value
Return values
OPENDAQ_ERR_CONVERSIONFAILEDConversion has failed

◆ toFloat()

virtual ErrCode INTERFACE_FUNC toFloat ( Float *  val)
pure virtual

Converts the object to Float type.

Parameters
[out]valFloat value.
Return values
OPENDAQ_ERR_CONVERSIONFAILEDConversion has failed

◆ toInt()

virtual ErrCode INTERFACE_FUNC toInt ( Int *  val)
pure virtual

Converts the object to Int type.

Parameters
[out]valInt value.
Return values
OPENDAQ_ERR_CONVERSIONFAILEDConversion has failed
IConvertible
Enables conversion of the object to either Int, Float, or Bool type.
Definition: convertible.h:51
IUnknown::queryInterface
virtual ErrCode INTERFACE_FUNC queryInterface(const IntfID &intfID, void **obj)=0
Returns another interface which is supported by the object and increments the reference count.
IConvertible::toFloat
virtual ErrCode INTERFACE_FUNC toFloat(Float *val)=0
Converts the object to Float type.