COIN-OR::LEMON - Graph Library

Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • lemon/lp_skeleton.h

    r541 r459  
    1717 */
    1818
    19 #ifndef LEMON_LP_SKELETON_H
    20 #define LEMON_LP_SKELETON_H
     19#ifndef LEMON_LP_SKELETON
     20#define LEMON_LP_SKELETON
    2121
    2222#include <lemon/lp_base.h>
    2323
    2424///\file
    25 ///\brief Skeleton file to implement LP/MIP solver interfaces
    26 /// 
    27 ///The classes in this file do nothing, but they can serve as skeletons when
    28 ///implementing an interface to new solvers.
     25///\brief A skeleton file to implement LP solver interfaces
    2926namespace lemon {
    3027
    31   ///A skeleton class to implement LP/MIP solver base interface
    32  
    33   ///This class does nothing, but it can serve as a skeleton when
    34   ///implementing an interface to new solvers.
     28  ///A skeleton class to implement LP solver interfaces
    3529  class SkeletonSolverBase : public virtual LpBase {
    3630    int col_num,row_num;
     
    143137  };
    144138
    145   /// \brief Skeleton class for an LP solver interface
     139  /// \brief Interface for a skeleton LP solver
    146140  ///
    147   ///This class does nothing, but it can serve as a skeleton when
    148   ///implementing an interface to new solvers.
    149 
     141  /// This class implements an interface for a skeleton LP solver.
    150142  ///\ingroup lp_group
    151   class LpSkeleton : public LpSolver, public SkeletonSolverBase {
     143  class LpSkeleton : public SkeletonSolverBase, public LpSolver {
    152144  public:
    153     ///\e
    154     LpSkeleton() : LpSolver(), SkeletonSolverBase() {}
    155     ///\e
    156     virtual LpSkeleton* newSolver() const;
    157     ///\e
    158     virtual LpSkeleton* cloneSolver() const;
     145    LpSkeleton() : SkeletonSolverBase(), LpSolver() {}
     146
    159147  protected:
    160148
     
    186174
    187175    ///\e
     176    virtual LpSkeleton* _newSolver() const;
     177    ///\e
     178    virtual LpSkeleton* _cloneSolver() const;
     179    ///\e
    188180    virtual const char* _solverName() const;
    189181
    190182  };
    191183
    192   /// \brief Skeleton class for a MIP solver interface
     184  /// \brief Interface for a skeleton MIP solver
    193185  ///
    194   ///This class does nothing, but it can serve as a skeleton when
    195   ///implementing an interface to new solvers.
     186  /// This class implements an interface for a skeleton MIP solver.
    196187  ///\ingroup lp_group
    197   class MipSkeleton : public MipSolver, public SkeletonSolverBase {
     188  class MipSkeleton : public SkeletonSolverBase, public MipSolver {
    198189  public:
    199     ///\e
    200     MipSkeleton() : MipSolver(), SkeletonSolverBase() {}
    201     ///\e
    202     virtual MipSkeleton* newSolver() const;
    203     ///\e
    204     virtual MipSkeleton* cloneSolver() const;
     190    MipSkeleton() : SkeletonSolverBase(), MipSolver() {}
    205191
    206192  protected:
    207193    ///\e
     194
     195    ///\bug Wrong interface
     196    ///
    208197    virtual SolveExitStatus _solve();
    209198
    210199    ///\e
     200
     201    ///\bug Wrong interface
     202    ///
    211203    virtual Value _getSol(int i) const;
    212204
    213205    ///\e
     206
     207    ///\bug Wrong interface
     208    ///
    214209    virtual Value _getSolValue() const;
    215210
    216211    ///\e
     212
     213    ///\bug Wrong interface
     214    ///
    217215    virtual ProblemType _getType() const;
    218216
    219217    ///\e
     218    virtual MipSkeleton* _newSolver() const;
     219
     220    ///\e
     221    virtual MipSkeleton* _cloneSolver() const;
     222    ///\e
    220223    virtual const char* _solverName() const;
     224
    221225  };
    222226
    223227} //namespace lemon
    224228
    225 #endif
     229#endif // LEMON_LP_SKELETON
Note: See TracChangeset for help on using the changeset viewer.