diff options
| author | Alexander Karatarakis <alkarata@microsoft.com> | 2017-12-21 16:28:13 -0800 |
|---|---|---|
| committer | Alexander Karatarakis <alkarata@microsoft.com> | 2017-12-22 16:52:11 -0800 |
| commit | 2d0a76370ead152896411d17aa19934235b93d1c (patch) | |
| tree | 44b240e94b8ffe73b87aa837cf0d9a2b7b6ee9e9 | |
| parent | db40d19f3db8d72439f3d1958f3d6ffbd8003435 (diff) | |
| download | vcpkg-2d0a76370ead152896411d17aa19934235b93d1c.tar.gz vcpkg-2d0a76370ead152896411d17aa19934235b93d1c.zip | |
clang-tidy fixes
| -rw-r--r-- | toolsrc/include/vcpkg/sourceparagraph.h | 3 | ||||
| -rw-r--r-- | toolsrc/include/vcpkg/versiont.h | 2 | ||||
| -rw-r--r-- | toolsrc/src/vcpkg.cpp | 14 | ||||
| -rw-r--r-- | toolsrc/src/vcpkg/base/chrono.cpp | 2 | ||||
| -rw-r--r-- | toolsrc/src/vcpkg/base/cofffilereader.cpp | 2 | ||||
| -rw-r--r-- | toolsrc/src/vcpkg/base/files.cpp | 4 | ||||
| -rw-r--r-- | toolsrc/src/vcpkg/build.cpp | 11 | ||||
| -rw-r--r-- | toolsrc/src/vcpkg/commands.cache.cpp | 2 | ||||
| -rw-r--r-- | toolsrc/src/vcpkg/commands.create.cpp | 2 | ||||
| -rw-r--r-- | toolsrc/src/vcpkg/commands.exportifw.cpp | 6 | ||||
| -rw-r--r-- | toolsrc/src/vcpkg/commands.integrate.cpp | 2 | ||||
| -rw-r--r-- | toolsrc/src/vcpkg/commands.list.cpp | 2 | ||||
| -rw-r--r-- | toolsrc/src/vcpkg/export.cpp | 4 | ||||
| -rw-r--r-- | toolsrc/src/vcpkg/install.cpp | 2 | ||||
| -rw-r--r-- | toolsrc/src/vcpkg/metrics.cpp | 43 | ||||
| -rw-r--r-- | toolsrc/src/vcpkg/remove.cpp | 4 | ||||
| -rw-r--r-- | toolsrc/src/vcpkg/sourceparagraph.cpp | 6 | ||||
| -rw-r--r-- | toolsrc/src/vcpkg/statusparagraphs.cpp | 2 | ||||
| -rw-r--r-- | toolsrc/src/vcpkg/update.cpp | 3 | ||||
| -rw-r--r-- | toolsrc/src/vcpkg/userconfig.cpp | 2 | ||||
| -rw-r--r-- | toolsrc/src/vcpkg/vcpkgpaths.cpp | 4 | ||||
| -rw-r--r-- | toolsrc/src/vcpkg/versiont.cpp | 2 |
22 files changed, 61 insertions, 63 deletions
diff --git a/toolsrc/include/vcpkg/sourceparagraph.h b/toolsrc/include/vcpkg/sourceparagraph.h index dcbbc1c3b..58e76b7b1 100644 --- a/toolsrc/include/vcpkg/sourceparagraph.h +++ b/toolsrc/include/vcpkg/sourceparagraph.h @@ -14,11 +14,12 @@ namespace vcpkg { struct Dependency { + static Dependency parse_dependency(std::string&& name, std::string&& qualifier); + Features depend; std::string qualifier; std::string name() const; - static Dependency parse_dependency(std::string name, std::string qualifier); }; std::vector<std::string> filter_dependencies(const std::vector<Dependency>& deps, const Triplet& t); diff --git a/toolsrc/include/vcpkg/versiont.h b/toolsrc/include/vcpkg/versiont.h index 6d8332521..0ffb4d602 100644 --- a/toolsrc/include/vcpkg/versiont.h +++ b/toolsrc/include/vcpkg/versiont.h @@ -6,7 +6,7 @@ namespace vcpkg struct VersionT { VersionT(); - VersionT(const std::string& value); + VersionT(std::string&& value); const std::string& to_string() const; diff --git a/toolsrc/src/vcpkg.cpp b/toolsrc/src/vcpkg.cpp index 094ea1dc5..08dd3fcf6 100644 --- a/toolsrc/src/vcpkg.cpp +++ b/toolsrc/src/vcpkg.cpp @@ -4,7 +4,7 @@ #pragma warning(push) #pragma warning(disable : 4768) -#include <Shlobj.h> +#include <ShlObj.h> #pragma warning(pop) #else #include <unistd.h> @@ -21,10 +21,8 @@ #include <vcpkg/metrics.h> #include <vcpkg/paragraphs.h> #include <vcpkg/userconfig.h> -#include <vcpkg/vcpkglib.h> #include <cassert> -#include <fstream> #include <memory> #include <random> @@ -49,7 +47,7 @@ static void inner(const VcpkgCmdArguments& args) Checks::exit_fail(VCPKG_LINE_INFO); } - static const auto find_command = [&](auto&& commands) { + static const auto FIND_COMMAND = [&](auto&& commands) { auto it = Util::find_if(commands, [&](auto&& commandc) { return Strings::case_insensitive_ascii_equals(commandc.name, args.command); }); @@ -62,7 +60,7 @@ static void inner(const VcpkgCmdArguments& args) return static_cast<decltype(&*it)>(nullptr); }; - if (const auto command_function = find_command(Commands::get_available_commands_type_c())) + if (const auto command_function = FIND_COMMAND(Commands::get_available_commands_type_c())) { return command_function->function(args); } @@ -136,7 +134,7 @@ static void inner(const VcpkgCmdArguments& args) } } - if (const auto command_function = find_command(Commands::get_available_commands_type_b())) + if (const auto command_function = FIND_COMMAND(Commands::get_available_commands_type_b())) { return command_function->function(args, paths); } @@ -161,7 +159,7 @@ static void inner(const VcpkgCmdArguments& args) Input::check_triplet(default_triplet, paths); - if (const auto command_function = find_command(Commands::get_available_commands_type_a())) + if (const auto command_function = FIND_COMMAND(Commands::get_available_commands_type_a())) { return command_function->function(args, paths, default_triplet); } @@ -214,7 +212,7 @@ static void load_config() static std::string trim_path_from_command_line(const std::string& full_command_line) { Checks::check_exit( - VCPKG_LINE_INFO, full_command_line.size() > 0, "Internal failure - cannot have empty command line"); + VCPKG_LINE_INFO, !full_command_line.empty(), "Internal failure - cannot have empty command line"); if (full_command_line[0] == '"') { diff --git a/toolsrc/src/vcpkg/base/chrono.cpp b/toolsrc/src/vcpkg/base/chrono.cpp index 00f8ba3f1..d83106c8b 100644 --- a/toolsrc/src/vcpkg/base/chrono.cpp +++ b/toolsrc/src/vcpkg/base/chrono.cpp @@ -15,7 +15,7 @@ namespace vcpkg::Chrono using std::chrono::nanoseconds; using std::chrono::seconds; - const double nanos_as_double = static_cast<double>(nanos.count()); + const auto nanos_as_double = static_cast<double>(nanos.count()); if (duration_cast<hours>(nanos) > hours()) { diff --git a/toolsrc/src/vcpkg/base/cofffilereader.cpp b/toolsrc/src/vcpkg/base/cofffilereader.cpp index 1927e0b5e..27426eb0a 100644 --- a/toolsrc/src/vcpkg/base/cofffilereader.cpp +++ b/toolsrc/src/vcpkg/base/cofffilereader.cpp @@ -223,7 +223,7 @@ namespace vcpkg::CoffFileReader static const char* FILE_START = "!<arch>\n"; static const size_t FILE_START_SIZE = 8; - fs.seekg(fs.beg); + fs.seekg(fstream::beg); char file_start[FILE_START_SIZE]; fs.read(file_start, FILE_START_SIZE); diff --git a/toolsrc/src/vcpkg/base/files.cpp b/toolsrc/src/vcpkg/base/files.cpp index 8c9e137ed..7e4cfbf6a 100644 --- a/toolsrc/src/vcpkg/base/files.cpp +++ b/toolsrc/src/vcpkg/base/files.cpp @@ -18,9 +18,9 @@ namespace vcpkg::Files return std::make_error_code(std::errc::no_such_file_or_directory); } - file_stream.seekg(0, file_stream.end); + file_stream.seekg(0, std::fstream::end); auto length = file_stream.tellg(); - file_stream.seekg(0, file_stream.beg); + file_stream.seekg(0, std::fstream::beg); if (length > SIZE_MAX) { diff --git a/toolsrc/src/vcpkg/build.cpp b/toolsrc/src/vcpkg/build.cpp index f43d8788e..16f7a400f 100644 --- a/toolsrc/src/vcpkg/build.cpp +++ b/toolsrc/src/vcpkg/build.cpp @@ -60,7 +60,8 @@ namespace vcpkg::Build::Command spec.name()); const StatusParagraphs status_db = database_load_check(paths); - const Build::BuildPackageOptions build_package_options{Build::UseHeadVersion::NO, Build::AllowDownloads::YES}; + const Build::BuildPackageOptions build_package_options{ + Build::UseHeadVersion::NO, Build::AllowDownloads::YES, Build::CleanBuildtrees::NO}; const std::unordered_set<std::string> features_as_set(full_spec.features.begin(), full_spec.features.end()); @@ -192,7 +193,7 @@ namespace vcpkg::Build for (auto&& host : host_architectures) { - auto it = Util::find_if(toolset.supported_architectures, [&](const ToolsetArchOption& opt) { + const auto it = Util::find_if(toolset.supported_architectures, [&](const ToolsetArchOption& opt) { return host == opt.host_arch && target_arch == opt.target_arch; }); if (it != toolset.supported_architectures.end()) return it->name; @@ -294,7 +295,7 @@ namespace vcpkg::Build { features.append(feature + ";"); } - if (features.size() > 0) + if (!features.empty()) { features.pop_back(); } @@ -364,7 +365,7 @@ namespace vcpkg::Build if (config.build_package_options.clean_buildtrees == CleanBuildtrees::YES) { auto& fs = paths.get_filesystem(); - auto buildtrees_dir = paths.buildtrees / spec.name(); + const auto buildtrees_dir = paths.buildtrees / spec.name(); auto buildtree_files = fs.get_files_non_recursive(buildtrees_dir); for (auto&& file : buildtree_files) { @@ -500,7 +501,7 @@ namespace vcpkg::Build const std::vector<std::string> lines = Strings::split(ec_data.output, "\n"); - PreBuildInfo pre_build_info; + PreBuildInfo pre_build_info{}; const auto e = lines.cend(); auto cur = std::find(lines.cbegin(), e, FLAG_GUID); diff --git a/toolsrc/src/vcpkg/commands.cache.cpp b/toolsrc/src/vcpkg/commands.cache.cpp index 6fd123b7c..85bf5fb4d 100644 --- a/toolsrc/src/vcpkg/commands.cache.cpp +++ b/toolsrc/src/vcpkg/commands.cache.cpp @@ -47,7 +47,7 @@ namespace vcpkg::Commands::Cache Checks::exit_success(VCPKG_LINE_INFO); } - if (args.command_arguments.size() == 0) + if (args.command_arguments.empty()) { for (const BinaryParagraph& binary_paragraph : binary_paragraphs) { diff --git a/toolsrc/src/vcpkg/commands.create.cpp b/toolsrc/src/vcpkg/commands.create.cpp index 44f5f7928..25c34cf09 100644 --- a/toolsrc/src/vcpkg/commands.create.cpp +++ b/toolsrc/src/vcpkg/commands.create.cpp @@ -34,7 +34,7 @@ namespace vcpkg::Commands::Create R"(Filename cannot contain invalid chars %s, but was %s)", Files::FILESYSTEM_INVALID_CHARACTERS, zip_file_name); - cmake_args.push_back({"FILENAME", zip_file_name}); + cmake_args.emplace_back("FILENAME", zip_file_name); } const std::string cmd_launch_cmake = make_cmake_cmd(cmake_exe, paths.ports_cmake, cmake_args); diff --git a/toolsrc/src/vcpkg/commands.exportifw.cpp b/toolsrc/src/vcpkg/commands.exportifw.cpp index 682267acb..96c0e2215 100644 --- a/toolsrc/src/vcpkg/commands.exportifw.cpp +++ b/toolsrc/src/vcpkg/commands.exportifw.cpp @@ -139,14 +139,14 @@ namespace vcpkg::Export::IFW )###", create_release_date())); - for (auto package = unique_packages.begin(); package != unique_packages.end(); ++package) + for (const auto& unique_package : unique_packages) { - const ExportPlanAction& action = *(package->second); + const ExportPlanAction& action = *(unique_package.second); const BinaryParagraph& binary_paragraph = action.any_paragraph.binary_control_file.value_or_exit(VCPKG_LINE_INFO).core_paragraph; package_xml_file_path = - raw_exported_dir_path / Strings::format("packages.%s", package->first) / "meta" / "package.xml"; + raw_exported_dir_path / Strings::format("packages.%s", unique_package.first) / "meta" / "package.xml"; package_xml_dir_path = package_xml_file_path.parent_path(); fs.create_directories(package_xml_dir_path, ec); Checks::check_exit(VCPKG_LINE_INFO, diff --git a/toolsrc/src/vcpkg/commands.integrate.cpp b/toolsrc/src/vcpkg/commands.integrate.cpp index 460e99b88..0f647a40f 100644 --- a/toolsrc/src/vcpkg/commands.integrate.cpp +++ b/toolsrc/src/vcpkg/commands.integrate.cpp @@ -191,7 +191,7 @@ namespace vcpkg::Commands::Integrate const auto found = std::regex_search(*contents_data, match, RE); if (found) { - const int ver = atoi(match[1].str().c_str()); + const auto ver = strtol(match[1].str().c_str(), nullptr, 10); if (ver >= 1) should_install_system = false; } } diff --git a/toolsrc/src/vcpkg/commands.list.cpp b/toolsrc/src/vcpkg/commands.list.cpp index 960c57225..66939a68a 100644 --- a/toolsrc/src/vcpkg/commands.list.cpp +++ b/toolsrc/src/vcpkg/commands.list.cpp @@ -57,7 +57,7 @@ namespace vcpkg::Commands::List return lhs->package.displayname() < rhs->package.displayname(); }); - if (args.command_arguments.size() == 0) + if (args.command_arguments.empty()) { for (const StatusParagraph* status_paragraph : installed_packages) { diff --git a/toolsrc/src/vcpkg/export.cpp b/toolsrc/src/vcpkg/export.cpp index e3221a12f..11e810339 100644 --- a/toolsrc/src/vcpkg/export.cpp +++ b/toolsrc/src/vcpkg/export.cpp @@ -69,8 +69,8 @@ namespace vcpkg::Export { static constexpr std::array<ExportPlanType, 2> ORDER = {ExportPlanType::ALREADY_BUILT, ExportPlanType::PORT_AVAILABLE_BUT_NOT_BUILT}; - static constexpr Build::BuildPackageOptions build_options = {Build::UseHeadVersion::NO, - Build::AllowDownloads::YES}; + static constexpr Build::BuildPackageOptions build_options = { + Build::UseHeadVersion::NO, Build::AllowDownloads::YES, Build::CleanBuildtrees::NO}; for (const ExportPlanType plan_type : ORDER) { diff --git a/toolsrc/src/vcpkg/install.cpp b/toolsrc/src/vcpkg/install.cpp index dcc130be3..88c9d8882 100644 --- a/toolsrc/src/vcpkg/install.cpp +++ b/toolsrc/src/vcpkg/install.cpp @@ -159,7 +159,7 @@ namespace vcpkg::Install auto package_files = Util::fmap(package_file_paths, [package_remove_char_count](const fs::path& path) { std::string as_string = path.generic_string(); as_string.erase(0, package_remove_char_count); - return std::move(as_string); + return as_string; }); return SortedVector<std::string>(std::move(package_files)); diff --git a/toolsrc/src/vcpkg/metrics.cpp b/toolsrc/src/vcpkg/metrics.cpp index cdb21d260..818a9066c 100644 --- a/toolsrc/src/vcpkg/metrics.cpp +++ b/toolsrc/src/vcpkg/metrics.cpp @@ -152,7 +152,7 @@ namespace vcpkg::Metrics void track_property(const std::string& name, const std::string& value) { - if (properties.size() != 0) properties.push_back(','); + if (!properties.empty()) properties.push_back(','); properties.append(to_json_string(name)); properties.push_back(':'); properties.append(to_json_string(value)); @@ -160,7 +160,7 @@ namespace vcpkg::Metrics void track_metric(const std::string& name, double value) { - if (measurements.size() != 0) measurements.push_back(','); + if (!measurements.empty()) measurements.push_back(','); measurements.append(to_json_string(name)); measurements.push_back(':'); measurements.append(std::to_string(value)); @@ -302,7 +302,7 @@ namespace vcpkg::Metrics { if (MAXDWORD <= payload.size()) abort(); std::wstring hdrs = L"Content-Type: application/json\r\n"; - std::string& p = const_cast<std::string&>(payload); + auto& p = const_cast<std::string&>(payload); results = WinHttpSendRequest(request, hdrs.c_str(), static_cast<DWORD>(hdrs.size()), @@ -383,30 +383,27 @@ namespace vcpkg::Metrics auto& fs = Files::get_real_filesystem(); - if (true) - { - const fs::path exe_path = [&fs]() -> fs::path { - auto vcpkgdir = System::get_exe_path_of_current_process().parent_path(); - auto path = vcpkgdir / "vcpkgmetricsuploader.exe"; - if (fs.exists(path)) return path; - - path = vcpkgdir / "scripts" / "vcpkgmetricsuploader.exe"; - if (fs.exists(path)) return path; - - return ""; - }(); - - std::error_code ec; - fs.create_directories(temp_folder_path, ec); - if (ec) return; - fs.copy_file(exe_path, temp_folder_path_exe, fs::copy_options::skip_existing, ec); - if (ec) return; - } + const fs::path exe_path = [&fs]() -> fs::path { + auto vcpkgdir = System::get_exe_path_of_current_process().parent_path(); + auto path = vcpkgdir / "vcpkgmetricsuploader.exe"; + if (fs.exists(path)) return path; + + path = vcpkgdir / "scripts" / "vcpkgmetricsuploader.exe"; + if (fs.exists(path)) return path; + + return ""; + }(); + + std::error_code ec; + fs.create_directories(temp_folder_path, ec); + if (ec) return; + fs.copy_file(exe_path, temp_folder_path_exe, fs::copy_options::skip_existing, ec); + if (ec) return; const fs::path vcpkg_metrics_txt_path = temp_folder_path / ("vcpkg" + generate_random_UUID() + ".txt"); fs.write_contents(vcpkg_metrics_txt_path, payload); - const std::string cmd_line = Strings::format("start \"vcpkgmetricsuploader.exe\" \"%s\" \"%s\"", + const std::string cmd_line = Strings::format(R"(start "vcpkgmetricsuploader.exe" "%s" "%s")", temp_folder_path_exe.u8string(), vcpkg_metrics_txt_path.u8string()); System::cmd_execute_clean(cmd_line); diff --git a/toolsrc/src/vcpkg/remove.cpp b/toolsrc/src/vcpkg/remove.cpp index 4079d60c1..ed2c02b9f 100644 --- a/toolsrc/src/vcpkg/remove.cpp +++ b/toolsrc/src/vcpkg/remove.cpp @@ -202,7 +202,7 @@ namespace vcpkg::Remove std::vector<PackageSpec> specs; if (Util::Sets::contains(options.switches, OPTION_OUTDATED)) { - if (args.command_arguments.size() != 0) + if (!args.command_arguments.empty()) { System::println(System::Color::error, "Error: 'remove' accepts either libraries or '--outdated'"); Checks::exit_fail(VCPKG_LINE_INFO); @@ -221,7 +221,7 @@ namespace vcpkg::Remove } else { - if (args.command_arguments.size() < 1) + if (args.command_arguments.empty()) { System::println(System::Color::error, "Error: 'remove' accepts either libraries or '--outdated'"); Checks::exit_fail(VCPKG_LINE_INFO); diff --git a/toolsrc/src/vcpkg/sourceparagraph.cpp b/toolsrc/src/vcpkg/sourceparagraph.cpp index 2a9480538..4da0cfcfc 100644 --- a/toolsrc/src/vcpkg/sourceparagraph.cpp +++ b/toolsrc/src/vcpkg/sourceparagraph.cpp @@ -158,7 +158,7 @@ namespace vcpkg return std::move(control_file); } - Dependency Dependency::parse_dependency(std::string name, std::string qualifier) + Dependency Dependency::parse_dependency(std::string&& name, std::string&& qualifier) { Dependency dep; dep.qualifier = qualifier; @@ -182,7 +182,7 @@ namespace vcpkg { return Util::fmap(depends, [&](const std::string& depend_string) -> Dependency { auto pos = depend_string.find(' '); - if (pos == std::string::npos) return Dependency::parse_dependency(depend_string, ""); + if (pos == std::string::npos) return Dependency::parse_dependency(std::string{depend_string}, ""); // expect of the form "\w+ \[\w+\]" Dependency dep; @@ -190,7 +190,7 @@ namespace vcpkg if (depend_string.c_str()[pos + 1] != '(' || depend_string[depend_string.size() - 1] != ')') { // Error, but for now just slurp the entire string. - return Dependency::parse_dependency(depend_string, ""); + return Dependency::parse_dependency(std::string{depend_string}, ""); } dep.qualifier = depend_string.substr(pos + 2, depend_string.size() - pos - 3); return dep; diff --git a/toolsrc/src/vcpkg/statusparagraphs.cpp b/toolsrc/src/vcpkg/statusparagraphs.cpp index d4afc0427..d516b6284 100644 --- a/toolsrc/src/vcpkg/statusparagraphs.cpp +++ b/toolsrc/src/vcpkg/statusparagraphs.cpp @@ -47,7 +47,7 @@ namespace vcpkg StatusParagraphs::const_iterator StatusParagraphs::find_installed(const std::string& name, const Triplet& triplet) const { - const const_iterator it = find(name, triplet); + const auto it = find(name, triplet); if (it != end() && (*it)->want == Want::INSTALL && (*it)->state == InstallState::INSTALLED) { return it; diff --git a/toolsrc/src/vcpkg/update.cpp b/toolsrc/src/vcpkg/update.cpp index d6c5614ed..9f89da13c 100644 --- a/toolsrc/src/vcpkg/update.cpp +++ b/toolsrc/src/vcpkg/update.cpp @@ -35,7 +35,8 @@ namespace vcpkg::Update auto&& installed_version = pgh->package.version; if (installed_version != port_version) { - output.push_back({pgh->package.spec, VersionDiff(installed_version, port_version)}); + output.push_back( + {pgh->package.spec, VersionDiff(std::string{installed_version}, std::string{port_version})}); } } else diff --git a/toolsrc/src/vcpkg/userconfig.cpp b/toolsrc/src/vcpkg/userconfig.cpp index 906594691..45ed01ec6 100644 --- a/toolsrc/src/vcpkg/userconfig.cpp +++ b/toolsrc/src/vcpkg/userconfig.cpp @@ -41,7 +41,7 @@ namespace vcpkg const auto& pghs = *p_pghs; std::unordered_map<std::string, std::string> keys; - if (pghs.size() > 0) keys = pghs[0]; + if (!pghs.empty()) keys = pghs[0]; for (size_t x = 1; x < pghs.size(); ++x) { diff --git a/toolsrc/src/vcpkg/vcpkgpaths.cpp b/toolsrc/src/vcpkg/vcpkgpaths.cpp index e64a681e2..cbf1e97e1 100644 --- a/toolsrc/src/vcpkg/vcpkgpaths.cpp +++ b/toolsrc/src/vcpkg/vcpkgpaths.cpp @@ -50,14 +50,14 @@ namespace vcpkg const std::string& version_check_arguments, const std::array<int, 3>& expected_version) { - auto it = Util::find_if(candidate_paths, [&](const fs::path& p) { + const auto it = Util::find_if(candidate_paths, [&](const fs::path& p) { const std::string cmd = Strings::format(R"("%s" %s)", p.u8string(), version_check_arguments); return exists_and_has_equal_or_greater_version(cmd, expected_version); }); if (it != candidate_paths.cend()) { - return std::move(*it); + return *it; } return nullopt; diff --git a/toolsrc/src/vcpkg/versiont.cpp b/toolsrc/src/vcpkg/versiont.cpp index 91f7e23ef..cff49d9e8 100644 --- a/toolsrc/src/vcpkg/versiont.cpp +++ b/toolsrc/src/vcpkg/versiont.cpp @@ -6,7 +6,7 @@ namespace vcpkg { VersionT::VersionT() : value("0.0.0") {} - VersionT::VersionT(const std::string& value) : value(value) {} + VersionT::VersionT(std::string&& value) : value(std::move(value)) {} const std::string& VersionT::to_string() const { return value; } bool operator==(const VersionT& left, const VersionT& right) { return left.to_string() == right.to_string(); } bool operator!=(const VersionT& left, const VersionT& right) { return left.to_string() != right.to_string(); } |
