aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src/StatusParagraphs.cpp
diff options
context:
space:
mode:
authorJan HrubĂ˝ <jhruby.web@gmail.com>2017-03-13 08:56:05 +0100
committerGitHub <noreply@github.com>2017-03-13 08:56:05 +0100
commit665f4118f603c5858217ed7a2f2f824b18ff4fc5 (patch)
treef0167041edf71e90f2331b5025f603392a8de67a /toolsrc/src/StatusParagraphs.cpp
parent1bec0fcb73073b5b1719f454c368a63f1bff625e (diff)
parent1c9873a0daf625f67474aaf3e163c592c27ecb65 (diff)
downloadvcpkg-665f4118f603c5858217ed7a2f2f824b18ff4fc5.tar.gz
vcpkg-665f4118f603c5858217ed7a2f2f824b18ff4fc5.zip
Merge pull request #1 from Microsoft/master
pull
Diffstat (limited to 'toolsrc/src/StatusParagraphs.cpp')
-rw-r--r--toolsrc/src/StatusParagraphs.cpp31
1 files changed, 16 insertions, 15 deletions
diff --git a/toolsrc/src/StatusParagraphs.cpp b/toolsrc/src/StatusParagraphs.cpp
index 463e3e3b8..9a440fbb8 100644
--- a/toolsrc/src/StatusParagraphs.cpp
+++ b/toolsrc/src/StatusParagraphs.cpp
@@ -1,5 +1,5 @@
+#include "pch.h"
#include "StatusParagraphs.h"
-#include <algorithm>
#include "vcpkg_Checks.h"
namespace vcpkg
@@ -13,23 +13,25 @@ namespace vcpkg
StatusParagraphs::const_iterator StatusParagraphs::find(const std::string& name, const triplet& target_triplet) const
{
- return std::find_if(begin(), end(), [&](const auto& pgh)
+ return std::find_if(begin(), end(), [&](const std::unique_ptr<StatusParagraph>& pgh)
{
- return pgh->package.name == name && pgh->package.target_triplet == target_triplet;
+ const package_spec& spec = pgh->package.spec;
+ return spec.name() == name && spec.target_triplet() == target_triplet;
});
}
StatusParagraphs::iterator StatusParagraphs::find(const std::string& name, const triplet& target_triplet)
{
- return std::find_if(begin(), end(), [&](const auto& pgh)
+ return std::find_if(begin(), end(), [&](const std::unique_ptr<StatusParagraph>& pgh)
{
- return pgh->package.name == name && pgh->package.target_triplet == target_triplet;
+ const package_spec& spec = pgh->package.spec;
+ return spec.name() == name && spec.target_triplet() == target_triplet;
});
}
- StatusParagraphs::iterator StatusParagraphs::find_installed(const std::string& name, const triplet& target_triplet)
+ StatusParagraphs::const_iterator StatusParagraphs::find_installed(const std::string& name, const triplet& target_triplet) const
{
- auto it = find(name, target_triplet);
+ const const_iterator it = find(name, target_triplet);
if (it != end() && (*it)->want == want_t::install)
{
return it;
@@ -40,19 +42,18 @@ namespace vcpkg
StatusParagraphs::iterator StatusParagraphs::insert(std::unique_ptr<StatusParagraph> pgh)
{
- Checks::check_throw(pgh != nullptr, "Inserted null paragraph");
- auto ptr = find(pgh->package.name, pgh->package.target_triplet);
+ Checks::check_exit(pgh != nullptr, "Inserted null paragraph");
+ const package_spec& spec = pgh->package.spec;
+ auto ptr = find(spec.name(), spec.target_triplet());
if (ptr == end())
{
paragraphs.push_back(std::move(pgh));
return paragraphs.rbegin();
}
- else
- {
- // consume data from provided pgh.
- **ptr = std::move(*pgh);
- return ptr;
- }
+
+ // consume data from provided pgh.
+ **ptr = std::move(*pgh);
+ return ptr;
}
std::ostream& vcpkg::operator<<(std::ostream& os, const StatusParagraphs& l)