aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src/paragraph_parse_result.cpp
diff options
context:
space:
mode:
authorAlexander Karatarakis <alkarata@microsoft.com>2017-03-24 10:46:49 -0700
committerAlexander Karatarakis <alkarata@microsoft.com>2017-03-27 12:43:14 -0700
commitd2bab3c370fca9fa5216d97495810faaeeaebc2d (patch)
tree205fd2130c93e9fe40975a271dd11381b562fead /toolsrc/src/paragraph_parse_result.cpp
parent90bb4a2eeb316fbc5055d507044229cbc8bc5337 (diff)
downloadvcpkg-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.cpp45
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());
+ }
+}