aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src/package_spec_parse_result.cpp
diff options
context:
space:
mode:
authorAlexander Karatarakis <alkarata@microsoft.com>2016-09-18 20:50:08 -0700
committerAlexander Karatarakis <alkarata@microsoft.com>2016-09-18 20:54:03 -0700
commitccca198c1b1730b0241911cb56dc8e3504958b2a (patch)
treea2dd9b8b087a09afdcecc5cbb3377bed15127eb2 /toolsrc/src/package_spec_parse_result.cpp
downloadvcpkg-ccca198c1b1730b0241911cb56dc8e3504958b2a.tar.gz
vcpkg-ccca198c1b1730b0241911cb56dc8e3504958b2a.zip
Initial commit
Diffstat (limited to 'toolsrc/src/package_spec_parse_result.cpp')
-rw-r--r--toolsrc/src/package_spec_parse_result.cpp45
1 files changed, 45 insertions, 0 deletions
diff --git a/toolsrc/src/package_spec_parse_result.cpp b/toolsrc/src/package_spec_parse_result.cpp
new file mode 100644
index 000000000..757b6df53
--- /dev/null
+++ b/toolsrc/src/package_spec_parse_result.cpp
@@ -0,0 +1,45 @@
+#include <package_spec.h>
+#include <system_error>
+#include "package_spec_parse_result.h"
+
+namespace vcpkg
+{
+ const char* package_spec_parse_result_category_impl::name() const noexcept
+ {
+ return "package_spec_parse_result";
+ }
+
+ std::string package_spec_parse_result_category_impl::message(int ev) const noexcept
+ {
+ switch (static_cast<package_spec_parse_result>(ev))
+ {
+ case package_spec_parse_result::success:
+ return "OK";
+ case package_spec_parse_result::too_many_colons:
+ return "Too many colons";
+ default:
+ Checks::unreachable();
+ }
+ }
+
+ const std::error_category& package_spec_parse_result_category()
+ {
+ static package_spec_parse_result_category_impl instance;
+ return instance;
+ }
+
+ std::error_code make_error_code(package_spec_parse_result e)
+ {
+ return std::error_code(static_cast<int>(e), package_spec_parse_result_category());
+ }
+
+ package_spec_parse_result to_package_spec_parse_result(int i)
+ {
+ return static_cast<package_spec_parse_result>(i);
+ }
+
+ package_spec_parse_result to_package_spec_parse_result(std::error_code ec)
+ {
+ return to_package_spec_parse_result(ec.value());
+ }
+}