From d762bfa1953933dfac0a29a74523c25719396b8c Mon Sep 17 00:00:00 2001 From: Oliver Reiche Date: Sat, 15 Apr 2023 16:28:33 +0200 Subject: imports: Switch to Microsoft GSL implementation ... with two minor code base changes compared to previous use of gsl-lite: - dag.hpp: ActionNode::Ptr and ArtifactNode::Ptr are not wrapped in gsl::not_null<> anymore, due to lack of support for wrapping std::unique_ptr<>. More specifically, the move constructor is missing, rendering it impossible to use std::vector<>::emplace_back(). - utils/cpp/gsl.hpp: New header file added to implement the macros ExpectsAudit() and EnsureAudit(), asserts running only in debug builds, which were available in gsl-lite but are missing in MS GSL. --- src/buildtool/file_system/file_root.hpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/buildtool/file_system/file_root.hpp') diff --git a/src/buildtool/file_system/file_root.hpp b/src/buildtool/file_system/file_root.hpp index a1b21a81..e25a2455 100644 --- a/src/buildtool/file_system/file_root.hpp +++ b/src/buildtool/file_system/file_root.hpp @@ -24,7 +24,7 @@ #include #include -#include "gsl-lite/gsl-lite.hpp" +#include "gsl/gsl" #include "nlohmann/json.hpp" #include "src/buildtool/common/artifact_description.hpp" #include "src/buildtool/compatibility/compatibility.hpp" @@ -169,8 +169,8 @@ class FileRoot { explicit DirectoryEntries(pairs_t pairs) noexcept : data_{std::move(pairs)} {} - explicit DirectoryEntries(tree_t git_tree) noexcept - : data_{std::move(git_tree)} {} + explicit DirectoryEntries(tree_t const& git_tree) noexcept + : data_{git_tree} {} [[nodiscard]] auto ContainsFile(std::string const& name) const noexcept -> bool { @@ -272,9 +272,9 @@ class FileRoot { FileRoot() noexcept = default; explicit FileRoot(std::filesystem::path root) noexcept : root_{std::move(root)} {} - FileRoot(gsl::not_null cas, - gsl::not_null tree) noexcept - : root_{git_root_t{std::move(cas), std::move(tree)}} {} + FileRoot(gsl::not_null const& cas, + gsl::not_null const& tree) noexcept + : root_{git_root_t{cas, tree}} {} [[nodiscard]] static auto FromGit(std::filesystem::path const& repo_path, std::string const& git_tree_id) noexcept -- cgit v1.2.3