SCIP Doxygen Documentation
Loading...
Searching...
No Matches

Detailed Description

methods for managing data trees

Author
Mohammed Ghannam

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

Functions

static SCIP_RETCODE datatreeExpand (SCIP_DATATREE *datatree, SCIP_SET *set, BMS_BLKMEM *blkmem)
static const char * datatreeValueTypeToString (SCIP_DATATREE_VALUETYPE type)
SCIP_RETCODE SCIPdatatreeCreate (SCIP_DATATREE **datatree, BMS_BLKMEM *blkmem, int capacity)
void SCIPdatatreeFree (SCIP_DATATREE **datatree, BMS_BLKMEM *blkmem)
SCIP_RETCODE SCIPdatatreeInsertBool (SCIP_DATATREE *datatree, SCIP_SET *set, BMS_BLKMEM *blkmem, const char *name, SCIP_Bool value)
SCIP_RETCODE SCIPdatatreeInsertLong (SCIP_DATATREE *datatree, SCIP_SET *set, BMS_BLKMEM *blkmem, const char *name, SCIP_Longint value)
SCIP_RETCODE SCIPdatatreeInsertReal (SCIP_DATATREE *datatree, SCIP_SET *set, BMS_BLKMEM *blkmem, const char *name, SCIP_Real value)
SCIP_RETCODE SCIPdatatreeInsertString (SCIP_DATATREE *datatree, SCIP_SET *set, BMS_BLKMEM *blkmem, const char *name, const char *value)
SCIP_RETCODE SCIPdatatreeInsertBoolArray (SCIP_DATATREE *datatree, SCIP_SET *set, BMS_BLKMEM *blkmem, const char *name, const SCIP_Bool *values, int nvalues)
SCIP_RETCODE SCIPdatatreeInsertLongArray (SCIP_DATATREE *datatree, SCIP_SET *set, BMS_BLKMEM *blkmem, const char *name, const SCIP_Longint *values, int nvalues)
SCIP_RETCODE SCIPdatatreeInsertRealArray (SCIP_DATATREE *datatree, SCIP_SET *set, BMS_BLKMEM *blkmem, const char *name, const SCIP_Real *values, int nvalues)
SCIP_RETCODE SCIPdatatreeInsertStringArray (SCIP_DATATREE *datatree, SCIP_SET *set, BMS_BLKMEM *blkmem, const char *name, const char *const *values, int nvalues)
SCIP_RETCODE SCIPdatatreeInsertTree (SCIP_DATATREE *datatree, SCIP_SET *set, BMS_BLKMEM *blkmem, const char *name, SCIP_DATATREE *value)
SCIP_RETCODE SCIPdatatreeWriteJson (SCIP_DATATREE *datatree, SCIP_MESSAGEHDLR *messagehdlr, FILE *file)
SCIP_RETCODE SCIPdatatreeGetBool (SCIP_DATATREE *datatree, const char *name, SCIP_Bool *value)
SCIP_RETCODE SCIPdatatreeGetLong (SCIP_DATATREE *datatree, const char *name, SCIP_Longint *value)
SCIP_RETCODE SCIPdatatreeGetReal (SCIP_DATATREE *datatree, const char *name, SCIP_Real *value)
SCIP_RETCODE SCIPdatatreeGetString (SCIP_DATATREE *datatree, const char *name, const char **value)
SCIP_RETCODE SCIPdatatreeGetBoolArray (SCIP_DATATREE *datatree, const char *name, SCIP_Bool **values, int *nvalues)
SCIP_RETCODE SCIPdatatreeGetLongArray (SCIP_DATATREE *datatree, const char *name, SCIP_Longint **values, int *nvalues)
SCIP_RETCODE SCIPdatatreeGetRealArray (SCIP_DATATREE *datatree, const char *name, SCIP_Real **values, int *nvalues)
SCIP_RETCODE SCIPdatatreeGetStringArray (SCIP_DATATREE *datatree, const char *name, char ***values, int *nvalues)
SCIP_RETCODE SCIPdatatreeGetTree (SCIP_DATATREE *datatree, const char *name, SCIP_DATATREE **value)

Macro Definition Documentation

◆ DATATREE_DEFAULT_CAPACITY

#define DATATREE_DEFAULT_CAPACITY   4

default capacity of a table store

Definition at line 50 of file datatree.c.

Referenced by SCIPdatatreeCreate().

Function Documentation

◆ datatreeExpand()

