24        SolutionStatus m_status = Loaded;
 
   25        SolutionReason m_reason = NotSpecified;
 
   26        std::optional<double> m_best_obj;
 
   27        std::optional<double> m_best_bound;
 
   28        std::optional<PrimalPoint> m_primal_solution;
 
   34        SolutionStatus status()
 const { 
return m_status; }
 
   36        SolutionReason reason()
 const { 
return m_reason; }
 
   38        double best_obj()
 const { 
return m_best_obj.value(); }
 
   40        double best_bound()
 const { 
return m_best_bound.value(); }
 
   44        void set_status(SolutionStatus t_status) { m_status = t_status; }
 
   46        void set_reason(SolutionReason t_reason) { m_reason = t_reason; }
 
   48        void set_primal_solution(
PrimalPoint t_solution) { m_primal_solution = std::move(t_solution); }
 
   50        void set_best_obj(
double t_best_obj) { m_best_obj = t_best_obj; }
 
   52        void set_best_bound(
double t_best_bound) { m_best_bound = t_best_bound; }