Fabrique

A build language for complex systems

 All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros Pages
fabrique::dag Namespace Reference

Representations of nodes (files, build rules, etc.) in the build graph. More...

Classes

class  Boolean
 A boolean (true/false) value. More...
 
class  Build
 An application of a fabrique::dag::Rule to transform File objects. More...
 
class  Callable
 A mixin type for something that can be called with parameters. More...
 
class  DAG
 A directed acyclic graph of build actions. More...
 
class  DAGBuilder
 A object that builds DAG nodes in a DAGBuilder::Context. More...
 
class  File
 A reference to a file on disk (source or target). More...
 
class  Formatter
 An object that converts DAG nodes into strings. More...
 
class  Function
 A reference to a user- or plugin-defined function. More...
 
class  Integer
 An integer (of unspecified precision). More...
 
class  List
 The result of evaluating an expression. More...
 
class  Parameter
 The result of evaluating an expression. More...
 
class  Primitive
 The result of evaluating an expression. More...
 
class  Rule
 An action that transforms files into other files. More...
 
class  String
 An ASCII string (for now, we should make this Unicode soon). More...
 
class  Structure
 A reference to a file on disk (source or target). More...
 
class  Target
 A named build target that references a set of files. More...
 
class  UndefinedValueException
 An unexpected duplicate was encountered. More...
 
class  Value
 The result of evaluating an expression. More...
 
class  Visitor
 Interfact for objects that visit DAG nodes and add functionality. More...
 

Typedefs

typedef std::shared_ptr< ValueValuePtr
 
typedef StringMap< ValuePtr > ValueMap
 

Detailed Description

Representations of nodes (files, build rules, etc.) in the build graph.