diff options
Diffstat (limited to 'toolsrc/include/package_spec_parse_result.h')
| -rw-r--r-- | toolsrc/include/package_spec_parse_result.h | 34 |
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 + {}; +} |
