A object that builds DAG nodes in a DAGBuilder::Context. More...
#include <DAGBuilder.h>
Classes | |
| class | Context |
| An object that can supply a DAGBuilder with names and types. More... | |
Public Member Functions | |
| DAGBuilder (Context &) | |
| UniqPtr< DAG > | dag (const std::vector< std::string > &topLevelTargets) const |
| Construct a DAG from the current DAGBuilder state. | |
| TypeContext & | typeContext () |
| void | Define (std::string name, ValuePtr) |
| Define a variable with a name and a value. | |
| ValuePtr | AddRegeneration (const Arguments &commandLineArguments, const std::vector< std::string > &inputFiles, const std::vector< std::string > &outputFiles) |
| Add the build steps required to regenerate the DAG if Fabrique input files change. | |
| ValuePtr | Bool (bool, SourceRange) |
| Create a dag::Boolean. | |
| std::shared_ptr< class Build > | Build (std::shared_ptr< class Rule >, ValueMap, SourceRange) |
| Construct a dag::Build from a dag::Rule and parameters. | |
| ValuePtr | File (std::string fullPath, const ValueMap &attributes, const FileType &, const SourceRange &src=SourceRange::None()) |
| Create a dag::File from a path. | |
| ValuePtr | File (std::string subdir, std::string filename, const ValueMap &attributes, const FileType &, const SourceRange &src=SourceRange::None()) |
| Create a dag::File from a subdirectory and a filename. | |
| ValuePtr | Function (const Function::Evaluator, ValueMap scope, const SharedPtrVec< Parameter > &, const FunctionType &, SourceRange=SourceRange::None()) |
| Define a dag::Function. | |
| ValuePtr | Integer (int, SourceRange) |
| Create a dag::Integer. | |
| ValuePtr | Rule (std::string command, const ValueMap &arguments, const SharedPtrVec< Parameter > ¶meters, const Type &, const SourceRange &from=SourceRange::None()) |
| Create a dag::Rule in the current scope. | |
| ValuePtr | String (const std::string &, SourceRange=SourceRange::None()) |
| Create a dag::String. | |
| ValuePtr | Struct (const std::vector< Structure::NamedValue > &, const Type &, SourceRange) |
| Create a dag::Structure. | |
| ValuePtr | Target (const std::shared_ptr< class Build > &) |
| Create a dag::Target using the current value name. | |
| ValuePtr | Target (const std::shared_ptr< class File > &) |
| ValuePtr | Target (const std::shared_ptr< class List > &) |
Protected Member Functions | |
| ValuePtr | Rule (std::string name, std::string command, const ValueMap &arguments, const SharedPtrVec< Parameter > ¶meters, const Type &, const SourceRange &from=SourceRange::None()) |
Protected Attributes | |
| Context & | ctx_ |
| SharedPtrVec< class File > | files_ |
| SharedPtrVec< class Build > | builds_ |
| SharedPtrMap< class Rule > | rules_ |
| SharedPtrMap< class Value > | variables_ |
| SharedPtrMap< class Target > | targets_ |
A object that builds DAG nodes in a DAGBuilder::Context.
Definition at line 60 of file DAGBuilder.h.