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-2024 Zuse Institute Berlin (ZIB) */
7/* */
8/* Licensed under the Apache License, Version 2.0 (the "License"); */
9/* you may not use this file except in compliance with the License. */
10/* You may obtain a copy of the License at */
11/* */
12/* http://www.apache.org/licenses/LICENSE-2.0 */
13/* */
14/* Unless required by applicable law or agreed to in writing, software */
15/* distributed under the License is distributed on an "AS IS" BASIS, */
16/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. */
17/* See the License for the specific language governing permissions and */
18/* limitations under the License. */
19/* */
20/* You should have received a copy of the Apache-2.0 license */
21/* along with SCIP; see the file LICENSE. If not visit scipopt.org. */
22/* */
23/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
24
25/**@file type_table.h
26 * @ingroup TYPEDEFINITIONS
27 * @brief type definitions for displaying statistics tables
28 * @author Tristan Gally
29 *
30 * This file defines the interface for statistics tables implemented in C.
31 *
32 * - \ref TABLE "Instructions for implementing a statistics table"
33 * - \ref TABLES "List of available statistics tables"
34 * - \ref scip::ObjTable "C++ wrapper class
35 */
36
37/** @defgroup DEFPLUGINS_TABLE Default Tables
38 * @ingroup DEFPLUGINS
39 * @brief implementation files (.c files) of the default statistics tables of SCIP
40 */
41
42/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
43
44#ifndef __SCIP_TYPE_TABLE_H__
45#define __SCIP_TYPE_TABLE_H__
46
47#include <stdio.h>
48
49#include "scip/def.h"
50#include "scip/type_retcode.h"
51#include "scip/type_scip.h"
52
53#ifdef __cplusplus
54extern "C" {
55#endif
56
57typedef struct SCIP_Table SCIP_TABLE; /**< statistics table data structure */
58typedef struct SCIP_TableData SCIP_TABLEDATA; /**< statistics table specific data */
59
60
61/** copy method for statistics table plugins (called when SCIP copies plugins)
62 *
63 * input:
64 * - scip : SCIP main data structure
65 * - table : the statistics table itself
66 */
67#define SCIP_DECL_TABLECOPY(x) SCIP_RETCODE x (SCIP* scip, SCIP_TABLE* table)
68
69/** destructor of statistics table to free user data (called when SCIP is exiting)
70 *
71 * input:
72 * - scip : SCIP main data structure
73 * - table : the statistics table itself
74 */
75#define SCIP_DECL_TABLEFREE(x) SCIP_RETCODE x (SCIP* scip, SCIP_TABLE* table)
76
77/** initialization method of statistics table (called after problem was transformed)
78 *
79 * input:
80 * - scip : SCIP main data structure
81 * - table : the statistics table itself
82 */
83#define SCIP_DECL_TABLEINIT(x) SCIP_RETCODE x (SCIP* scip, SCIP_TABLE* table)
84
85/** deinitialization method of statistics table (called before transformed problem is freed)
86 *
87 * input:
88 * - scip : SCIP main data structure
89 * - table : the statistics table itself
90 */
91#define SCIP_DECL_TABLEEXIT(x) SCIP_RETCODE x (SCIP* scip, SCIP_TABLE* table)
92
93/** solving process initialization method of statistics table (called when branch and bound process is about to begin)
94 *
95 * This method is called when the presolving was finished and the branch and bound process is about to begin.
96 * The statistics table may use this call to initialize its branch and bound specific data.
97 *
98 * input:
99 * - scip : SCIP main data structure
100 * - table : the statistics table itself
101 */
102#define SCIP_DECL_TABLEINITSOL(x) SCIP_RETCODE x (SCIP* scip, SCIP_TABLE* table)
103
104/** solving process deinitialization method of statistics table (called before branch and bound process data is freed)
105 *
106 * This method is called before the branch and bound process is freed.
107 * The statistics table should use this call to clean up its branch and bound data.
108 *
109 * input:
110 * - scip : SCIP main data structure
111 * - table : the display column itself
112 */
113#define SCIP_DECL_TABLEEXITSOL(x) SCIP_RETCODE x (SCIP* scip, SCIP_TABLE* table)
114
115/** output method of statistics table to output file stream 'file'
116 *
117 * input:
118 * - scip : SCIP main data structure
119 * - table : the statistics table itself
120 * - file : file stream for output
121 */
122#define SCIP_DECL_TABLEOUTPUT(x) SCIP_RETCODE x (SCIP* scip, SCIP_TABLE* table, FILE* file)
123
124#ifdef __cplusplus
125}
126#endif
127
128#endif
common defines and data types used in all packages of SCIP
type definitions for return codes for SCIP methods
type definitions for SCIP's main datastructure
struct SCIP_TableData SCIP_TABLEDATA
Definition: type_table.h:58