Fabrique

A build language for complex systems

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

A range of characters in source code. More...

#include <SourceLocation.h>

Inheritance diagram for fabrique::SourceRange:
fabrique::Printable

Public Member Functions

 SourceRange (const SourceLocation &begin, const SourceLocation &end)
 
 SourceRange (const SourceRange &begin, const SourceRange &end)
 
 SourceRange (const HasSource &begin, const HasSource &end)
 
 operator bool () const
 
bool operator< (const SourceRange &) const
 
bool operator> (const SourceRange &) const
 
bool operator== (const SourceRange &) const
 
bool operator!= (const SourceRange &) const
 
bool isInside (const SourceRange &) const
 
virtual void PrettyPrint (Bytestream &, size_t indent=0) const override
 Print a human-readable representation to an output stream and return that output stream.
 
- Public Member Functions inherited from fabrique::Printable
 Printable (const Printable &)
 
Printableoperator= (const Printable &)
 
virtual std::string str () const
 

Static Public Member Functions

static const SourceRangeNone ()
 
static SourceRange Span (const std::string &filename, size_t line, size_t begincol, size_t endcol)
 Construct a short (within a single line) range.
 
template<class T1 , class T2 >
static SourceRange Over (const T1 &x, const T2 &y)
 Create a range that spans two fabrique::HasSource objects.
 

Public Attributes

SourceLocation begin
 
SourceLocation end
 

Detailed Description

A range of characters in source code.

Definition at line 77 of file SourceLocation.h.


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