Scope.h File Reference
#include <iostream>
#include <map>
#include <stack>
#include <string>
#include <utility>
#include <vector>
#include "Debug.h"
#include "Error.h"

Go to the source code of this file.


class  Halide::Internal::SmallStack< T >
 A stack which can store one item very efficiently. More...
class  Halide::Internal::SmallStack< void >
class  Halide::Internal::Scope< T >
 A common pattern when traversing Halide IR is that you need to keep track of stuff when you find a Let or a LetStmt, and that it should hide previous values with the same name until you leave the Let or LetStmt nodes This class helps with that. More...
class  Halide::Internal::Scope< T >::const_iterator
 Iterate through the scope. More...
struct  Halide::Internal::ScopedBinding< T >
 Helper class for pushing/popping Scope<> values, to allow for early-exit in Visitor/Mutators that preserves correctness. More...
struct  Halide::Internal::ScopedBinding< void >


 This file defines the class FunctionDAG, which is our representation of a Halide pipeline, and contains methods to using Halide's bounds tools to query properties of it.


template<typename T >
std::ostream & Halide::Internal::operator<< (std::ostream &stream, const Scope< T > &s)

Detailed Description

Defines the Scope class, which is used for keeping track of names in a scope while traversing IR

Definition in file Scope.h.