aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/build/script/types-parsers.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2021-11-23 11:20:03 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2021-11-23 11:20:03 +0200
commitf5c7b962c4d3512f32df8c3bbd3370f846239b02 (patch)
tree2aff4e52f277ecac62ce1cb8bf302ffd0884666a /libbuild2/build/script/types-parsers.hxx
parentb5083221dad8084deb4a7949cb9fc487aa09e080 (diff)
WIP: completedyndep
Diffstat (limited to 'libbuild2/build/script/types-parsers.hxx')
-rw-r--r--libbuild2/build/script/types-parsers.hxx49
1 files changed, 49 insertions, 0 deletions
diff --git a/libbuild2/build/script/types-parsers.hxx b/libbuild2/build/script/types-parsers.hxx
new file mode 100644
index 0000000..a42dab7
--- /dev/null
+++ b/libbuild2/build/script/types-parsers.hxx
@@ -0,0 +1,49 @@
+// file : libbuild2/build/script/types-parsers.hxx -*- C++ -*-
+// license : MIT; see accompanying LICENSE file
+
+// CLI parsers, included into the generated source files.
+//
+
+#ifndef LIBBUILD2_BUILD_SCRIPT_TYPES_PARSERS_HXX
+#define LIBBUILD2_BUILD_SCRIPT_TYPES_PARSERS_HXX
+
+#include <libbuild2/types.hxx>
+
+namespace build2
+{
+ namespace build
+ {
+ namespace script
+ {
+ namespace cli
+ {
+ class scanner;
+
+ template <typename T>
+ struct parser;
+
+ template <>
+ struct parser<path>
+ {
+ static void
+ parse (path&, bool&, scanner&);
+
+ static void
+ merge (path& b, const path& a) {b = a;}
+ };
+
+ template <>
+ struct parser<dir_path>
+ {
+ static void
+ parse (dir_path&, bool&, scanner&);
+
+ static void
+ merge (dir_path& b, const dir_path& a) {b = a;}
+ };
+ }
+ }
+ }
+}
+
+#endif // LIBBUILD2_BUILD_SCRIPT_TYPES_PARSERS_HXX