Skip to content

Commit 9582b2f

Browse files
committed
Add more constructors
1 parent d84c863 commit 9582b2f

File tree

2 files changed

+27
-19
lines changed

2 files changed

+27
-19
lines changed

include/pyoptinterface/core.hpp

Lines changed: 24 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,11 @@ struct VariablePair
9797

9898
bool operator==(const VariablePair &x) const;
9999
bool operator<(const VariablePair &x) const;
100+
101+
VariablePair() = default;
102+
VariablePair(IndexT v1, IndexT v2) : var_1(v1), var_2(v2)
103+
{
104+
}
100105
};
101106

102107
template <>
@@ -123,25 +128,25 @@ struct ExprBuilder
123128
ExprBuilder(const ScalarAffineFunction &a);
124129
ExprBuilder(const ScalarQuadraticFunction &q);
125130

126-
ExprBuilder& operator+=(CoeffT c);
127-
ExprBuilder& operator+=(const VariableIndex &v);
128-
ExprBuilder& operator+=(const ScalarAffineFunction &a);
129-
ExprBuilder& operator+=(const ScalarQuadraticFunction &q);
130-
ExprBuilder& operator+=(const ExprBuilder &t);
131-
132-
ExprBuilder& operator-=(CoeffT c);
133-
ExprBuilder& operator-=(const VariableIndex &v);
134-
ExprBuilder& operator-=(const ScalarAffineFunction &a);
135-
ExprBuilder& operator-=(const ScalarQuadraticFunction &q);
136-
ExprBuilder& operator-=(const ExprBuilder &t);
137-
138-
ExprBuilder& operator*=(CoeffT c);
139-
ExprBuilder& operator*=(const VariableIndex &v);
140-
ExprBuilder& operator*=(const ScalarAffineFunction &a);
141-
ExprBuilder& operator*=(const ScalarQuadraticFunction &q);
142-
ExprBuilder& operator*=(const ExprBuilder &t);
143-
144-
ExprBuilder& operator/=(CoeffT c);
131+
ExprBuilder &operator+=(CoeffT c);
132+
ExprBuilder &operator+=(const VariableIndex &v);
133+
ExprBuilder &operator+=(const ScalarAffineFunction &a);
134+
ExprBuilder &operator+=(const ScalarQuadraticFunction &q);
135+
ExprBuilder &operator+=(const ExprBuilder &t);
136+
137+
ExprBuilder &operator-=(CoeffT c);
138+
ExprBuilder &operator-=(const VariableIndex &v);
139+
ExprBuilder &operator-=(const ScalarAffineFunction &a);
140+
ExprBuilder &operator-=(const ScalarQuadraticFunction &q);
141+
ExprBuilder &operator-=(const ExprBuilder &t);
142+
143+
ExprBuilder &operator*=(CoeffT c);
144+
ExprBuilder &operator*=(const VariableIndex &v);
145+
ExprBuilder &operator*=(const ScalarAffineFunction &a);
146+
ExprBuilder &operator*=(const ScalarQuadraticFunction &q);
147+
ExprBuilder &operator*=(const ExprBuilder &t);
148+
149+
ExprBuilder &operator/=(CoeffT c);
145150

146151
bool empty() const;
147152
int degree() const;

include/pyoptinterface/nlcore.hpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ struct NLConstraintIndex
1010
IndexT dim;
1111

1212
NLConstraintIndex() = default;
13+
NLConstraintIndex(IndexT v, IndexT d) : index(v), dim(d)
14+
{
15+
}
1316
};
1417

1518
static const std::string opt_options = "no_compare_op no_conditional_skip no_cumulative_sum_op";

0 commit comments

Comments
 (0)