SCIP_RETCODE datatreeExpand ( SCIP_DATATREE * datatree,
SCIP_SET * set,
BMS_BLKMEM * blkmem )
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.

Parameters
datatreedata tree
setglobal SCIP settings
blkmemblock memory

Definition at line 58 of file datatree.c.

References assert(), BMSreallocBlockMemoryArray, datatreeExpand(), SCIP_Datatree::items, SCIP_Datatree::itemssize, SCIP_Datatree::nitems, NULL, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize().

Referenced by datatreeExpand(), SCIPdatatreeInsertBool(), SCIPdatatreeInsertBoolArray(), SCIPdatatreeInsertLong(), SCIPdatatreeInsertLongArray(), SCIPdatatreeInsertReal(), SCIPdatatreeInsertRealArray(), SCIPdatatreeInsertString(), SCIPdatatreeInsertStringArray(), and SCIPdatatreeInsertTree().

◆ datatreeValueTypeToString()

◆ SCIPdatatreeCreate()

SCIP_RETCODE SCIPdatatreeCreate ( SCIP_DATATREE ** datatree,
BMS_BLKMEM * blkmem,
int capacity )

creates a new SCIP_DATATREE with a given capacity for items

Parameters
datatreebuffer to store pointer to created datatree
blkmemblock memory
capacityinitial capacity

Definition at line 112 of file datatree.c.

References assert(), BMSallocBlockMemory, BMSallocBlockMemoryArray, DATATREE_DEFAULT_CAPACITY, NULL, SCIP_ALLOC, SCIP_OKAY, and SCIPdatatreeCreate().

Referenced by SCIPcreateDatatree(), SCIPcreateDatatreeInTree(), SCIPdatatreeCreate(), and SCIPtableOutput().

◆ SCIPdatatreeFree()

◆ SCIPdatatreeInsertBool()

SCIP_RETCODE SCIPdatatreeInsertBool ( SCIP_DATATREE * datatree,
SCIP_SET * set,
BMS_BLKMEM * blkmem,
const char * name,
SCIP_Bool value )

◆ SCIPdatatreeInsertLong()

SCIP_RETCODE SCIPdatatreeInsertLong ( SCIP_DATATREE * datatree,
SCIP_SET * set,
BMS_BLKMEM * blkmem,
const char * name,
SCIP_Longint value )

◆ SCIPdatatreeInsertReal()

SCIP_RETCODE SCIPdatatreeInsertReal ( SCIP_DATATREE * datatree,
SCIP_SET * set,
BMS_BLKMEM * blkmem,
const char * name,
SCIP_Real value )

◆ SCIPdatatreeInsertString()

SCIP_RETCODE SCIPdatatreeInsertString ( SCIP_DATATREE * datatree,
SCIP_SET * set,
BMS_BLKMEM * blkmem,
const char * name,
const char * value )

◆ SCIPdatatreeInsertBoolArray()

SCIP_RETCODE SCIPdatatreeInsertBoolArray ( SCIP_DATATREE * datatree,
SCIP_SET * set,
BMS_BLKMEM * blkmem,
const char * name,
const SCIP_Bool * values,
int nvalues )

◆ SCIPdatatreeInsertLongArray()

SCIP_RETCODE SCIPdatatreeInsertLongArray ( SCIP_DATATREE * datatree,
SCIP_SET * set,
BMS_BLKMEM * blkmem,
const char * name,
const SCIP_Longint * values,
int nvalues )

◆ SCIPdatatreeInsertRealArray()

SCIP_RETCODE SCIPdatatreeInsertRealArray ( SCIP_DATATREE * datatree,
SCIP_SET * set,
BMS_BLKMEM * blkmem,
const char * name,
const SCIP_Real * values,
int nvalues )

◆ SCIPdatatreeInsertStringArray()

SCIP_RETCODE SCIPdatatreeInsertStringArray ( SCIP_DATATREE * datatree,
SCIP_SET * set,
BMS_BLKMEM * blkmem,
const char * name,
const char *const * values,
int nvalues )

◆ SCIPdatatreeInsertTree()

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

inserts a store value into a SCIP_DATATREE object

Parameters
datatreedata tree
setglobal SCIP settings
blkmemblock memory
namename of entry
valuevalue 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, SCIPdatatreeInsertTree(), SCIP_DATATREEVALUE::type, and SCIP_DATATREEITEM::value.

Referenced by SCIPcreateDatatreeInTree(), SCIPdatatreeInsertTree(), and SCIPinsertDatatreeTree().

◆ SCIPdatatreeWriteJson()