methods for managing data trees
Definition in file datatree.c.
#include <stdio.h>#include <assert.h>#include <string.h>#include "scip/datatree.h"#include "scip/def.h"#include "blockmemshell/memory.h"#include "scip/set.h"#include "scip/stat.h"#include "scip/pub_datatree.h"#include "scip/pub_message.h"#include "scip/pub_misc.h"#include "scip/syncstore.h"#include "scip/struct_datatree.h"Go to the source code of this file.
Macros | |
| #define | DATATREE_DEFAULT_CAPACITY 4 |
| #define DATATREE_DEFAULT_CAPACITY 4 |
default capacity of a table store
Definition at line 50 of file datatree.c.
Referenced by SCIPdatatreeCreate().
|
static |
ensure a SCIP_DATATREE object can store an additional item
This function ensures that a SCIP_DATATREE object can store an additional item by increasing the itemssize, if necessary.
Definition at line 58 of file datatree.c.
References assert(), BMSreallocBlockMemoryArray, SCIP_Datatree::items, SCIP_Datatree::itemssize, SCIP_Datatree::nitems, NULL, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize().
Referenced by SCIPdatatreeInsertBool(), SCIPdatatreeInsertBoolArray(), SCIPdatatreeInsertLong(), SCIPdatatreeInsertLongArray(), SCIPdatatreeInsertReal(), SCIPdatatreeInsertRealArray(), SCIPdatatreeInsertString(), SCIPdatatreeInsertStringArray(), and SCIPdatatreeInsertTree().
|
static |
gives name to table valuetype enum
Definition at line 82 of file datatree.c.
References SCIP_DATATREE_BOOL, SCIP_DATATREE_BOOLARRAY, SCIP_DATATREE_DATATREE, SCIP_DATATREE_LONG, SCIP_DATATREE_LONGARRAY, SCIP_DATATREE_REAL, SCIP_DATATREE_REALARRAY, SCIP_DATATREE_STRING, and SCIP_DATATREE_STRINGARRAY.
Referenced by SCIPdatatreeGetBool(), SCIPdatatreeGetBoolArray(), SCIPdatatreeGetLong(), SCIPdatatreeGetLongArray(), SCIPdatatreeGetReal(), SCIPdatatreeGetRealArray(), SCIPdatatreeGetString(), SCIPdatatreeGetStringArray(), and SCIPdatatreeGetTree().
| SCIP_RETCODE SCIPdatatreeCreate | ( | SCIP_DATATREE ** | datatree, |
| BMS_BLKMEM * | blkmem, | ||
| int | capacity ) |
creates a new SCIP_DATATREE with a given capacity for items
| datatree | buffer to store pointer to created datatree |
| blkmem | block memory |
| capacity | initial capacity |
Definition at line 112 of file datatree.c.
References assert(), BMSallocBlockMemory, BMSallocBlockMemoryArray, DATATREE_DEFAULT_CAPACITY, NULL, SCIP_ALLOC, and SCIP_OKAY.
Referenced by SCIPcreateDatatree(), SCIPcreateDatatreeInTree(), and SCIPtableOutput().
| void SCIPdatatreeFree | ( | SCIP_DATATREE ** | datatree, |
| BMS_BLKMEM * | blkmem ) |
frees a SCIP_DATATREE object
| datatree | pointer to datatree to free |
| blkmem | block memory |
Definition at line 135 of file datatree.c.
References SCIP_DATATREEVALUEUNION::as_boolarray, SCIP_DATATREEVALUEUNION::as_dtree, SCIP_DATATREEVALUEUNION::as_longarray, SCIP_DATATREEVALUEUNION::as_realarray, SCIP_DATATREEVALUEUNION::as_string, SCIP_DATATREEVALUEUNION::as_stringarray, assert(), BMSfreeBlockMemory, BMSfreeBlockMemoryArray, SCIP_DATATREEVALUE::data, i, SCIP_DATATREEITEM::name, NULL, SCIP_DATATREEVALUE::nvalues, SCIP_DATATREE_BOOL, SCIP_DATATREE_BOOLARRAY, SCIP_DATATREE_DATATREE, SCIP_DATATREE_LONG, SCIP_DATATREE_LONGARRAY, SCIP_DATATREE_REAL, SCIP_DATATREE_REALARRAY, SCIP_DATATREE_STRING, SCIP_DATATREE_STRINGARRAY, SCIPABORT, SCIPdatatreeFree(), SCIPerrorMessage, SCIP_DATATREEVALUE::type, and SCIP_DATATREEITEM::value.
Referenced by SCIPdatatreeFree(), SCIPfreeDatatree(), and SCIPtableOutput().
| SCIP_RETCODE SCIPdatatreeInsertBool | ( | SCIP_DATATREE * | datatree, |
| SCIP_SET * | set, | ||
| BMS_BLKMEM * | blkmem, | ||
| const char * | name, | ||
| SCIP_Bool | value ) |
inserts a SCIP_Bool value into a SCIP_DATATREE object
| datatree | data tree |
| set | global SCIP settings |
| blkmem | block memory |
| name | name of entry |
| value | value of entry |
Definition at line 192 of file datatree.c.
References SCIP_DATATREEVALUEUNION::as_bool, assert(), BMSduplicateBlockMemoryArray, SCIP_DATATREEVALUE::data, datatreeExpand(), SCIP_Datatree::items, SCIP_DATATREEITEM::name, SCIP_Datatree::nitems, NULL, SCIP_ALLOC, SCIP_Bool, SCIP_CALL, SCIP_DATATREE_BOOL, SCIP_OKAY, SCIP_DATATREEVALUE::type, and SCIP_DATATREEITEM::value.
Referenced by SCIPinsertDatatreeBool().
| SCIP_RETCODE SCIPdatatreeInsertLong | ( | SCIP_DATATREE * | datatree, |
| SCIP_SET * | set, | ||
| BMS_BLKMEM * | blkmem, | ||
| const char * | name, | ||
| SCIP_Longint | value ) |
inserts a long value into a SCIP_DATATREE object
| datatree | data tree |
| set | global SCIP settings |
| blkmem | block memory |
| name | name of entry |
| value | value of entry |
Definition at line 223 of file datatree.c.
References SCIP_DATATREEVALUEUNION::as_long, assert(), BMSduplicateBlockMemoryArray, SCIP_DATATREEVALUE::data, datatreeExpand(), SCIP_Datatree::items, SCIP_DATATREEITEM::name, SCIP_Datatree::nitems, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_DATATREE_LONG, SCIP_Longint, SCIP_OKAY, SCIP_DATATREEVALUE::type, and SCIP_DATATREEITEM::value.
Referenced by SCIPinsertDatatreeInt(), SCIPinsertDatatreeLong(), and SCIPprobCollectStatistics().
| SCIP_RETCODE SCIPdatatreeInsertReal | ( | SCIP_DATATREE * | datatree, |
| SCIP_SET * | set, | ||
| BMS_BLKMEM * | blkmem, | ||
| const char * | name, | ||
| SCIP_Real | value ) |
inserts a SCIP_Real value into a SCIP_DATATREE object
| datatree | data tree |
| set | global SCIP settings |
| blkmem | block memory |
| name | name of entry |
| value | value of entry |
Definition at line 254 of file datatree.c.
References SCIP_DATATREEVALUEUNION::as_real, assert(), BMSduplicateBlockMemoryArray, SCIP_DATATREEVALUE::data, datatreeExpand(), SCIP_Datatree::items, SCIP_DATATREEITEM::name, SCIP_Datatree::nitems, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_DATATREE_REAL, SCIP_OKAY, SCIP_Real, SCIP_DATATREEVALUE::type, and SCIP_DATATREEITEM::value.
Referenced by SCIPinsertDatatreeReal(), and SCIPprobCollectStatistics().
| SCIP_RETCODE SCIPdatatreeInsertString | ( | SCIP_DATATREE * | datatree, |
| SCIP_SET * | set, | ||
| BMS_BLKMEM * | blkmem, | ||
| const char * | name, | ||
| const char * | value ) |
inserts a string value into a SCIP_DATATREE object
| datatree | data tree |
| set | global SCIP settings |
| blkmem | block memory |
| name | name of entry |
| value | value of entry |
Definition at line 285 of file datatree.c.
References SCIP_DATATREEVALUEUNION::as_string, assert(), BMSduplicateBlockMemoryArray, SCIP_DATATREEVALUE::data, datatreeExpand(), SCIP_Datatree::items, SCIP_DATATREEITEM::name, SCIP_Datatree::nitems, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_DATATREE_STRING, SCIP_OKAY, SCIP_DATATREEVALUE::type, and SCIP_DATATREEITEM::value.
Referenced by SCIPinsertDatatreeString(), and SCIPprobCollectStatistics().
| SCIP_RETCODE SCIPdatatreeInsertBoolArray | ( | SCIP_DATATREE * | datatree, |
| SCIP_SET * | set, | ||
| BMS_BLKMEM * | blkmem, | ||
| const char * | name, | ||
| const SCIP_Bool * | values, | ||
| int | nvalues ) |
inserts a SCIP_Bool array into a SCIP_DATATREE object
| datatree | data tree |
| set | global SCIP settings |
| blkmem | block memory |
| name | name of entry |
| values | values of entry |
| nvalues | number of values |
Definition at line 316 of file datatree.c.
References SCIP_DATATREEVALUEUNION::as_boolarray, assert(), BMSduplicateBlockMemoryArray, SCIP_DATATREEVALUE::data, datatreeExpand(), SCIP_Datatree::items, SCIP_DATATREEITEM::name, SCIP_Datatree::nitems, NULL, SCIP_DATATREEVALUE::nvalues, SCIP_ALLOC, SCIP_Bool, SCIP_CALL, SCIP_DATATREE_BOOLARRAY, SCIP_OKAY, SCIP_DATATREEVALUE::type, and SCIP_DATATREEITEM::value.
Referenced by SCIPinsertDatatreeBoolArray().
| SCIP_RETCODE SCIPdatatreeInsertLongArray | ( | SCIP_DATATREE * | datatree, |
| SCIP_SET * | set, | ||
| BMS_BLKMEM * | blkmem, | ||
| const char * | name, | ||
| const SCIP_Longint * | values, | ||
| int | nvalues ) |
inserts a SCIP_Longint array into a SCIP_DATATREE object
| datatree | data tree |
| set | global SCIP settings |
| blkmem | block memory |
| name | name of entry |
| values | values of entry |
| nvalues | number of values |
Definition at line 351 of file datatree.c.
References SCIP_DATATREEVALUEUNION::as_longarray, assert(), BMSduplicateBlockMemoryArray, SCIP_DATATREEVALUE::data, datatreeExpand(), SCIP_Datatree::items, SCIP_DATATREEITEM::name, SCIP_Datatree::nitems, NULL, SCIP_DATATREEVALUE::nvalues, SCIP_ALLOC, SCIP_CALL, SCIP_DATATREE_LONGARRAY, SCIP_Longint, SCIP_OKAY, SCIP_DATATREEVALUE::type, and SCIP_DATATREEITEM::value.
Referenced by SCIPinsertDatatreeIntArray(), and SCIPinsertDatatreeLongArray().
| SCIP_RETCODE SCIPdatatreeInsertRealArray | ( | SCIP_DATATREE * | datatree, |
| SCIP_SET * | set, | ||
| BMS_BLKMEM * | blkmem, | ||
| const char * | name, | ||
| const SCIP_Real * | values, | ||
| int | nvalues ) |
inserts a SCIP_Real array into a SCIP_DATATREE object
| datatree | data tree |
| set | global SCIP settings |
| blkmem | block memory |
| name | name of entry |
| values | values of entry |
| nvalues | number of values |
Definition at line 386 of file datatree.c.
References SCIP_DATATREEVALUEUNION::as_realarray, assert(), BMSduplicateBlockMemoryArray, SCIP_DATATREEVALUE::data, datatreeExpand(), SCIP_Datatree::items, SCIP_DATATREEITEM::name, SCIP_Datatree::nitems, NULL, SCIP_DATATREEVALUE::nvalues, SCIP_ALLOC, SCIP_CALL, SCIP_DATATREE_REALARRAY, SCIP_OKAY, SCIP_Real, SCIP_DATATREEVALUE::type, and SCIP_DATATREEITEM::value.
Referenced by SCIPinsertDatatreeRealArray().
| SCIP_RETCODE SCIPdatatreeInsertStringArray | ( | SCIP_DATATREE * | datatree, |
| SCIP_SET * | set, | ||
| BMS_BLKMEM * | blkmem, | ||
| const char * | name, | ||
| const char *const * | values, | ||
| int | nvalues ) |
inserts a string array into a SCIP_DATATREE object
| datatree | data tree |
| set | global SCIP settings |
| blkmem | block memory |
| name | name of entry |
| values | values of entry |
| nvalues | number of values |
Definition at line 421 of file datatree.c.
References SCIP_DATATREEVALUEUNION::as_stringarray, assert(), BMSallocBlockMemoryArray, BMSduplicateBlockMemoryArray, SCIP_DATATREEVALUE::data, datatreeExpand(), i, SCIP_Datatree::items, SCIP_DATATREEITEM::name, SCIP_Datatree::nitems, NULL, SCIP_DATATREEVALUE::nvalues, SCIP_ALLOC, SCIP_CALL, SCIP_DATATREE_STRINGARRAY, SCIP_OKAY, SCIP_DATATREEVALUE::type, and SCIP_DATATREEITEM::value.
Referenced by SCIPinsertDatatreeStringArray().
| SCIP_RETCODE SCIPdatatreeInsertTree | ( | SCIP_DATATREE * | datatree, |
| SCIP_SET * | set, | ||
| BMS_BLKMEM * | blkmem, | ||
| const char * | name, | ||
| SCIP_DATATREE * | value ) |
inserts a datatree value into a SCIP_DATATREE object
| datatree | data tree |
| set | global SCIP settings |
| blkmem | block memory |
| name | name of entry |
| value | value of entry |
Definition at line 461 of file datatree.c.
References SCIP_DATATREEVALUEUNION::as_dtree, assert(), BMSduplicateBlockMemoryArray, SCIP_DATATREEVALUE::data, datatreeExpand(), SCIP_Datatree::items, SCIP_DATATREEITEM::name, SCIP_Datatree::nitems, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_DATATREE_DATATREE, SCIP_OKAY, SCIP_DATATREEVALUE::type, and SCIP_DATATREEITEM::value.
Referenced by SCIPcreateDatatreeInTree(), and SCIPinsertDatatreeTree().
| SCIP_RETCODE SCIPdatatreeWriteJson | ( | SCIP_DATATREE * | datatree, |
| SCIP_MESSAGEHDLR * | messagehdlr, | ||
| FILE * | file ) |
writes a SCIP_DATATREE object as JSON to file
| datatree | data tree |
| messagehdlr | message handler |
| file | file to write to, or NULL for stdout |
Definition at line 492 of file datatree.c.
References SCIP_DATATREEVALUEUNION::as_bool, SCIP_DATATREEVALUEUNION::as_boolarray, SCIP_DATATREEVALUEUNION::as_dtree, SCIP_DATATREEVALUEUNION::as_long, SCIP_DATATREEVALUEUNION::as_longarray, SCIP_DATATREEVALUEUNION::as_real, SCIP_DATATREEVALUEUNION::as_realarray, SCIP_DATATREEVALUEUNION::as_string, SCIP_DATATREEVALUEUNION::as_stringarray, assert(), SCIP_DATATREEVALUE::data, i, SCIP_Datatree::items, SCIP_DATATREEITEM::name, SCIP_Datatree::nitems, NULL, SCIP_DATATREEVALUE::nvalues, SCIP_CALL, SCIP_DATATREE_BOOL, SCIP_DATATREE_BOOLARRAY, SCIP_DATATREE_DATATREE, SCIP_DATATREE_LONG, SCIP_DATATREE_LONGARRAY, SCIP_DATATREE_REAL, SCIP_DATATREE_REALARRAY, SCIP_DATATREE_STRING, SCIP_DATATREE_STRINGARRAY, SCIP_ERROR, SCIP_LONGINT_FORMAT, SCIP_OKAY, SCIPABORT, SCIPdatatreeWriteJson(), SCIPerrorMessage, SCIPmessageFPrintInfo(), SCIP_DATATREEVALUE::type, and SCIP_DATATREEITEM::value.
Referenced by SCIPdatatreeWriteJson(), and SCIPwriteDatatreeJson().