SCIP Doxygen Documentation
Loading...
Searching...
No Matches
datatree.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-2026 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 datatree.h
26 * @ingroup INTERNALAPI
27 * @brief internal methods for handling data trees
28 * @author Mohammed Ghannam
29 */
30
31/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
32
33#ifndef __SCIP_DATATREE_H__
34#define __SCIP_DATATREE_H__
35
36#include <stdio.h>
37
38#include "scip/def.h"
40#include "scip/type_retcode.h"
41#include "scip/type_set.h"
42#include "scip/type_datatree.h"
43#include "scip/type_paramset.h"
44#include "scip/type_message.h"
45#include "scip/type_mem.h"
46
47#ifdef __cplusplus
48extern "C" {
49#endif
50
51/** creates a new SCIP_DATATREE with a given capacity for items */
53 SCIP_DATATREE** datatree, /**< buffer to store pointer to created data tree */
54 BMS_BLKMEM* blkmem, /**< block memory */
55 int capacity /**< initial capacity */
56 );
57
58/** frees a SCIP_DATATREE object */
60 SCIP_DATATREE** datatree, /**< pointer to datatree to free */
61 BMS_BLKMEM* blkmem /**< block memory */
62 );
63
64/** inserts a SCIP_Bool value into a SCIP_DATATREE object */
66 SCIP_DATATREE* datatree, /**< data tree */
67 SCIP_SET* set, /**< global SCIP settings */
68 BMS_BLKMEM* blkmem, /**< block memory */
69 const char* name, /**< name of entry */
70 SCIP_Bool value /**< value of entry */
71 );
72
73/** inserts a long value into a SCIP_DATATREE object */
75 SCIP_DATATREE* datatree, /**< data tree */
76 SCIP_SET* set, /**< global SCIP settings */
77 BMS_BLKMEM* blkmem, /**< block memory */
78 const char* name, /**< name of entry */
79 SCIP_Longint value /**< value of entry */
80 );
81
82/** inserts a SCIP_Real value into a SCIP_DATATREE object */
84 SCIP_DATATREE* datatree, /**< data tree */
85 SCIP_SET* set, /**< global SCIP settings */
86 BMS_BLKMEM* blkmem, /**< block memory */
87 const char* name, /**< name of entry */
88 SCIP_Real value /**< value of entry */
89 );
90
91/** inserts a string value into a SCIP_DATATREE object */
93 SCIP_DATATREE* datatree, /**< data tree */
94 SCIP_SET* set, /**< global SCIP settings */
95 BMS_BLKMEM* blkmem, /**< block memory */
96 const char* name, /**< name of entry */
97 const char* value /**< value of entry */
98 );
99
100/** inserts a SCIP_Bool array into a SCIP_DATATREE object */
102 SCIP_DATATREE* datatree, /**< data tree */
103 SCIP_SET* set, /**< global SCIP settings */
104 BMS_BLKMEM* blkmem, /**< block memory */
105 const char* name, /**< name of entry */
106 const SCIP_Bool* values, /**< values of entry */
107 int nvalues /**< number of values */
108 );
109
110/** inserts a SCIP_Real array into a SCIP_DATATREE object */
112 SCIP_DATATREE* datatree, /**< data tree */
113 SCIP_SET* set, /**< global SCIP settings */
114 BMS_BLKMEM* blkmem, /**< block memory */
115 const char* name, /**< name of entry */
116 const SCIP_Real* values, /**< values of entry */
117 int nvalues /**< number of values */
118 );
119
120/** inserts a SCIP_Longint array into a SCIP_DATATREE object */
122 SCIP_DATATREE* datatree, /**< data tree */
123 SCIP_SET* set, /**< global SCIP settings */
124 BMS_BLKMEM* blkmem, /**< block memory */
125 const char* name, /**< name of entry */
126 const SCIP_Longint* values, /**< values of entry */
127 int nvalues /**< number of values */
128 );
129
130/** inserts a string array into a SCIP_DATATREE object */
132 SCIP_DATATREE* datatree, /**< data tree */
133 SCIP_SET* set, /**< global SCIP settings */
134 BMS_BLKMEM* blkmem, /**< block memory */
135 const char* name, /**< name of entry */
136 const char* const* values, /**< values of entry */
137 int nvalues /**< number of values */
138 );
139
140/** inserts a store value into a SCIP_DATATREE object */
142 SCIP_DATATREE* datatree, /**< data tree*/
143 SCIP_SET* set, /**< global SCIP settings */
144 BMS_BLKMEM* blkmem, /**< block memory */
145 const char* name, /**< name of entry */
146 SCIP_DATATREE* value /**< value of entry */
147 );
148
149/** writes a SCIP_DATATREE object as JSON to file */
151 SCIP_DATATREE* datatree, /**< data tree */
152 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
153 FILE* file /**< file to write to, or NULL for stdout */
154 );
155
156#ifdef __cplusplus
157}
158#endif
159
160#endif
SCIP_RETCODE SCIPdatatreeInsertBoolArray(SCIP_DATATREE *datatree, SCIP_SET *set, BMS_BLKMEM *blkmem, const char *name, const SCIP_Bool *values, int nvalues)
Definition datatree.c:316
SCIP_RETCODE SCIPdatatreeInsertTree(SCIP_DATATREE *datatree, SCIP_SET *set, BMS_BLKMEM *blkmem, const char *name, SCIP_DATATREE *value)
Definition datatree.c:461
SCIP_RETCODE SCIPdatatreeInsertStringArray(SCIP_DATATREE *datatree, SCIP_SET *set, BMS_BLKMEM *blkmem, const char *name, const char *const *values, int nvalues)
Definition datatree.c:421
SCIP_RETCODE SCIPdatatreeInsertLongArray(SCIP_DATATREE *datatree, SCIP_SET *set, BMS_BLKMEM *blkmem, const char *name, const SCIP_Longint *values, int nvalues)
Definition datatree.c:351
SCIP_RETCODE SCIPdatatreeCreate(SCIP_DATATREE **datatree, BMS_BLKMEM *blkmem, int capacity)
Definition datatree.c:112
void SCIPdatatreeFree(SCIP_DATATREE **datatree, BMS_BLKMEM *blkmem)
Definition datatree.c:135
SCIP_RETCODE SCIPdatatreeInsertLong(SCIP_DATATREE *datatree, SCIP_SET *set, BMS_BLKMEM *blkmem, const char *name, SCIP_Longint value)
Definition datatree.c:223
SCIP_RETCODE SCIPdatatreeWriteJson(SCIP_DATATREE *datatree, SCIP_MESSAGEHDLR *messagehdlr, FILE *file)
Definition datatree.c:492
SCIP_RETCODE SCIPdatatreeInsertString(SCIP_DATATREE *datatree, SCIP_SET *set, BMS_BLKMEM *blkmem, const char *name, const char *value)
Definition datatree.c:285
SCIP_RETCODE SCIPdatatreeInsertRealArray(SCIP_DATATREE *datatree, SCIP_SET *set, BMS_BLKMEM *blkmem, const char *name, const SCIP_Real *values, int nvalues)
Definition datatree.c:386
SCIP_RETCODE SCIPdatatreeInsertBool(SCIP_DATATREE *datatree, SCIP_SET *set, BMS_BLKMEM *blkmem, const char *name, SCIP_Bool value)
Definition datatree.c:192
SCIP_RETCODE SCIPdatatreeInsertReal(SCIP_DATATREE *datatree, SCIP_SET *set, BMS_BLKMEM *blkmem, const char *name, SCIP_Real value)
Definition datatree.c:254
common defines and data types used in all packages of SCIP
#define SCIP_Longint
Definition def.h:148
#define SCIP_Bool
Definition def.h:98
#define SCIP_Real
Definition def.h:163
memory allocation routines
struct BMS_BlkMem BMS_BLKMEM
Definition memory.h:437
type definitions for data tree
struct SCIP_Datatree SCIP_DATATREE
type definitions for block memory pools and memory buffers
type definitions for message output methods
struct SCIP_Messagehdlr SCIP_MESSAGEHDLR
type definitions for handling parameter settings
type definitions for return codes for SCIP methods
enum SCIP_Retcode SCIP_RETCODE
type definitions for global SCIP settings
struct SCIP_Set SCIP_SET
Definition type_set.h:71