pub unsafe extern "C" fn SCIPgetConsCopy(
sourcescip: *mut SCIP,
targetscip: *mut SCIP,
sourcecons: *mut SCIP_CONS,
targetcons: *mut *mut SCIP_CONS,
sourceconshdlr: *mut SCIP_CONSHDLR,
varmap: *mut SCIP_HASHMAP,
consmap: *mut SCIP_HASHMAP,
name: *const c_char,
initial: c_uint,
separate: c_uint,
enforce: c_uint,
check: c_uint,
propagate: c_uint,
local: c_uint,
modifiable: c_uint,
dynamic: c_uint,
removable: c_uint,
stickingatnode: c_uint,
global: c_uint,
valid: *mut c_uint,
) -> SCIP_RETCODEExpand description
returns copy of the source constraint; if there already is a copy of the source constraint in the constraint hash map, it is just returned as target constraint; elsewise a new constraint will be created; this created constraint is added to the constraint hash map and returned as target constraint; the variable map is used to map the variables of the source SCIP to the variables of the target SCIP
@warning If a constraint is marked to be checked for feasibility but not to be enforced, a LP or pseudo solution may be declared feasible even if it violates this particular constraint. This constellation should only be used, if no LP or pseudo solution can violate the constraint – e.g. if a local constraint is redundant due to the variable’s local bounds.
@note The constraint is not added to the target SCIP. You can check whether a constraint is added by calling SCIPconsIsAdded(). (If you mix SCIPgetConsCopy() with SCIPcopyConss() you should pay attention to what you add explicitly and what is already added.)
@note The constraint is always captured, either during the creation of the copy or after finding the copy of the constraint in the constraint hash map
@note In a multi thread case, you need to lock the copying procedure from outside with a mutex. @note Do not change the source SCIP environment during the copying process
@return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref SCIP_Retcode “SCIP_RETCODE” for a complete list of error codes.
@pre This method can be called if sourcescip is in one of the following stages: - \ref SCIP_STAGE_PROBLEM - \ref SCIP_STAGE_TRANSFORMED - \ref SCIP_STAGE_INITPRESOLVE - \ref SCIP_STAGE_PRESOLVING - \ref SCIP_STAGE_EXITPRESOLVE - \ref SCIP_STAGE_PRESOLVED - \ref SCIP_STAGE_INITSOLVE - \ref SCIP_STAGE_SOLVING - \ref SCIP_STAGE_SOLVED
@pre This method can be called if targetscip is in one of the following stages: - \ref SCIP_STAGE_PROBLEM - \ref SCIP_STAGE_TRANSFORMING - \ref SCIP_STAGE_INITPRESOLVE - \ref SCIP_STAGE_PRESOLVING - \ref SCIP_STAGE_EXITPRESOLVE - \ref SCIP_STAGE_PRESOLVED - \ref SCIP_STAGE_SOLVING - \ref SCIP_STAGE_EXITSOLVE
@note sourcescip stage does not get changed
@note targetscip stage does not get changed
See \ref SCIP_Stage “SCIP_STAGE” for a complete list of all possible solving stages.