Device interface library for multiple platforms including Mbed.

Dependents:   DeepCover Embedded Security in IoT MaximInterface MAXREFDES155#

Maxim Interface is a library framework focused on providing flexible and expressive hardware interfaces. Both communication interfaces such as I2C and 1-Wire and device interfaces such as DS18B20 are supported. Modern C++ concepts are used extensively while keeping compatibility with C++98/C++03 and requiring no external dependencies. The embedded-friendly design does not depend on exceptions or RTTI.

The full version of the project is hosted on GitLab: https://gitlab.com/iabenz/MaximInterface

Revision:
11:3f3bf6bf5e6c
Parent:
8:5ea891c7d1a1
--- a/MaximInterfaceCore/system_error.cpp	Mon Sep 30 09:39:32 2019 -0500
+++ b/MaximInterfaceCore/system_error.cpp	Tue Dec 03 10:52:28 2019 -0600
@@ -62,13 +62,12 @@
   return instance;
 }
 
-static string formatWhat(const error_code & ec) {
-  return string(ec.category().name()) + ' ' + ec.message();
-}
-
-template <typename T>
-static string formatWhat(const error_code & ec, const T & what_arg) {
-  return string(what_arg) + ": " + formatWhat(ec);
+static string formatWhat(const error_code & ec, string what_arg = string()) {
+  if (!what_arg.empty()) {
+    what_arg += ": ";
+  }
+  what_arg += ec.message();
+  return what_arg;
 }
 
 system_error::system_error(const error_code & ec)