Scippy

SCIP

Solving Constraint Integer Programs

type_table.h
Go to the documentation of this file.
1 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2 /* */
3 /* This file is part of the program and library */
4 /* SCIP --- Solving Constraint Integer Programs */
5 /* */
6 /* Copyright (C) 2002-2022 Konrad-Zuse-Zentrum */
7 /* fuer Informationstechnik Berlin */
8 /* */
9 /* SCIP is distributed under the terms of the ZIB Academic License. */
10 /* */
11 /* You should have received a copy of the ZIB Academic License */
12 /* along with SCIP; see the file COPYING. If not visit scipopt.org. */
13 /* */
14 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
15 
16 /**@file type_table.h
17  * @ingroup TYPEDEFINITIONS
18  * @brief type definitions for displaying statistics tables
19  * @author Tristan Gally
20  *
21  * This file defines the interface for statistics tables implemented in C.
22  *
23  * - \ref TABLE "Instructions for implementing a statistics table"
24  * - \ref TABLES "List of available statistics tables"
25  * - \ref scip::ObjTable "C++ wrapper class
26  */
27 
28 /** @defgroup DEFPLUGINS_TABLE Default Tables
29  * @ingroup DEFPLUGINS
30  * @brief implementation files (.c files) of the default statistics tables of SCIP
31  */
32 
33 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
34 
35 #ifndef __SCIP_TYPE_TABLE_H__
36 #define __SCIP_TYPE_TABLE_H__
37 
38 #include <stdio.h>
39 
40 #include "scip/def.h"
41 #include "scip/type_retcode.h"
42 #include "scip/type_scip.h"
43 
44 #ifdef __cplusplus
45 extern "C" {
46 #endif
47 
48 typedef struct SCIP_Table SCIP_TABLE; /**< statistics table data structure */
49 typedef struct SCIP_TableData SCIP_TABLEDATA; /**< statistics table specific data */
50 
51 
52 /** copy method for statistics table plugins (called when SCIP copies plugins)
53  *
54  * input:
55  * - scip : SCIP main data structure
56  * - table : the statistics table itself
57  */
58 #define SCIP_DECL_TABLECOPY(x) SCIP_RETCODE x (SCIP* scip, SCIP_TABLE* table)
59 
60 /** destructor of statistics table to free user data (called when SCIP is exiting)
61  *
62  * input:
63  * - scip : SCIP main data structure
64  * - table : the statistics table itself
65  */
66 #define SCIP_DECL_TABLEFREE(x) SCIP_RETCODE x (SCIP* scip, SCIP_TABLE* table)
67 
68 /** initialization method of statistics table (called after problem was transformed)
69  *
70  * input:
71  * - scip : SCIP main data structure
72  * - table : the statistics table itself
73  */
74 #define SCIP_DECL_TABLEINIT(x) SCIP_RETCODE x (SCIP* scip, SCIP_TABLE* table)
75 
76 /** deinitialization method of statistics table (called before transformed problem is freed)
77  *
78  * input:
79  * - scip : SCIP main data structure
80  * - table : the statistics table itself
81  */
82 #define SCIP_DECL_TABLEEXIT(x) SCIP_RETCODE x (SCIP* scip, SCIP_TABLE* table)
83 
84 /** solving process initialization method of statistics table (called when branch and bound process is about to begin)
85  *
86  * This method is called when the presolving was finished and the branch and bound process is about to begin.
87  * The statistics table may use this call to initialize its branch and bound specific data.
88  *
89  * input:
90  * - scip : SCIP main data structure
91  * - table : the statistics table itself
92  */
93 #define SCIP_DECL_TABLEINITSOL(x) SCIP_RETCODE x (SCIP* scip, SCIP_TABLE* table)
94 
95 /** solving process deinitialization method of statistics table (called before branch and bound process data is freed)
96  *
97  * This method is called before the branch and bound process is freed.
98  * The statistics table should use this call to clean up its branch and bound data.
99  *
100  * input:
101  * - scip : SCIP main data structure
102  * - table : the display column itself
103  */
104 #define SCIP_DECL_TABLEEXITSOL(x) SCIP_RETCODE x (SCIP* scip, SCIP_TABLE* table)
105 
106 /** output method of statistics table to output file stream 'file'
107  *
108  * input:
109  * - scip : SCIP main data structure
110  * - table : the statistics table itself
111  * - file : file stream for output
112  */
113 #define SCIP_DECL_TABLEOUTPUT(x) SCIP_RETCODE x (SCIP* scip, SCIP_TABLE* table, FILE* file)
114 
115 #ifdef __cplusplus
116 }
117 #endif
118 
119 #endif
type definitions for return codes for SCIP methods
type definitions for SCIP&#39;s main datastructure
common defines and data types used in all packages of SCIP
struct SCIP_TableData SCIP_TABLEDATA
Definition: type_table.h:49