aboutsummaryrefslogtreecommitdiff
path: root/src/libexpr/value/context.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/libexpr/value/context.hh')
-rw-r--r--src/libexpr/value/context.hh15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/libexpr/value/context.hh b/src/libexpr/value/context.hh
index 8719602d8..287ae08a9 100644
--- a/src/libexpr/value/context.hh
+++ b/src/libexpr/value/context.hh
@@ -26,8 +26,6 @@ public:
}
};
-class Store;
-
/**
* Plain opaque path to some store object.
*
@@ -80,12 +78,15 @@ struct NixStringContextElem : _NixStringContextElem_Raw {
using DrvDeep = NixStringContextElem_DrvDeep;
using Built = NixStringContextElem_Built;
- inline const Raw & raw() const {
+ inline const Raw & raw() const & {
return static_cast<const Raw &>(*this);
}
- inline Raw & raw() {
+ inline Raw & raw() & {
return static_cast<Raw &>(*this);
}
+ inline Raw && raw() && {
+ return static_cast<Raw &&>(*this);
+ }
/**
* Decode a context string, one of:
@@ -93,10 +94,10 @@ struct NixStringContextElem : _NixStringContextElem_Raw {
* - ‘=<path>’
* - ‘!<name>!<path>’
*/
- static NixStringContextElem parse(const Store & store, std::string_view s);
- std::string to_string(const Store & store) const;
+ static NixStringContextElem parse(std::string_view s);
+ std::string to_string() const;
};
-typedef std::vector<NixStringContextElem> NixStringContext;
+typedef std::set<NixStringContextElem> NixStringContext;
}