Fabrique

A build language for complex systems

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

A reference to a file on disk (source or target). More...

#include <File.h>

Inheritance diagram for fabrique::dag::File:
fabrique::dag::Value fabrique::HasSource fabrique::Printable fabrique::Typed fabrique::Uncopyable

Public Member Functions

virtual std::string filename () const
 
virtual std::string relativeName () const
 
virtual std::string fullName () const
 
bool absolute () const
 This file refers to an absolute path.
 
bool generated () const
 
void setGenerated (bool)
 
std::string directory (bool relativeBuildDirectories=true) const
 Absolute path to the directory this file is in.
 
std::string subdirectory () const
 
void appendSubdirectory (std::string subdir)
 
virtual bool hasFields () const override
 
virtual ValuePtr field (const std::string &name) const override
 
virtual ValuePtr Add (ValuePtr &) const override
 Name a file with my name + a suffix.
 
virtual ValuePtr PrefixWith (ValuePtr &) const override
 Name a file with a prefix + my name.
 
const FileTypetype () const override
 Our type is always a FileType.
 
virtual void PrettyPrint (Bytestream &, size_t indent=0) const override
 Print a human-readable representation to an output stream and return that output stream.
 
void Accept (Visitor &) const override
 
- Public Member Functions inherited from fabrique::dag::Value
virtual ValuePtr Negate (const SourceRange &loc) const
 Unary 'not' operator.
 
virtual ValuePtr ScalarAdd (ValuePtr &) const
 Add another fabrique::dag::Value scalar-wise across this Value.
 
virtual ValuePtr And (ValuePtr &) const
 Logical and. More...
 
virtual ValuePtr Or (ValuePtr &) const
 Logical or. More...
 
virtual ValuePtr Xor (ValuePtr &) const
 Logical xor. More...
 
virtual ValuePtr Equals (ValuePtr &) const
 Equivalence. More...
 
virtual const ListasList () const
 A list representation of this value (or nullptr).
 
virtual bool canScalarAdd (const Value &) const
 This Value can add a value to itself in a scalar fashion. More...
 
- Public Member Functions inherited from fabrique::HasSource
 HasSource (const SourceRange &src)
 
const SourceRangesource () const
 
- Public Member Functions inherited from fabrique::Printable
 Printable (const Printable &)
 
Printableoperator= (const Printable &)
 
virtual std::string str () const
 
- Public Member Functions inherited from fabrique::Typed
 Typed (const Type &t)
 

Static Public Member Functions

static FileCreate (std::string fullPath, ValueMap attributes, const FileType &, SourceRange)
 
static FileCreate (std::string directory, std::string filename, ValueMap attributes, const FileType &, SourceRange)
 
static bool Equals (const std::shared_ptr< File > &, const std::shared_ptr< File > &)
 
static bool LessThan (const std::shared_ptr< File > &, const std::shared_ptr< File > &)
 

Additional Inherited Members

- Protected Member Functions inherited from fabrique::dag::Value
 Value (const Type &, const SourceRange &)
 

Detailed Description

A reference to a file on disk (source or target).

Definition at line 47 of file File.h.


The documentation for this class was generated from the following files: