diff options
| author | Alexander Karatarakis <alkarata@microsoft.com> | 2017-03-28 15:05:55 -0700 |
|---|---|---|
| committer | Alexander Karatarakis <alkarata@microsoft.com> | 2017-03-28 18:59:57 -0700 |
| commit | 42bd55e3ae815e43181facfdc161d29804014f26 (patch) | |
| tree | d0e4db89947aa557ec6e3bf6065cfb43cbc796ff /toolsrc/src/vcpkg_paths.cpp | |
| parent | 67ce764c2ea7483860a3ad61441608d8978605ae (diff) | |
| download | vcpkg-42bd55e3ae815e43181facfdc161d29804014f26.tar.gz vcpkg-42bd55e3ae815e43181facfdc161d29804014f26.zip | |
Rework optional<T>
Diffstat (limited to 'toolsrc/src/vcpkg_paths.cpp')
| -rw-r--r-- | toolsrc/src/vcpkg_paths.cpp | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/toolsrc/src/vcpkg_paths.cpp b/toolsrc/src/vcpkg_paths.cpp index 732c4a4fc..86106028a 100644 --- a/toolsrc/src/vcpkg_paths.cpp +++ b/toolsrc/src/vcpkg_paths.cpp @@ -47,10 +47,10 @@ namespace vcpkg if (it != candidate_paths.cend()) { - return std::make_unique<fs::path>(std::move(*it)); + return std::move(*it); } - return nullptr; + return nullopt; } static std::vector<fs::path> find_from_PATH(const std::wstring& name) @@ -101,9 +101,10 @@ namespace vcpkg candidate_paths.push_back(Environment::get_ProgramFiles_platform_bitness() / "CMake" / "bin" / "cmake.exe"); candidate_paths.push_back(Environment::get_ProgramFiles_32_bit() / "CMake" / "bin"); - if (auto ret = find_if_has_equal_or_greater_version(candidate_paths, version_check_arguments, expected_version)) + const optional<fs::path> path = find_if_has_equal_or_greater_version(candidate_paths, version_check_arguments, expected_version); + if (auto p = path.get()) { - return *ret; + return *p; } return fetch_dependency(scripts_folder, L"cmake", downloaded_copy); @@ -121,9 +122,10 @@ namespace vcpkg candidate_paths.push_back(downloaded_copy); candidate_paths.insert(candidate_paths.end(), from_path.cbegin(), from_path.cend()); - if (auto ret = find_if_has_equal_or_greater_version(candidate_paths, version_check_arguments, expected_version)) + auto path = find_if_has_equal_or_greater_version(candidate_paths, version_check_arguments, expected_version); + if (auto p = path.get()) { - return *ret; + return *p; } return fetch_dependency(scripts_folder, L"nuget", downloaded_copy); @@ -143,9 +145,10 @@ namespace vcpkg candidate_paths.push_back(Environment::get_ProgramFiles_platform_bitness() / "git" / "cmd" / "git.exe"); candidate_paths.push_back(Environment::get_ProgramFiles_32_bit() / "git" / "cmd" / "git.exe"); - if (auto ret = find_if_has_equal_or_greater_version(candidate_paths, version_check_arguments, expected_version)) + const optional<fs::path> path = find_if_has_equal_or_greater_version(candidate_paths, version_check_arguments, expected_version); + if (auto p = path.get()) { - return *ret; + return *p; } return fetch_dependency(scripts_folder, L"git", downloaded_copy); |
