diff options
Diffstat (limited to 'openssl/types.cxx')
-rw-r--r-- | openssl/types.cxx | 29 |
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 + "'"); + } +} |