diff options
| author | Alexander Karatarakis <alkarata@microsoft.com> | 2017-04-03 14:47:30 -0700 |
|---|---|---|
| committer | Alexander Karatarakis <alkarata@microsoft.com> | 2017-04-04 16:44:41 -0700 |
| commit | 83cde513345f5544325520b89ec3f1f27bd8b2a6 (patch) | |
| tree | 6d9ebd595f80e91d3c36b36695e997c6d3c86dc0 /toolsrc/src/PackageSpecParseResult.cpp | |
| parent | d1141e6054ffde134d1a3d80d484d2d2b959e408 (diff) | |
| download | vcpkg-83cde513345f5544325520b89ec3f1f27bd8b2a6.tar.gz vcpkg-83cde513345f5544325520b89ec3f1f27bd8b2a6.zip | |
package_spec_parse_result -> PackageSpecParseResult
Diffstat (limited to 'toolsrc/src/PackageSpecParseResult.cpp')
| -rw-r--r-- | toolsrc/src/PackageSpecParseResult.cpp | 47 |
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()); + } +} |
