From a15cf65c44d5c224169c32ef5495b68c758134b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sun, 18 May 2014 16:08:14 +0200 Subject: Imported Upstream version 3.3.0.2 --- libcult/cult/cli/options-parser.txx | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 libcult/cult/cli/options-parser.txx (limited to 'libcult/cult/cli/options-parser.txx') diff --git a/libcult/cult/cli/options-parser.txx b/libcult/cult/cli/options-parser.txx new file mode 100644 index 0000000..bd8172a --- /dev/null +++ b/libcult/cult/cli/options-parser.txx @@ -0,0 +1,34 @@ +// file : cult/cli/options-parser.txx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2010 Boris Kolpackov +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +namespace Cult +{ + namespace CLI + { + // OptionParserBase + // + template + T OptionParserBase:: + parse (Char const* o, Scanner& s) + { + Char const* v (s.next ()); + + //@@ "expected something after --option"? + // + if (v == Scanner::eos) + throw OptionFormat (o); + + T r; + std::istringstream is (v); + is >> r; + + if (is.fail () || !is.eof ()) + throw OptionFormat (o); + + return r; + } + } +} + -- cgit v1.2.3