aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/include/package_spec_parse_result.h
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/include/package_spec_parse_result.h
downloadvcpkg-ccca198c1b1730b0241911cb56dc8e3504958b2a.tar.gz
vcpkg-ccca198c1b1730b0241911cb56dc8e3504958b2a.zip
Initial commit
Diffstat (limited to 'toolsrc/include/package_spec_parse_result.h')
-rw-r--r--toolsrc/include/package_spec_parse_result.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/toolsrc/include/package_spec_parse_result.h b/toolsrc/include/package_spec_parse_result.h
new file mode 100644
index 000000000..e59622951
--- /dev/null
+++ b/toolsrc/include/package_spec_parse_result.h
@@ -0,0 +1,34 @@
+#pragma once
+#include <system_error>
+
+namespace vcpkg
+{
+ enum class package_spec_parse_result
+ {
+ success = 0,
+ too_many_colons
+ };
+
+ struct package_spec_parse_result_category_impl final : std::error_category
+ {
+ virtual const char* name() const noexcept override;
+
+ virtual std::string message(int ev) const noexcept override;
+ };
+
+ const std::error_category& package_spec_parse_result_category();
+
+ std::error_code make_error_code(package_spec_parse_result e);
+
+ package_spec_parse_result to_package_spec_parse_result(int i);
+
+ package_spec_parse_result to_package_spec_parse_result(std::error_code ec);
+}
+
+// Enable implicit conversion to std::error_code
+namespace std
+{
+ template <>
+ struct is_error_code_enum<vcpkg::package_spec_parse_result> : ::std::true_type
+ {};
+}