// file : libbutl/manifest-parser.ixx -*- C++ -*- // copyright : Copyright (c) 2014-2019 Code Synthesis Ltd // license : MIT; see accompanying LICENSE file namespace butl { inline manifest_name_value manifest_parser:: next () { manifest_name_value r; do { parse_next (r); } while (filter_ && !filter_ (r)); return r; } inline optional> try_parse_manifest (manifest_parser& p) { std::vector r; return try_parse_manifest (p, r) ? optional> (move (r)) : nullopt; } inline std::vector parse_manifest (manifest_parser& p) { std::vector r; parse_manifest (p, r); return r; } }