Add comparison methods for content addresses

This commit is contained in:
John Ericson 2023-04-01 16:52:23 -04:00
parent c51d554c93
commit 5d56e2daf7

View file

@ -46,8 +46,10 @@ enum struct FileIngestionMethod : uint8_t {
std::string makeFileIngestionPrefix(FileIngestionMethod m); std::string makeFileIngestionPrefix(FileIngestionMethod m);
struct FixedOutputHashMethod { struct FixedOutputHashMethod {
FileIngestionMethod fileIngestionMethod; FileIngestionMethod fileIngestionMethod;
HashType hashType; HashType hashType;
GENERATE_CMP(FixedOutputHashMethod, me->fileIngestionMethod, me->hashType);
}; };
/** /**
@ -67,6 +69,8 @@ struct ContentAddressMethod
Raw raw; Raw raw;
GENERATE_CMP(ContentAddressMethod, me->raw);
/* The moral equivalent of `using Raw::Raw;` */ /* The moral equivalent of `using Raw::Raw;` */
ContentAddressMethod(auto &&... arg) ContentAddressMethod(auto &&... arg)
: raw(std::forward<decltype(arg)>(arg)...) : raw(std::forward<decltype(arg)>(arg)...)
@ -134,6 +138,8 @@ struct ContentAddress
Raw raw; Raw raw;
GENERATE_CMP(ContentAddress, me->raw);
/* The moral equivalent of `using Raw::Raw;` */ /* The moral equivalent of `using Raw::Raw;` */
ContentAddress(auto &&... arg) ContentAddress(auto &&... arg)
: raw(std::forward<decltype(arg)>(arg)...) : raw(std::forward<decltype(arg)>(arg)...)
@ -229,6 +235,8 @@ struct ContentAddressWithReferences
Raw raw; Raw raw;
GENERATE_CMP(ContentAddressWithReferences, me->raw);
/* The moral equivalent of `using Raw::Raw;` */ /* The moral equivalent of `using Raw::Raw;` */
ContentAddressWithReferences(auto &&... arg) ContentAddressWithReferences(auto &&... arg)
: raw(std::forward<decltype(arg)>(arg)...) : raw(std::forward<decltype(arg)>(arg)...)