* Use maps and sets in the FState data type. This ensures normalisation of
slices and derivations w.r.t. order of paths, slice elements, etc.
This commit is contained in:
parent
624c48260f
commit
956801fcc2
5 changed files with 86 additions and 105 deletions
|
|
@ -14,28 +14,25 @@ typedef list<FSId> FSIds;
|
|||
|
||||
struct SliceElem
|
||||
{
|
||||
string path;
|
||||
FSId id;
|
||||
Strings refs;
|
||||
StringSet refs;
|
||||
};
|
||||
|
||||
typedef list<SliceElem> SliceElems;
|
||||
typedef map<string, SliceElem> SliceElems;
|
||||
|
||||
struct Slice
|
||||
{
|
||||
Strings roots;
|
||||
StringSet roots;
|
||||
SliceElems elems;
|
||||
};
|
||||
|
||||
typedef pair<string, FSId> DeriveOutput;
|
||||
typedef pair<string, string> StringPair;
|
||||
typedef list<DeriveOutput> DeriveOutputs;
|
||||
typedef list<StringPair> StringPairs;
|
||||
typedef map<string, FSId> DeriveOutputs;
|
||||
typedef map<string, string> StringPairs;
|
||||
|
||||
struct Derive
|
||||
{
|
||||
DeriveOutputs outputs;
|
||||
FSIds inputs;
|
||||
FSIdSet inputs;
|
||||
string platform;
|
||||
string builder;
|
||||
Strings args;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue