std::shared_ptr<Parser> Parser::fromString(std::string const& src, std::string const& filename, int line) { ParserImpl* impl = new ParserImpl(); impl->fromString(src, filename, line); std::shared_ptr<Parser> parser(new Parser(impl)); return parser; }