16    SolutionStatus m_status = Loaded;
 
   17    SolutionReason m_reason = NotSpecified;
 
   18    double m_best_bound = -Inf;
 
   19    double m_best_obj = +Inf;
 
   21    void build()
 override {}
 
   23    virtual void set_status(SolutionStatus t_status) { m_status = t_status; }
 
   24    virtual void set_reason(SolutionReason t_reason) { m_reason = t_reason; }
 
   25    virtual void set_best_bound(
double t_value) { m_best_bound = t_value; }
 
   26    virtual void set_best_obj(
double t_value) { m_best_obj = t_value; }
 
   30    [[nodiscard]] SolutionStatus get_status() 
const override;
 
   31    [[nodiscard]] SolutionReason get_reason() 
const override;
 
   32    [[nodiscard]] 
double get_best_obj() 
const override;
 
   33    [[nodiscard]] 
double get_best_bound() 
const override;
 
   34    [[nodiscard]] 
double get_relative_gap() 
const override;
 
   35    [[nodiscard]] 
double get_absolute_gap() 
const override;