44struct SCIP_EventhdlrData
47 SCIP_Bool deleteobject;
71 assert(eventhdlrdata->objeventhdlr->scip_ !=
scip);
73 if( eventhdlrdata->objeventhdlr->iscloneable() )
94 assert(eventhdlrdata->objeventhdlr->scip_ ==
scip);
97 SCIP_CALL( eventhdlrdata->objeventhdlr->scip_free(
scip, eventhdlr) );
100 if( eventhdlrdata->deleteobject )
101 delete eventhdlrdata->objeventhdlr;
104 delete eventhdlrdata;
120 assert(eventhdlrdata->objeventhdlr->scip_ ==
scip);
123 SCIP_CALL( eventhdlrdata->objeventhdlr->scip_init(
scip, eventhdlr) );
140 SCIP_CALL( eventhdlrdata->objeventhdlr->scip_exit(
scip, eventhdlr) );
157 SCIP_CALL( eventhdlrdata->objeventhdlr->scip_initsol(
scip, eventhdlr) );
174 SCIP_CALL( eventhdlrdata->objeventhdlr->scip_exitsol(
scip, eventhdlr) );
191 SCIP_CALL( eventhdlrdata->objeventhdlr->scip_delete(
scip, eventhdlr, eventdata) );
208 SCIP_CALL( eventhdlrdata->objeventhdlr->scip_exec(
scip, eventhdlr, event, eventdata) );
224 SCIP_Bool deleteobject
234 eventhdlrdata->objeventhdlr = objeventhdlr;
235 eventhdlrdata->deleteobject = deleteobject;
240 eventhdlrFreeObj, eventhdlrInitObj, eventhdlrExitObj,
241 eventhdlrInitsolObj, eventhdlrExitsolObj, eventhdlrDeleteObj, eventhdlrExecObj,
257 if( eventhdlr ==
NULL )
263 return eventhdlrdata->objeventhdlr;
278 return eventhdlrdata->objeventhdlr;
C++ wrapper for event handlers.
SCIP_RETCODE SCIPincludeEventhdlr(SCIP *scip, const char *name, const char *desc, SCIP_DECL_EVENTCOPY((*eventcopy)), SCIP_DECL_EVENTFREE((*eventfree)), SCIP_DECL_EVENTINIT((*eventinit)), SCIP_DECL_EVENTEXIT((*eventexit)), SCIP_DECL_EVENTINITSOL((*eventinitsol)), SCIP_DECL_EVENTEXITSOL((*eventexitsol)), SCIP_DECL_EVENTDELETE((*eventdelete)), SCIP_DECL_EVENTEXEC((*eventexec)), SCIP_EVENTHDLRDATA *eventhdlrdata)
SCIP_EVENTHDLR * SCIPfindEventhdlr(SCIP *scip, const char *name)
SCIP_EVENTHDLRDATA * SCIPeventhdlrGetData(SCIP_EVENTHDLR *eventhdlr)
void SCIPeventhdlrSetData(SCIP_EVENTHDLR *eventhdlr, SCIP_EVENTHDLRDATA *eventhdlrdata)
assert(minobj< SCIPgetCutoffbound(scip))
scip::ObjEventhdlr * SCIPfindObjEventhdlr(SCIP *scip, const char *name)
scip::ObjEventhdlr * SCIPgetObjEventhdlr(SCIP *scip, SCIP_EVENTHDLR *eventhdlr)
SCIP_RETCODE SCIPincludeObjEventhdlr(SCIP *scip, scip::ObjEventhdlr *objeventhdlr, SCIP_Bool deleteobject)
C++ wrapper for event handlers.
#define SCIP_DECL_EVENTINITSOL(x)
#define SCIP_DECL_EVENTDELETE(x)
#define SCIP_DECL_EVENTEXIT(x)
struct SCIP_EventhdlrData SCIP_EVENTHDLRDATA
#define SCIP_DECL_EVENTEXEC(x)
#define SCIP_DECL_EVENTCOPY(x)
#define SCIP_DECL_EVENTINIT(x)
#define SCIP_DECL_EVENTFREE(x)
#define SCIP_DECL_EVENTEXITSOL(x)
enum SCIP_Retcode SCIP_RETCODE