diff options
Diffstat (limited to 'tapsets.cxx')
-rw-r--r-- | tapsets.cxx | 45 |
1 files changed, 1 insertions, 44 deletions
diff --git a/tapsets.cxx b/tapsets.cxx index 3de3e5bd..9d0b7ebc 100644 --- a/tapsets.cxx +++ b/tapsets.cxx @@ -13,6 +13,7 @@ #include "tapsets.h" #include "translate.h" #include "session.h" +#include "util.h" #include <deque> #include <iostream> @@ -50,50 +51,6 @@ extern "C" { using namespace std; -// XXX: should standardize to these functions throughout translator - -template <typename OUT, typename IN> inline OUT -lex_cast(IN const & in) -{ - stringstream ss; - OUT out; - if (!(ss << in && ss >> out)) - throw runtime_error("bad lexical cast"); - return out; -} - -template <typename OUT, typename IN> inline OUT -lex_cast_hex(IN const & in) -{ - stringstream ss; - OUT out; - if (!(ss << hex << showbase << in && ss >> out)) - throw runtime_error("bad lexical cast"); - return out; -} - - -// return as quoted string, with at least '"' backslash-escaped -template <typename IN> inline string -lex_cast_qstring(IN const & in) -{ - stringstream ss; - string out, out2; - if (!(ss << in)) - throw runtime_error("bad lexical cast"); - out = ss.str(); - out2 += '"'; - for (unsigned i=0; i<out.length(); i++) - { - if (out[i] == '"') // XXX others? - out2 += '\\'; - out2 += out[i]; - } - out2 += '"'; - return out2; -} - - #if 0 static void emit_probe_timing(derived_probe* p, translator_output* o) |