aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/include
diff options
context:
space:
mode:
authorAlexander Karatarakis <alkarata@microsoft.com>2017-03-29 15:10:28 -0700
committerAlexander Karatarakis <alkarata@microsoft.com>2017-03-31 18:01:13 -0700
commite07471820951d5b23c9e176fae235bd8e3648651 (patch)
tree20b4808238cb1416ec573dc151b4bb4623c6ffba /toolsrc/include
parent9b9a35fa3824d3cd4f8da48fc0a60ca384a5ccab (diff)
downloadvcpkg-e07471820951d5b23c9e176fae235bd8e3648651.tar.gz
vcpkg-e07471820951d5b23c9e176fae235bd8e3648651.zip
Version_t
Diffstat (limited to 'toolsrc/include')
-rw-r--r--toolsrc/include/Paragraphs.h3
-rw-r--r--toolsrc/include/version_t.cpp20
-rw-r--r--toolsrc/include/version_t.h28
3 files changed, 50 insertions, 1 deletions
diff --git a/toolsrc/include/Paragraphs.h b/toolsrc/include/Paragraphs.h
index 776728f7a..39880192c 100644
--- a/toolsrc/include/Paragraphs.h
+++ b/toolsrc/include/Paragraphs.h
@@ -5,6 +5,7 @@
#include "vcpkg_expected.h"
#include "BinaryParagraph.h"
#include "vcpkg_paths.h"
+#include "version_t.h"
namespace vcpkg::Paragraphs
{
@@ -19,5 +20,5 @@ namespace vcpkg::Paragraphs
std::vector<SourceParagraph> load_all_ports(const fs::path& ports_dir);
- std::map<std::string, std::string> extract_port_names_and_versions(const std::vector<SourceParagraph>& source_paragraphs);
+ std::map<std::string, version_t> extract_port_names_and_versions(const std::vector<SourceParagraph>& source_paragraphs);
}
diff --git a/toolsrc/include/version_t.cpp b/toolsrc/include/version_t.cpp
new file mode 100644
index 000000000..feb110542
--- /dev/null
+++ b/toolsrc/include/version_t.cpp
@@ -0,0 +1,20 @@
+#include "pch.h"
+#include "version_t.h"
+#include "vcpkg_Strings.h"
+
+namespace vcpkg
+{
+ version_t::version_t() : value("0.0.0") {}
+ version_t::version_t(const std::string& value) : value(value) {}
+ bool operator==(const version_t& left, const version_t& right) { return left.value == right.value; }
+ bool operator!=(const version_t& left, const version_t& right) { return left.value != right.value; }
+ std::string to_printf_arg(const version_t& version) { return version.value; }
+
+ version_diff_t::version_diff_t() : left(), right() {}
+ version_diff_t::version_diff_t(const version_t& left, const version_t& right) : left(left), right(right) {}
+
+ std::string version_diff_t::toString() const
+ {
+ return Strings::format("%s -> %s", left.value, right.value);
+ }
+}
diff --git a/toolsrc/include/version_t.h b/toolsrc/include/version_t.h
new file mode 100644
index 000000000..9a4e11a39
--- /dev/null
+++ b/toolsrc/include/version_t.h
@@ -0,0 +1,28 @@
+#pragma once
+#include <string>
+
+namespace vcpkg
+{
+ struct version_t
+ {
+ version_t();
+ version_t(const std::string& value);
+
+ std::string value;
+ };
+
+ bool operator ==(const version_t& left, const version_t& right);
+ bool operator !=(const version_t& left, const version_t& right);
+ std::string to_printf_arg(const version_t& version);
+
+ struct version_diff_t
+ {
+ version_t left;
+ version_t right;
+
+ version_diff_t();
+ version_diff_t(const version_t& left, const version_t& right);
+
+ std::string toString() const;
+ };
+}