diff options
Diffstat (limited to 'xsd/options-parser.hxx')
-rw-r--r-- | xsd/options-parser.hxx | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/xsd/options-parser.hxx b/xsd/options-parser.hxx new file mode 100644 index 0000000..afcdf80 --- /dev/null +++ b/xsd/options-parser.hxx @@ -0,0 +1,29 @@ +// file : xsd/options-parser.hxx +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_OPTIONS_PARSER_HXX +#define XSD_OPTIONS_PARSER_HXX + +#include <xsd/types.hxx> +#include <xsd/options.hxx> + +namespace cli +{ + template <> + struct parser<NarrowString> + { + static void + parse (NarrowString& x, bool& xs, scanner& s) + { + xs = true; + const char* o (s.next ()); + + if (s.more ()) + x = s.next (); + else + throw missing_value (o); + } + }; +} + +#endif // XSD_OPTIONS_PARSER_HXX |