source: trunk/Cbc/src/CbcConsequence.hpp @ 2464

Last change on this file since 2464 was 2464, checked in by unxusr, 10 months ago

.clang-format with proposal for formatting code

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.2 KB
Line 
1// $Id: CbcConsequence.hpp 2464 2019-01-03 19:03:23Z unxusr $
2// Copyright (C) 2002, International Business Machines
3// Corporation and others.  All Rights Reserved.
4// This code is licensed under the terms of the Eclipse Public License (EPL).
5
6// Edwin 11/12/2009 carved from CbcBranchBase
7
8#ifndef CbcConsequence_H
9#define CbcConsequence_H
10
11class OsiSolverInterface;
12
13/** Abstract base class for consequent bounds.
14    When a variable is branched on it normally interacts with other variables by
15    means of equations.  There are cases where we want to step outside LP and do something
16    more directly e.g. fix bounds.  This class is for that.
17
18    At present it need not be virtual as only instance is CbcFixVariable, but ...
19
20 */
21
22class CbcConsequence {
23
24public:
25  // Default Constructor
26  CbcConsequence();
27
28  // Copy constructor
29  CbcConsequence(const CbcConsequence &rhs);
30
31  // Assignment operator
32  CbcConsequence &operator=(const CbcConsequence &rhs);
33
34  /// Clone
35  virtual CbcConsequence *clone() const = 0;
36
37  /// Destructor
38  virtual ~CbcConsequence();
39
40  /** Apply to an LP solver.  Action depends on state
41     */
42  virtual void applyToSolver(OsiSolverInterface *solver, int state) const = 0;
43
44protected:
45};
46
47#endif
Note: See TracBrowser for help on using the repository browser.