summaryrefslogtreecommitdiff
path: root/libcult/cult/cli/options-parser.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'libcult/cult/cli/options-parser.cxx')
-rw-r--r--libcult/cult/cli/options-parser.cxx40
1 files changed, 40 insertions, 0 deletions
diff --git a/libcult/cult/cli/options-parser.cxx b/libcult/cult/cli/options-parser.cxx
new file mode 100644
index 0000000..4a2b6b3
--- /dev/null
+++ b/libcult/cult/cli/options-parser.cxx
@@ -0,0 +1,40 @@
+// file : cult/cli/options-parser.cxx
+// author : Boris Kolpackov <boris@kolpackov.net>
+// copyright : Copyright (c) 2005-2010 Boris Kolpackov
+// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+#include <cult/cli/options-parser.hxx>
+
+namespace Cult
+{
+ namespace CLI
+ {
+ Trace::Stream OptionsParserBase::tout ("Cult::CLI::OptionsParser", 7);
+
+
+ // OptionParserBooleanBase
+ //
+ Boolean OptionParserBooleanBase::
+ parse (Char const*, Scanner&)
+ {
+ return true;
+ }
+
+ // OptionParserStringBase
+ //
+ String OptionParserStringBase::
+ parse (Char const* o, Scanner& s)
+ {
+ Char const* v (s.next ());
+
+ if (v == Scanner::eos)
+ {
+ //@@ "expected string literal after --option"?
+ //
+ throw OptionFormat (o);
+ }
+
+ return v;
+ }
+ }
+}