|
|
@@ -13,6 +13,12 @@ public:
|
|
|
virtual Status visit(extension::VisitorBase const &) const = 0;
|
|
|
};
|
|
|
|
|
|
+public:
|
|
|
+ template <typename T, typename... Args> static std::unique_ptr<Constraint> make(Args &&... args) {
|
|
|
+ return std::make_unique<Constraint>(
|
|
|
+ ExtensionConstraint{std::make_unique<T>(std::forward<Args>(args)...)});
|
|
|
+ }
|
|
|
+
|
|
|
public:
|
|
|
std::unique_ptr<Impl> pimpl;
|
|
|
};
|