mirror of
https://github.com/NixOS/nix
synced 2025-07-06 09:11:47 +02:00
Remove comparator.hh
and switch to <=>
in a bunch of places
Known behavior changes: - `MemorySourceAccessor`'s comparison operators no longer forget to compare the `SourceAccessor` base class. Progress on #10832 What remains for that issue is hopefully much easier!
This commit is contained in:
parent
2a95a2d780
commit
bc83b9dc1f
49 changed files with 300 additions and 271 deletions
|
@ -3,7 +3,6 @@
|
|||
|
||||
#include "path.hh"
|
||||
#include "outputs-spec.hh"
|
||||
#include "comparator.hh"
|
||||
#include "config.hh"
|
||||
#include "ref.hh"
|
||||
|
||||
|
@ -32,7 +31,8 @@ struct DerivedPathOpaque {
|
|||
static DerivedPathOpaque parse(const StoreDirConfig & store, std::string_view);
|
||||
nlohmann::json toJSON(const StoreDirConfig & store) const;
|
||||
|
||||
GENERATE_CMP(DerivedPathOpaque, me->path);
|
||||
bool operator == (const DerivedPathOpaque &) const = default;
|
||||
auto operator <=> (const DerivedPathOpaque &) const = default;
|
||||
};
|
||||
|
||||
struct SingleDerivedPath;
|
||||
|
@ -79,7 +79,8 @@ struct SingleDerivedPathBuilt {
|
|||
const ExperimentalFeatureSettings & xpSettings = experimentalFeatureSettings);
|
||||
nlohmann::json toJSON(Store & store) const;
|
||||
|
||||
DECLARE_CMP(SingleDerivedPathBuilt);
|
||||
bool operator == (const SingleDerivedPathBuilt &) const noexcept;
|
||||
std::strong_ordering operator <=> (const SingleDerivedPathBuilt &) const noexcept;
|
||||
};
|
||||
|
||||
using _SingleDerivedPathRaw = std::variant<
|
||||
|
@ -109,6 +110,9 @@ struct SingleDerivedPath : _SingleDerivedPathRaw {
|
|||
return static_cast<const Raw &>(*this);
|
||||
}
|
||||
|
||||
bool operator == (const SingleDerivedPath &) const = default;
|
||||
auto operator <=> (const SingleDerivedPath &) const = default;
|
||||
|
||||
/**
|
||||
* Get the store path this is ultimately derived from (by realising
|
||||
* and projecting outputs).
|
||||
|
@ -202,7 +206,9 @@ struct DerivedPathBuilt {
|
|||
const ExperimentalFeatureSettings & xpSettings = experimentalFeatureSettings);
|
||||
nlohmann::json toJSON(Store & store) const;
|
||||
|
||||
DECLARE_CMP(DerivedPathBuilt);
|
||||
bool operator == (const DerivedPathBuilt &) const noexcept;
|
||||
// TODO libc++ 16 (used by darwin) missing `std::set::operator <=>`, can't do yet.
|
||||
bool operator < (const DerivedPathBuilt &) const noexcept;
|
||||
};
|
||||
|
||||
using _DerivedPathRaw = std::variant<
|
||||
|
@ -231,6 +237,10 @@ struct DerivedPath : _DerivedPathRaw {
|
|||
return static_cast<const Raw &>(*this);
|
||||
}
|
||||
|
||||
bool operator == (const DerivedPath &) const = default;
|
||||
// TODO libc++ 16 (used by darwin) missing `std::set::operator <=>`, can't do yet.
|
||||
//auto operator <=> (const DerivedPath &) const = default;
|
||||
|
||||
/**
|
||||
* Get the store path this is ultimately derived from (by realising
|
||||
* and projecting outputs).
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue