summaryrefslogtreecommitdiff
path: root/src/other_tools/root_maps/fpath_git_map.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/other_tools/root_maps/fpath_git_map.hpp')
-rw-r--r--src/other_tools/root_maps/fpath_git_map.hpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/other_tools/root_maps/fpath_git_map.hpp b/src/other_tools/root_maps/fpath_git_map.hpp
index 39cae653..6063aa8d 100644
--- a/src/other_tools/root_maps/fpath_git_map.hpp
+++ b/src/other_tools/root_maps/fpath_git_map.hpp
@@ -26,10 +26,14 @@ struct FpathInfo {
std::filesystem::path fpath{}; /* key */
// create root based on "special" pragma value
std::optional<PragmaSpecial> pragma_special{std::nullopt}; /* key */
+ // create an absent root
+ bool absent{}; /* key */
[[nodiscard]] auto operator==(const FpathInfo& other) const noexcept
-> bool {
- return fpath == other.fpath and pragma_special == other.pragma_special;
+ return fpath == other.fpath and
+ pragma_special == other.pragma_special and
+ absent == other.absent;
}
};
@@ -51,6 +55,7 @@ struct hash<FpathInfo> {
size_t seed{};
hash_combine<std::filesystem::path>(&seed, ct.fpath);
hash_combine<std::optional<PragmaSpecial>>(&seed, ct.pragma_special);
+ hash_combine<bool>(&seed, ct.absent);
return seed;
}
};