diff options
| author | Alexander Karatarakis <alkarata@microsoft.com> | 2017-03-24 10:46:49 -0700 |
|---|---|---|
| committer | Alexander Karatarakis <alkarata@microsoft.com> | 2017-03-27 12:43:14 -0700 |
| commit | d2bab3c370fca9fa5216d97495810faaeeaebc2d (patch) | |
| tree | 205fd2130c93e9fe40975a271dd11381b562fead /toolsrc/src/paragraph_parse_result.cpp | |
| parent | 90bb4a2eeb316fbc5055d507044229cbc8bc5337 (diff) | |
| download | vcpkg-d2bab3c370fca9fa5216d97495810faaeeaebc2d.tar.gz vcpkg-d2bab3c370fca9fa5216d97495810faaeeaebc2d.zip | |
Rework Paragraph parsing error handling. Add single paragraph functions
Diffstat (limited to 'toolsrc/src/paragraph_parse_result.cpp')
| -rw-r--r-- | toolsrc/src/paragraph_parse_result.cpp | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/toolsrc/src/paragraph_parse_result.cpp b/toolsrc/src/paragraph_parse_result.cpp new file mode 100644 index 000000000..4715f7a16 --- /dev/null +++ b/toolsrc/src/paragraph_parse_result.cpp @@ -0,0 +1,45 @@ +#include "pch.h" +#include "vcpkg_Checks.h" +#include "paragraph_parse_result.h" + +namespace vcpkg +{ + const char* paragraph_parse_result_category_impl::name() const noexcept + { + return "paragraph_parse_result"; + } + + std::string paragraph_parse_result_category_impl::message(int ev) const noexcept + { + switch (static_cast<paragraph_parse_result>(ev)) + { + case paragraph_parse_result::SUCCESS: + return "OK"; + case paragraph_parse_result::EXPECTED_ONE_PARAGRAPH: + return "There should be exactly one paragraph"; + default: + Checks::unreachable(VCPKG_LINE_INFO); + } + } + + const std::error_category& paragraph_parse_result_category() + { + static paragraph_parse_result_category_impl instance; + return instance; + } + + std::error_code make_error_code(paragraph_parse_result e) + { + return std::error_code(static_cast<int>(e), paragraph_parse_result_category()); + } + + paragraph_parse_result to_paragraph_parse_result(int i) + { + return static_cast<paragraph_parse_result>(i); + } + + paragraph_parse_result to_paragraph_parse_result(std::error_code ec) + { + return to_paragraph_parse_result(ec.value()); + } +} |
