Scippy

    SCIP

    Solving Constraint Integer Programs

    type_objcloneable.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-2025 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_objcloneable.h
    26 * @ingroup TYPEDEFINITIONS
    27 * @brief function type definitions for clonable classes
    28 * @author Marc Pfetsch
    29 */
    30
    31/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
    32
    33#ifndef __SCIP_TYPE_OBJPCLONEABLE_H__
    34#define __SCIP_TYPE_OBJPCLONEABLE_H__
    35
    36/** clone method, used to copy plugins which are not constraint handlers or variable pricer plugins
    37 *
    38 * input:
    39 * - scip : SCIP main data structure
    40 */
    41#define SCIP_DECL_OBJCLONEABLECLONE(x) x (SCIP* scip) const
    42#define SCIP_DECL_BENDERSCUTCLONE(x) x (SCIP* scip) const
    43#define SCIP_DECL_BRANCHCLONE(x) x (SCIP* scip) const
    44#define SCIP_DECL_DIALOGCLONE(x) x (SCIP* scip) const
    45#define SCIP_DECL_DISPCLONE(x) x (SCIP* scip) const
    46#define SCIP_DECL_EVENTCLONE(x) x (SCIP* scip) const
    47#define SCIP_DECL_HEURCLONE(x) x (SCIP* scip) const
    48#define SCIP_DECL_NODESELCLONE(x) x (SCIP* scip) const
    49#define SCIP_DECL_PRESOLCLONE(x) x (SCIP* scip) const
    50#define SCIP_DECL_PROPCLONE(x) x (SCIP* scip) const
    51#define SCIP_DECL_READERCLONE(x) x (SCIP* scip) const
    52#define SCIP_DECL_RELAXCLONE(x) x (SCIP* scip) const
    53#define SCIP_DECL_SEPACLONE(x) x (SCIP* scip) const
    54
    55
    56/** returns whether the plugin object is copyable
    57 *
    58 * return value : whether object is copyable
    59 */
    60#define SCIP_DECL_OBJCLONEABLEISCLONEABLE(x) SCIP_Bool x (void) const
    61#define SCIP_DECL_BENDERSCUTISCLONEABLE(x) SCIP_Bool x (void) const
    62#define SCIP_DECL_BRANCHISCLONEABLE(x) SCIP_Bool x (void) const
    63#define SCIP_DECL_DIALOGISCLONEABLE(x) SCIP_Bool x (void) const
    64#define SCIP_DECL_DISPISCLONEABLE(x) SCIP_Bool x (void) const
    65#define SCIP_DECL_EVENTISCLONEABLE(x) SCIP_Bool x (void) const
    66#define SCIP_DECL_HEURISCLONEABLE(x) SCIP_Bool x (void) const
    67#define SCIP_DECL_NODESELISCLONEABLE(x) SCIP_Bool x (void) const
    68#define SCIP_DECL_PRESOLISCLONEABLE(x) SCIP_Bool x (void) const
    69#define SCIP_DECL_PROPISCLONEABLE(x) SCIP_Bool x (void) const
    70#define SCIP_DECL_READERISCLONEABLE(x) SCIP_Bool x (void) const
    71#define SCIP_DECL_RELAXISCLONEABLE(x) SCIP_Bool x (void) const
    72#define SCIP_DECL_SEPAISCLONEABLE(x) SCIP_Bool x (void) const
    73
    74#endif