]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/boost/safe_numerics/exception.hpp
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / boost / boost / safe_numerics / exception.hpp
index 470d9d2991f505e812c2e68f3cee0b82f182eb69..19cda01bac5365fe8ce1e094529bb764d9519c58 100644 (file)
@@ -45,6 +45,24 @@ enum class safe_numerics_error : std::uint8_t {
     uninitialized_value         // creating of uninitialized value
 };
 
+constexpr inline const char * literal_string(const safe_numerics_error & e){
+    switch(e){
+    case safe_numerics_error::success: return "success";
+    case safe_numerics_error::positive_overflow_error: return "positive_overflow_error";
+    case safe_numerics_error::negative_overflow_error: return "negative_overflow_error";
+    case safe_numerics_error::domain_error: return "domain_error";
+    case safe_numerics_error::range_error: return "range_error";
+    case safe_numerics_error::precision_overflow_error: return "precision_overflow_error";
+    case safe_numerics_error::underflow_error: return "underflow_error";
+    case safe_numerics_error::negative_value_shift: return "negative_value_shift";
+    case safe_numerics_error::negative_shift: return "negative_shift";
+    case safe_numerics_error::shift_too_large: return "shift_too_large";
+    case safe_numerics_error::uninitialized_value: return "uninitialized_value";
+    default:
+        assert(false); // should never arrive here
+    }
+}
+
 const std::uint8_t safe_numerics_casting_error_count =
     static_cast<std::uint8_t>(safe_numerics_error::domain_error) + 1;
 
@@ -80,6 +98,8 @@ public:
             return "underflow error";
         case safe_numerics_error::range_error:
             return "range error";
+        case safe_numerics_error::precision_overflow_error:
+            return "precision_overflow_error";
         case safe_numerics_error::domain_error:
             return "domain error";
         case safe_numerics_error::negative_shift: