diff options
Diffstat (limited to 'libcutl/cutl/xml/value-traits.cxx')
-rw-r--r-- | libcutl/cutl/xml/value-traits.cxx | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/libcutl/cutl/xml/value-traits.cxx b/libcutl/cutl/xml/value-traits.cxx new file mode 100644 index 0000000..7598645 --- /dev/null +++ b/libcutl/cutl/xml/value-traits.cxx @@ -0,0 +1,25 @@ +// file : cutl/xml/value-traits.cxx +// copyright : Copyright (c) 2009-2013 Code Synthesis Tools CC +// license : MIT; see accompanying LICENSE file + +#include <cutl/xml/parser.hxx> +#include <cutl/xml/serializer.hxx> + +using namespace std; + +namespace cutl +{ + namespace xml + { + bool default_value_traits<bool>:: + parse (string s, const parser& p) + { + if (s == "true" || s == "1" || s == "True" || s == "TRUE") + return true; + else if (s == "false" || s == "0" || s == "False" || s == "FALSE") + return false; + else + throw parsing (p, "invalid bool value '" + s + "'"); + } + } +} |