18    std::unique_ptr<LinExpr<Var>> m_lhs;
 
   33    CtrVersion(
unsigned int t_index, CtrType t_type, 
double t_rhs)
 
   41              m_lhs(t_src.m_lhs ? std::make_unique<
LinExpr<Var>>(*t_src.m_lhs) : 
nullptr),
 
   45    double rhs()
 const { 
return m_rhs; }
 
   47    void set_rhs(
double t_rhs) { m_rhs = t_rhs; }
 
   49    CtrType type()
 const { 
return m_type; }
 
   51    void set_type(CtrType t_type) { m_type = t_type; }
 
   57    void set_row(
LinExpr<Var>&& t_row) { m_lhs = std::make_unique<LinExpr<Var>>(std::move(t_row)); }
 
   59    bool has_row()
 const { 
return m_lhs.operator bool(); }
 
   61    void set_row(
const LinExpr<Var>& t_row) { m_lhs = std::make_unique<LinExpr<Var>>(t_row); }
 
   63    void reset_row() { m_lhs.reset(); }