aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src/PackageSpecParseResult.cpp
diff options
context:
space:
mode:
authorAlexander Karatarakis <alkarata@microsoft.com>2017-04-03 14:47:30 -0700
committerAlexander Karatarakis <alkarata@microsoft.com>2017-04-04 16:44:41 -0700
commit83cde513345f5544325520b89ec3f1f27bd8b2a6 (patch)
tree6d9ebd595f80e91d3c36b36695e997c6d3c86dc0 /toolsrc/src/PackageSpecParseResult.cpp
parentd1141e6054ffde134d1a3d80d484d2d2b959e408 (diff)
downloadvcpkg-83cde513345f5544325520b89ec3f1f27bd8b2a6.tar.gz
vcpkg-83cde513345f5544325520b89ec3f1f27bd8b2a6.zip
package_spec_parse_result -> PackageSpecParseResult
Diffstat (limited to 'toolsrc/src/PackageSpecParseResult.cpp')
-rw-r--r--toolsrc/src/PackageSpecParseResult.cpp47
1 files changed, 47 insertions, 0 deletions
diff --git a/toolsrc/src/PackageSpecParseResult.cpp b/toolsrc/src/PackageSpecParseResult.cpp
new file mode 100644
index 000000000..3fb2def0b
--- /dev/null
+++ b/toolsrc/src/PackageSpecParseResult.cpp
@@ -0,0 +1,47 @@
+#include "pch.h"
+#include "vcpkg_Checks.h"
+#include "PackageSpecParseResult.h"
+
+namespace vcpkg
+{
+ const char* PackageSpecParseResultCategoryImpl::name() const noexcept
+ {
+ return "PackageSpecParseResult";
+ }
+
+ std::string PackageSpecParseResultCategoryImpl::message(int ev) const noexcept
+ {
+ switch (static_cast<PackageSpecParseResult>(ev))
+ {
+ case PackageSpecParseResult::SUCCESS:
+ return "OK";
+ case PackageSpecParseResult::TOO_MANY_COLONS:
+ return "Too many colons";
+ case PackageSpecParseResult::INVALID_CHARACTERS:
+ return "Contains invalid characters. Only alphanumeric lowercase ASCII characters and dashes are allowed";
+ default:
+ Checks::unreachable(VCPKG_LINE_INFO);
+ }
+ }
+
+ const std::error_category& package_spec_parse_result_category()
+ {
+ static PackageSpecParseResultCategoryImpl instance;
+ return instance;
+ }
+
+ std::error_code make_error_code(PackageSpecParseResult e)
+ {
+ return std::error_code(static_cast<int>(e), package_spec_parse_result_category());
+ }
+
+ PackageSpecParseResult to_package_spec_parse_result(int i)
+ {
+ return static_cast<PackageSpecParseResult>(i);
+ }
+
+ PackageSpecParseResult to_package_spec_parse_result(std::error_code ec)
+ {
+ return to_package_spec_parse_result(ec.value());
+ }
+}