43#ifndef __SCIP_TYPE_EVENT_H__
44#define __SCIP_TYPE_EVENT_H__
50#if !defined(_MSC_VER) || _MSC_VER > 1600
52#define __STDC_FORMAT_MACROS
67#define SCIP_EVENTTYPE_DISABLED UINT64_C(0x000000000)
70#define SCIP_EVENTTYPE_VARADDED UINT64_C(0x000000001)
71#define SCIP_EVENTTYPE_VARDELETED UINT64_C(0x000000002)
72#define SCIP_EVENTTYPE_VARFIXED UINT64_C(0x000000004)
73#define SCIP_EVENTTYPE_VARUNLOCKED UINT64_C(0x000000008)
74#define SCIP_EVENTTYPE_OBJCHANGED UINT64_C(0x000000010)
75#define SCIP_EVENTTYPE_GLBCHANGED UINT64_C(0x000000020)
76#define SCIP_EVENTTYPE_GUBCHANGED UINT64_C(0x000000040)
77#define SCIP_EVENTTYPE_LBTIGHTENED UINT64_C(0x000000080)
78#define SCIP_EVENTTYPE_LBRELAXED UINT64_C(0x000000100)
79#define SCIP_EVENTTYPE_UBTIGHTENED UINT64_C(0x000000200)
80#define SCIP_EVENTTYPE_UBRELAXED UINT64_C(0x000000400)
81#define SCIP_EVENTTYPE_GHOLEADDED UINT64_C(0x000000800)
82#define SCIP_EVENTTYPE_GHOLEREMOVED UINT64_C(0x000001000)
83#define SCIP_EVENTTYPE_LHOLEADDED UINT64_C(0x000002000)
84#define SCIP_EVENTTYPE_LHOLEREMOVED UINT64_C(0x000004000)
85#define SCIP_EVENTTYPE_IMPLADDED UINT64_C(0x000008000)
86#define SCIP_EVENTTYPE_TYPECHANGED UINT64_C(0x000010000)
89#define SCIP_EVENTTYPE_PRESOLVEROUND UINT64_C(0x000020000)
92#define SCIP_EVENTTYPE_NODEFOCUSED UINT64_C(0x000040000)
93#define SCIP_EVENTTYPE_NODEFEASIBLE UINT64_C(0x000080000)
94#define SCIP_EVENTTYPE_NODEINFEASIBLE UINT64_C(0x000100000)
95#define SCIP_EVENTTYPE_NODEBRANCHED UINT64_C(0x000200000)
96#define SCIP_EVENTTYPE_NODEDELETE UINT64_C(0x000400000)
100#define SCIP_EVENTTYPE_FIRSTLPSOLVED UINT64_C(0x000800000)
101#define SCIP_EVENTTYPE_LPSOLVED UINT64_C(0x001000000)
104#define SCIP_EVENTTYPE_POORSOLFOUND UINT64_C(0x002000000)
105#define SCIP_EVENTTYPE_BESTSOLFOUND UINT64_C(0x004000000)
108#define SCIP_EVENTTYPE_ROWADDEDSEPA UINT64_C(0x008000000)
109#define SCIP_EVENTTYPE_ROWDELETEDSEPA UINT64_C(0x010000000)
110#define SCIP_EVENTTYPE_ROWADDEDLP UINT64_C(0x020000000)
111#define SCIP_EVENTTYPE_ROWDELETEDLP UINT64_C(0x040000000)
112#define SCIP_EVENTTYPE_ROWCOEFCHANGED UINT64_C(0x080000000)
113#define SCIP_EVENTTYPE_ROWCONSTCHANGED UINT64_C(0x100000000)
114#define SCIP_EVENTTYPE_ROWSIDECHANGED UINT64_C(0x200000000)
117#define SCIP_EVENTTYPE_SYNC UINT64_C(0x400000000)
120#define SCIP_EVENTTYPE_GBDCHANGED (SCIP_EVENTTYPE_GLBCHANGED | SCIP_EVENTTYPE_GUBCHANGED)
121#define SCIP_EVENTTYPE_LBCHANGED (SCIP_EVENTTYPE_LBTIGHTENED | SCIP_EVENTTYPE_LBRELAXED)
122#define SCIP_EVENTTYPE_UBCHANGED (SCIP_EVENTTYPE_UBTIGHTENED | SCIP_EVENTTYPE_UBRELAXED)
123#define SCIP_EVENTTYPE_BOUNDTIGHTENED (SCIP_EVENTTYPE_LBTIGHTENED | SCIP_EVENTTYPE_UBTIGHTENED)
124#define SCIP_EVENTTYPE_BOUNDRELAXED (SCIP_EVENTTYPE_LBRELAXED | SCIP_EVENTTYPE_UBRELAXED)
125#define SCIP_EVENTTYPE_BOUNDCHANGED (SCIP_EVENTTYPE_LBCHANGED | SCIP_EVENTTYPE_UBCHANGED)
126#define SCIP_EVENTTYPE_GHOLECHANGED (SCIP_EVENTTYPE_GHOLEADDED | SCIP_EVENTTYPE_GHOLEREMOVED)
127#define SCIP_EVENTTYPE_LHOLECHANGED (SCIP_EVENTTYPE_LHOLEADDED | SCIP_EVENTTYPE_LHOLEREMOVED)
128#define SCIP_EVENTTYPE_HOLECHANGED (SCIP_EVENTTYPE_GHOLECHANGED | SCIP_EVENTTYPE_LHOLECHANGED)
129#define SCIP_EVENTTYPE_DOMCHANGED (SCIP_EVENTTYPE_BOUNDCHANGED | SCIP_EVENTTYPE_HOLECHANGED)
130#define SCIP_EVENTTYPE_VARCHANGED (SCIP_EVENTTYPE_VARFIXED | SCIP_EVENTTYPE_VARUNLOCKED | SCIP_EVENTTYPE_OBJCHANGED \
131 | SCIP_EVENTTYPE_GBDCHANGED | SCIP_EVENTTYPE_DOMCHANGED | SCIP_EVENTTYPE_IMPLADDED \
132 | SCIP_EVENTTYPE_VARDELETED | SCIP_EVENTTYPE_TYPECHANGED)
133#define SCIP_EVENTTYPE_VAREVENT (SCIP_EVENTTYPE_VARADDED | SCIP_EVENTTYPE_VARCHANGED | SCIP_EVENTTYPE_TYPECHANGED)
136#define SCIP_EVENTTYPE_NODESOLVED (SCIP_EVENTTYPE_NODEFEASIBLE | SCIP_EVENTTYPE_NODEINFEASIBLE \
137 | SCIP_EVENTTYPE_NODEBRANCHED)
138#define SCIP_EVENTTYPE_NODEEVENT (SCIP_EVENTTYPE_NODEFOCUSED | SCIP_EVENTTYPE_NODESOLVED)
141#define SCIP_EVENTTYPE_LPEVENT (SCIP_EVENTTYPE_FIRSTLPSOLVED | SCIP_EVENTTYPE_LPSOLVED)
144#define SCIP_EVENTTYPE_SOLFOUND (SCIP_EVENTTYPE_POORSOLFOUND | SCIP_EVENTTYPE_BESTSOLFOUND)
145#define SCIP_EVENTTYPE_SOLEVENT (SCIP_EVENTTYPE_SOLFOUND)
148#define SCIP_EVENTTYPE_ROWCHANGED (SCIP_EVENTTYPE_ROWCOEFCHANGED | SCIP_EVENTTYPE_ROWCONSTCHANGED | SCIP_EVENTTYPE_ROWSIDECHANGED)
149#define SCIP_EVENTTYPE_ROWEVENT (SCIP_EVENTTYPE_ROWADDEDSEPA | SCIP_EVENTTYPE_ROWDELETEDSEPA | SCIP_EVENTTYPE_ROWADDEDLP | SCIP_EVENTTYPE_ROWDELETEDLP | SCIP_EVENTTYPE_ROWCHANGED)
152#define SCIP_EVENTTYPE_FORMAT PRIx64
183#define SCIP_DECL_EVENTCOPY(x) SCIP_RETCODE x (SCIP* scip, SCIP_EVENTHDLR* eventhdlr)
191#define SCIP_DECL_EVENTFREE(x) SCIP_RETCODE x (SCIP* scip, SCIP_EVENTHDLR* eventhdlr)
199#define SCIP_DECL_EVENTINIT(x) SCIP_RETCODE x (SCIP* scip, SCIP_EVENTHDLR* eventhdlr)
207#define SCIP_DECL_EVENTEXIT(x) SCIP_RETCODE x (SCIP* scip, SCIP_EVENTHDLR* eventhdlr)
218#define SCIP_DECL_EVENTINITSOL(x) SCIP_RETCODE x (SCIP* scip, SCIP_EVENTHDLR* eventhdlr)
229#define SCIP_DECL_EVENTEXITSOL(x) SCIP_RETCODE x (SCIP* scip, SCIP_EVENTHDLR* eventhdlr)
238#define SCIP_DECL_EVENTDELETE(x) SCIP_RETCODE x (SCIP* scip, SCIP_EVENTHDLR* eventhdlr, SCIP_EVENTDATA** eventdata)
253#define SCIP_DECL_EVENTEXEC(x) SCIP_RETCODE x (SCIP* scip, SCIP_EVENTHDLR* eventhdlr, SCIP_EVENT* event, SCIP_EVENTDATA* eventdata)
common defines and data types used in all packages of SCIP
struct SCIP_EventVarDeleted SCIP_EVENTVARDELETED
struct SCIP_Eventhdlr SCIP_EVENTHDLR
struct SCIP_EventRowConstChanged SCIP_EVENTROWCONSTCHANGED
struct SCIP_EventBdChg SCIP_EVENTBDCHG
struct SCIP_EventVarAdded SCIP_EVENTVARADDED
struct SCIP_EventRowAddedLP SCIP_EVENTROWADDEDLP
struct SCIP_EventHole SCIP_EVENTHOLE
struct SCIP_EventRowSideChanged SCIP_EVENTROWSIDECHANGED
struct SCIP_EventData SCIP_EVENTDATA
struct SCIP_EventFilter SCIP_EVENTFILTER
struct SCIP_EventhdlrData SCIP_EVENTHDLRDATA
struct SCIP_EventRowCoefChanged SCIP_EVENTROWCOEFCHANGED
struct SCIP_EventObjChg SCIP_EVENTOBJCHG
struct SCIP_EventImplAdd SCIP_EVENTIMPLADD
struct SCIP_EventVarUnlocked SCIP_EVENTVARUNLOCKED
struct SCIP_EventRowDeletedLP SCIP_EVENTROWDELETEDLP
struct SCIP_EventQueue SCIP_EVENTQUEUE
struct SCIP_EventRowDeletedSepa SCIP_EVENTROWDELETEDSEPA
struct SCIP_EventTypeChg SCIP_EVENTTYPECHG
struct SCIP_EventRowAddedSepa SCIP_EVENTROWADDEDSEPA
struct SCIP_Event SCIP_EVENT
struct SCIP_EventVarFixed SCIP_EVENTVARFIXED
type definitions for return codes for SCIP methods
type definitions for SCIP's main datastructure