47#define va_copy(dest, src) do { BMScopyMemory(&dest, &src); } while( 0 )
51#if defined(_WIN32) || defined(_WIN64)
52#define snprintf _snprintf
53#define vsnprintf _vsnprintf
119 buffer[(*bufferlen)++] = *(s++);
130 buffer[(*bufferlen)++] = *(s++);
175 if ( messagehdlr !=
NULL && messagehdlr->messagewarning !=
NULL && (! messagehdlr->
quiet || messagehdlr->
logfile !=
NULL) )
190 if ( messagehdlr !=
NULL && messagehdlr->messagedialog !=
NULL )
216 if ( messagehdlr !=
NULL && messagehdlr->messageinfo !=
NULL )
241 if( filename !=
NULL )
262 if( *messagehdlr !=
NULL )
269 if( (*messagehdlr)->messagehdlrfree !=
NULL )
272 SCIP_CALL( (*messagehdlr)->messagehdlrfree(*messagehdlr) );
276 if( (*messagehdlr)->logfile !=
NULL )
278 fclose((*messagehdlr)->logfile);
298 const char* filename,
312 (*messagehdlr)->messagehdlrdata = messagehdlrdata;
313 (*messagehdlr)->warningbuffer =
NULL;
314 (*messagehdlr)->dialogbuffer =
NULL;
315 (*messagehdlr)->infobuffer =
NULL;
316 (*messagehdlr)->warningbufferlen = 0;
317 (*messagehdlr)->dialogbufferlen = 0;
318 (*messagehdlr)->infobufferlen = 0;
319 (*messagehdlr)->nuses = 1;
321 (*messagehdlr)->quiet = quiet;
330 (*messagehdlr)->warningbuffer[0] =
'\0';
331 (*messagehdlr)->dialogbuffer[0] =
'\0';
332 (*messagehdlr)->infobuffer[0] =
'\0';
343 if( messagehdlr !=
NULL )
344 ++messagehdlr->
nuses;
354 if( *messagehdlr ==
NULL )
357 assert((*messagehdlr)->nuses >= 1);
360 --(*messagehdlr)->nuses;
363 if( (*messagehdlr)->nuses == 0 )
384 if( messagehdlr ==
NULL )
423 messagehdlr->
quiet = quiet;
882#undef SCIPmessagehdlrGetData
883#undef SCIPmessagehdlrGetLogfile
884#undef SCIPmessagehdlrIsQuiet
891 if( messagehdlr !=
NULL )
903 if( messagehdlr ==
NULL )
914 return (messagehdlr ==
NULL || messagehdlr->
quiet);
common defines and data types used in all packages of SCIP
assert(minobj< SCIPgetCutoffbound(scip))
memory allocation routines
#define BMSfreeMemory(ptr)
#define BMSallocMemoryArray(ptr, num)
#define BMSfreeMemoryArrayNull(ptr)
#define BMSallocMemorySize(ptr, size)
#define BMSallocMemory(ptr)
void SCIPmessagePrintError(const char *formatstr,...)
#define va_copy(dest, src)
static void messagePrintInfo(SCIP_MESSAGEHDLR *messagehdlr, FILE *file, const char *msg)
void SCIPmessageVPrintVerbInfo(SCIP_MESSAGEHDLR *messagehdlr, SCIP_VERBLEVEL verblevel, SCIP_VERBLEVEL msgverblevel, const char *formatstr, va_list ap)
SCIP_RETCODE SCIPmessagehdlrCreate(SCIP_MESSAGEHDLR **messagehdlr, SCIP_Bool bufferedoutput, const char *filename, SCIP_Bool quiet, SCIP_DECL_MESSAGEWARNING((*messagewarning)), SCIP_DECL_MESSAGEDIALOG((*messagedialog)), SCIP_DECL_MESSAGEINFO((*messageinfo)), SCIP_DECL_MESSAGEHDLRFREE((*messagehdlrfree)), SCIP_MESSAGEHDLRDATA *messagehdlrdata)
void SCIPmessageFPrintWarning(SCIP_MESSAGEHDLR *messagehdlr, const char *formatstr,...)
void SCIPmessageVPrintDialog(SCIP_MESSAGEHDLR *messagehdlr, const char *formatstr, va_list ap)
static void handleMessage(SCIP_MESSAGEHDLR *messagehdlr, SCIP_DECL_MESSAGEOUTPUTFUNC(outputfunc), FILE *file1, SCIP_Bool usefile1, FILE *file2, SCIP_Bool usefile2, const char *msg, char *buffer, int *bufferlen)
static void messagePrintWarning(SCIP_MESSAGEHDLR *messagehdlr, const char *msg)
SCIP_MESSAGEHDLRDATA * SCIPmessagehdlrGetData(SCIP_MESSAGEHDLR *messagehdlr)
static SCIP_RETCODE messagehdlrFree(SCIP_MESSAGEHDLR **messagehdlr)
void SCIPmessageFPrintVerbInfo(SCIP_MESSAGEHDLR *messagehdlr, SCIP_VERBLEVEL verblevel, SCIP_VERBLEVEL msgverblevel, FILE *file, const char *formatstr,...)
void SCIPmessageFPrintInfo(SCIP_MESSAGEHDLR *messagehdlr, FILE *file, const char *formatstr,...)
static void * staticErrorPrintingData
void SCIPmessageVFPrintWarning(SCIP_MESSAGEHDLR *messagehdlr, const char *formatstr, va_list ap)
void SCIPmessageVFPrintDialog(SCIP_MESSAGEHDLR *messagehdlr, FILE *file, const char *formatstr, va_list ap)
void SCIPmessagehdlrSetLogfile(SCIP_MESSAGEHDLR *messagehdlr, const char *filename)
static void messagehdlrOpenLogfile(SCIP_MESSAGEHDLR *messagehdlr, const char *filename)
void SCIPmessageVFPrintInfo(SCIP_MESSAGEHDLR *messagehdlr, FILE *file, const char *formatstr, va_list ap)
void SCIPmessageSetErrorPrinting(SCIP_DECL_ERRORPRINTING((*errorPrinting)), void *data)
void SCIPmessagePrintInfo(SCIP_MESSAGEHDLR *messagehdlr, const char *formatstr,...)
void SCIPmessageVPrintError(const char *formatstr, va_list ap)
void SCIPmessagePrintDialog(SCIP_MESSAGEHDLR *messagehdlr, const char *formatstr,...)
SCIP_RETCODE SCIPmessagehdlrRelease(SCIP_MESSAGEHDLR **messagehdlr)
void SCIPmessageVFPrintVerbInfo(SCIP_MESSAGEHDLR *messagehdlr, SCIP_VERBLEVEL verblevel, SCIP_VERBLEVEL msgverblevel, FILE *file, const char *formatstr, va_list ap)
void SCIPmessagehdlrSetQuiet(SCIP_MESSAGEHDLR *messagehdlr, SCIP_Bool quiet)
void SCIPmessageVPrintInfo(SCIP_MESSAGEHDLR *messagehdlr, const char *formatstr, va_list ap)
void SCIPmessagePrintWarning(SCIP_MESSAGEHDLR *messagehdlr, const char *formatstr,...)
SCIP_Bool SCIPmessagehdlrIsQuiet(SCIP_MESSAGEHDLR *messagehdlr)
static void messagePrintDialog(SCIP_MESSAGEHDLR *messagehdlr, FILE *file, const char *msg)
FILE * SCIPmessagehdlrGetLogfile(SCIP_MESSAGEHDLR *messagehdlr)
SCIP_RETCODE SCIPmessagehdlrSetData(SCIP_MESSAGEHDLR *messagehdlr, SCIP_MESSAGEHDLRDATA *messagehdlrdata)
void SCIPmessageVPrintWarning(SCIP_MESSAGEHDLR *messagehdlr, const char *formatstr, va_list ap)
void SCIPmessagehdlrCapture(SCIP_MESSAGEHDLR *messagehdlr)
void SCIPmessageSetErrorPrintingDefault(void)
void SCIPmessagePrintVerbInfo(SCIP_MESSAGEHDLR *messagehdlr, SCIP_VERBLEVEL verblevel, SCIP_VERBLEVEL msgverblevel, const char *formatstr,...)
void SCIPmessageFPrintDialog(SCIP_MESSAGEHDLR *messagehdlr, FILE *file, const char *formatstr,...)
static void messagePrintError(FILE *file, const char *msg)
void SCIPmessagePrintErrorHeader(const char *sourcefile, int sourceline)
public methods for message output
public data structures and miscellaneous methods
SCIP_MESSAGEHDLRDATA * messagehdlrdata
datastructures for problem statistics
#define SCIP_DECL_MESSAGEOUTPUTFUNC(x)
#define SCIP_DECL_MESSAGEWARNING(x)
#define SCIP_DECL_MESSAGEINFO(x)
#define SCIP_DECL_MESSAGEDIALOG(x)
enum SCIP_VerbLevel SCIP_VERBLEVEL
#define SCIP_DECL_MESSAGEHDLRFREE(x)
#define SCIP_DECL_ERRORPRINTING(x)
struct SCIP_MessagehdlrData SCIP_MESSAGEHDLRDATA
enum SCIP_Retcode SCIP_RETCODE