summaryrefslogtreecommitdiff
path: root/source/purchase_error.cc
diff options
context:
space:
mode:
Diffstat (limited to 'source/purchase_error.cc')
-rw-r--r--source/purchase_error.cc21
1 files changed, 21 insertions, 0 deletions
diff --git a/source/purchase_error.cc b/source/purchase_error.cc
new file mode 100644
index 0000000..f9ae931
--- /dev/null
+++ b/source/purchase_error.cc
@@ -0,0 +1,21 @@
+#include <string_view>
+
+#include <book_store/purchase_error.hh>
+
+namespace book_store {
+[[nodiscard]] auto
+purchase_error::error() const noexcept -> purchase_error_type {
+ return this->_error;
+}
+
+[[nodiscard]] auto purchase_error::what() const noexcept -> std::string_view {
+ switch (this->_error) {
+ case person_not_found:
+ return "Person not found";
+ case book_not_found:
+ return "Book not found";
+ case not_enough_stock:
+ return "Not enough stock";
+ }
+}
+} // namespace book_store