Beispiel #1
0
Node parseYAML(const string &filename)
{
    std::ifstream fin(filename);
    YAML::Parser parser(fin);
    YAML::Node doc;
    if(!parser.GetNextDocument(doc))
        throw BadNode(filename + ": not a YAML file!");

    return asNode(doc);
}
Beispiel #2
0
void LazyNode::dump(PrintStream& out) const
{
    if (!*this)
        out.print("LazyNode:0");
    else {
        if (isNode())
            out.print("LazyNode:@", asNode()->index());
        else
            out.print("LazyNode:FrozenValue:", Graph::opName(op()), ", ", pointerDump(asValue()));
        out.print(")");
    }
}
Beispiel #3
0
Node parseYAML(fs::DataFile &datafile, const string &filename)
{
    fs::DataStream ds(datafile, filename);
    if(ds->isError())
        throw BadNode("Unable to open configuration file: " + filename);

    YAML::Node doc;
    YAML::Parser parser(ds);
    if(!parser.GetNextDocument(doc))
        throw BadNode(filename + ": not a YAML file!");

    return asNode(doc);
}
Beispiel #4
0
std::vector<Node> parseMultiDocYAML(fs::DataFile &datafile, const string &filename)
{
    fs::DataStream ds(datafile, filename);
    if(ds->isError())
        throw BadNode("Unable to open configuration file: " + filename);

    YAML::Parser parser(ds);

    std::vector<Node> nodes;
    YAML::Node doc;
    while(parser.GetNextDocument(doc)) {
        nodes.push_back(asNode(doc));
    }

    return nodes;
}