23 #ifndef MCR_BASE_INTERFACE_H_ 24 #define MCR_BASE_INTERFACE_H_ int(* mcr_compare_fnc)(const void *lhsPt, const void *rhsPt)
struct mcr_context * context
MCR_API int mcr_Interface_allocate(const struct mcr_Interface *interfacePt, struct mcr_DataMember *dataMemberPt)
Forward declaration of types.
MCR_API void mcr_Interface_set_all(struct mcr_Interface *interfacePt, struct mcr_context *context, size_t dataSize, void *(*allocate)(), void(*deallocate)(void *), mcr_data_fnc init, mcr_data_fnc deinit, mcr_compare_fnc compare, mcr_copy_fnc copy)
MCR_API int mcr_Interface_reset(const struct mcr_Interface *interfacePt, struct mcr_DataMember *dataMemberPt)
MCR_API int mcr_Interface_deallocate(const struct mcr_Interface *interfacePt, struct mcr_DataMember *dataMemberPt)
int(* mcr_data_fnc)(void *dataPt)
struct mcr_IRegistry * registry
void(* deallocate)(void *)
int(* mcr_copy_fnc)(void *destinationPt, const void *sourcePt)
MCR_API int mcr_Interface_compare(const struct mcr_Interface *interfacePt, const struct mcr_DataMember *lhs, const struct mcr_DataMember *rhs)
MCR_API void mcr_Interface_ctor(struct mcr_Interface *interfacePt, struct mcr_context *context, size_t dataSize, void *(*allocate)(), void(*deallocate)(void *), mcr_data_fnc init, mcr_data_fnc deinit, mcr_compare_fnc compare, mcr_copy_fnc copy)
MCR_API int mcr_Interface_copy(const struct mcr_Interface *interfacePt, struct mcr_DataMember *dstPt, const struct mcr_DataMember *srcPt)
MCR_API int mcr_Interface_set_data(const struct mcr_Interface *interfacePt, struct mcr_DataMember *dataMemberPt, void *data, bool heapFlag)
MCR_API size_t mcr_Interface_id(struct mcr_Interface *interfacePt)
MCR_API void mcr_Interface_init(struct mcr_Interface *interfacePt)
MCR_API void mcr_Interface_deinit(struct mcr_Interface *interfacePt)