diff options
| author | Alexander Karatarakis <alkarata@microsoft.com> | 2017-03-29 15:10:28 -0700 |
|---|---|---|
| committer | Alexander Karatarakis <alkarata@microsoft.com> | 2017-03-31 18:01:13 -0700 |
| commit | e07471820951d5b23c9e176fae235bd8e3648651 (patch) | |
| tree | 20b4808238cb1416ec573dc151b4bb4623c6ffba /toolsrc/include | |
| parent | 9b9a35fa3824d3cd4f8da48fc0a60ca384a5ccab (diff) | |
| download | vcpkg-e07471820951d5b23c9e176fae235bd8e3648651.tar.gz vcpkg-e07471820951d5b23c9e176fae235bd8e3648651.zip | |
Version_t
Diffstat (limited to 'toolsrc/include')
| -rw-r--r-- | toolsrc/include/Paragraphs.h | 3 | ||||
| -rw-r--r-- | toolsrc/include/version_t.cpp | 20 | ||||
| -rw-r--r-- | toolsrc/include/version_t.h | 28 |
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; + }; +} |
