1 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 2 /* */ 3 /* This file is part of the program and library */ 4 /* SCIP --- Solving Constraint Integer Programs */ 5 /* */ 6 /* Copyright (c) 2002-2023 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_objprobcloneable.h 26 * @ingroup TYPEDEFINITIONS 27 * @brief function type definitions for clonable classes which define problem data 28 * @author Marc Pfetsch 29 */ 30 31 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/ 32 33 #ifndef __SCIP_TYPE_OBJPROBCLONEABLE_H__ 34 #define __SCIP_TYPE_OBJPROBCLONEABLE_H__ 35 36 /** clone method which will be used to copy constraint handler and variable pricer objects 37 * 38 * input: 39 * - scip : SCIP main data structure 40 * 41 * output: 42 * - valid : pointer to store whether to copy is valid w.r.t. copying dual reductions 43 */ 44 #define SCIP_DECL_OBJPROBCLONE(x) x (SCIP* scip, SCIP_Bool* valid) const 45 #define SCIP_DECL_CONSHDLRCLONE(x) x (SCIP* scip, SCIP_Bool* valid) const 46 #define SCIP_DECL_PRICERCLONE(x) x (SCIP* scip, SCIP_Bool* valid) const 47 #define SCIP_DECL_BENDERSCLONE(x) x (SCIP* scip, SCIP_Bool* valid) const 48 49 /** returns whether the plugin object is copyable 50 * 51 * return value : whether object is copyable 52 */ 53 #define SCIP_DECL_OBJPROBISCLONEABLE(x) SCIP_Bool x (void) const 54 #define SCIP_DECL_CONSHDLRISCLONEABLE(x) SCIP_Bool x (void) const 55 #define SCIP_DECL_PRICERISCLONEABLE(x) SCIP_Bool x (void) const 56 #define SCIP_DECL_BENDERSISCLONEABLE(x) SCIP_Bool x (void) const 57 58 #endif 59