aboutsummaryrefslogtreecommitdiff
path: root/src/libstore/buildable.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstore/buildable.hh')
-rw-r--r--src/libstore/buildable.hh14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/libstore/buildable.hh b/src/libstore/buildable.hh
index 54e627271..8317f3995 100644
--- a/src/libstore/buildable.hh
+++ b/src/libstore/buildable.hh
@@ -28,14 +28,22 @@ struct BuildableReqFromDrv {
static BuildableReqFromDrv parse(const Store & store, std::string_view);
};
-using BuildableReq = std::variant<
+using _BuildableReqRaw = std::variant<
BuildableOpaque,
BuildableReqFromDrv
>;
-std::string to_string(const Store & store, const BuildableReq &);
+struct BuildableReq : _BuildableReqRaw {
+ using Raw = _BuildableReqRaw;
+ using Raw::Raw;
-BuildableReq parseBuildableReq(const Store & store, std::string_view);
+ inline const Raw & raw() const {
+ return static_cast<const Raw &>(*this);
+ }
+
+ std::string to_string(const Store & store) const;
+ static BuildableReq parse(const Store & store, std::string_view);
+};
struct BuildableFromDrv {
StorePath drvPath;