aboutsummaryrefslogtreecommitdiff
path: root/libbutl/manifest-parser.ixx
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2019-04-18 20:15:46 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2019-04-25 19:43:36 +0300
commit276f68ee4d55befa8922378199b4281c82d4fd93 (patch)
treeaf1c1b94fddec588feefe79a86e6463094ba2d8e /libbutl/manifest-parser.ixx
parent7a1c91dbdbde1c4feeaa701592365bb4b7cf2562 (diff)
Add parse_manifest() and serialize_manifest() functions
Diffstat (limited to 'libbutl/manifest-parser.ixx')
-rw-r--r--libbutl/manifest-parser.ixx17
1 files changed, 17 insertions, 0 deletions
diff --git a/libbutl/manifest-parser.ixx b/libbutl/manifest-parser.ixx
index 4ffe3c5..1dbdcd5 100644
--- a/libbutl/manifest-parser.ixx
+++ b/libbutl/manifest-parser.ixx
@@ -11,4 +11,21 @@ namespace butl
do { parse_next (r); } while (filter_ && !filter_ (r));
return r;
}
+
+ inline optional<std::vector<manifest_name_value>>
+ try_parse_manifest (manifest_parser& p)
+ {
+ std::vector<manifest_name_value> r;
+ return try_parse_manifest (p, r)
+ ? optional<std::vector<manifest_name_value>> (move (r))
+ : nullopt;
+ }
+
+ inline std::vector<manifest_name_value>
+ parse_manifest (manifest_parser& p)
+ {
+ std::vector<manifest_name_value> r;
+ parse_manifest (p, r);
+ return r;
+ }
}