aboutsummaryrefslogtreecommitdiff
path: root/openssl/types.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'openssl/types.cxx')
-rw-r--r--openssl/types.cxx29
1 files changed, 29 insertions, 0 deletions
diff --git a/openssl/types.cxx b/openssl/types.cxx
new file mode 100644
index 0000000..6acde44
--- /dev/null
+++ b/openssl/types.cxx
@@ -0,0 +1,29 @@
+// file : openssl/types.cxx -*- C++ -*-
+// copyright : Copyright (c) 2014-2018 Code Synthesis Ltd
+// license : MIT; see accompanying LICENSE file
+
+#include <openssl/types.hxx>
+
+namespace openssl
+{
+ string
+ to_string (simulate_outcome s)
+ {
+ switch (s)
+ {
+ case simulate_outcome::success: return "success";
+ case simulate_outcome::failure: return "failure";
+ }
+
+ assert (false);
+ return string ();
+ }
+
+ simulate_outcome
+ to_simulate_outcome (const string& s)
+ {
+ if (s == "success") return simulate_outcome::success;
+ else if (s == "failure") return simulate_outcome::failure;
+ else throw invalid_argument ("invalid simulate outcome '" + s + "'");
+ }
+}