Libmacro  0.2
Libmacro is an extensible macro and hotkey library.
instance.h File Reference

mcr_Instance Example and abstraction of an interface instance. More...

Go to the source code of this file.

Classes

struct  mcr_Instance
 

Functions

MCR_API void mcr_Instance_init (struct mcr_Instance *instancePt)
 
MCR_API void mcr_Instance_deinit (struct mcr_Instance *instancePt)
 
MCR_API size_t mcr_Instance_id (struct mcr_Instance *instancePt)
 
MCR_API bool mcr_Instance_heap (struct mcr_Instance *instancePt)
 
MCR_API int mcr_Instance_set_interface (struct mcr_Instance *instancePt, struct mcr_Interface *interfacePt)
 
MCR_API int mcr_Instance_clear (struct mcr_Instance *instancePt)
 
MCR_API int mcr_Instance_reset (struct mcr_Instance *instancePt)
 
MCR_API int mcr_Instance_compare (const struct mcr_Instance *lhsPt, const struct mcr_Instance *rhsPt)
 
MCR_API int mcr_Instance_copy (struct mcr_Instance *dstPt, const struct mcr_Instance *srcPt)
 

Detailed Description

mcr_Instance Example and abstraction of an interface instance.

All instance implementations should begin with mcr_Interface *, and then a mcr_DataMember structure.

Definition in file instance.h.

Function Documentation

§ mcr_Instance_clear()

MCR_API int mcr_Instance_clear ( struct mcr_Instance instancePt)

Free and nullify existing data

mcr_Interface_deallocate

Parameters
instancePt
Returns
reterr

§ mcr_Instance_compare()

MCR_API int mcr_Instance_compare ( const struct mcr_Instance lhsPt,
const struct mcr_Instance rhsPt 
)

Compare two instances

mcr_Interface_compare

Parameters
lhsPtopt
rhsPtopt
Returns
retcmp

§ mcr_Instance_copy()

MCR_API int mcr_Instance_copy ( struct mcr_Instance dstPt,
const struct mcr_Instance srcPt 
)

Copy from source instance to destination instance

mcr_Interface_copy

Parameters
dstPtDestination
srcPtopt Source
Returns
reterr

§ mcr_Instance_deinit()

MCR_API void mcr_Instance_deinit ( struct mcr_Instance instancePt)

dtor

Free resources of an instance

Parameters
instancePtopt
Returns
reterr

§ mcr_Instance_heap()

MCR_API bool mcr_Instance_heap ( struct mcr_Instance instancePt)

mcr_DataMember_heap

Parameters
instancePtopt
Returns
bool

§ mcr_Instance_id()

MCR_API size_t mcr_Instance_id ( struct mcr_Instance instancePt)

Get the id of an instance's interface

mcr_Interface_id

Parameters
instancePtopt
Returns
retid

§ mcr_Instance_init()

MCR_API void mcr_Instance_init ( struct mcr_Instance instancePt)

ctor

Parameters
instancePtopt

§ mcr_Instance_reset()

MCR_API int mcr_Instance_reset ( struct mcr_Instance instancePt)

Free existing data and reinitialize

mcr_Interface_reset

Parameters
instancePt
Returns
reterr

§ mcr_Instance_set_interface()

MCR_API int mcr_Instance_set_interface ( struct mcr_Instance instancePt,
struct mcr_Interface interfacePt 
)

Change the interface of an instance

Existing data will be deinitialized before setting the new interface.

Parameters
instancePt
interfacePtopt
Returns
reterr