ROSE  0.9.6a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
VirtualCFG::MakeClosure< FindSuccessors, FindEnd, DontAddChildren, Join, FilteredEdge > Struct Template Reference

#include <filteredCFGImpl.h>

Public Member Functions

 MakeClosure (const FindSuccessors &findSuccessors, const FindEnd &findEnd, const DontAddChildren &dontAddChildren, const Join &join)
 
void go (const CFGPath &p)
 Process one CFGPath at a time: make sure the end edge is an interesting one (should not be filtered out) More...
 
std::vector< FilteredEdge > filter () const
 Process visited CFGPaths: convert them into edges. More...
 

Public Attributes

std::set< CFGNodevisitedNodes
 
std::vector< CFGPathvisitedPaths
 
const FindSuccessors & findSuccessors
 
const FindEnd & findEnd
 
const DontAddChildren & dontAddChildren
 
const Join & join
 

Detailed Description

template<typename FindSuccessors, typename FindEnd, typename DontAddChildren, typename Join, typename FilteredEdge>
struct VirtualCFG::MakeClosure< FindSuccessors, FindEnd, DontAddChildren, Join, FilteredEdge >

Definition at line 29 of file filteredCFGImpl.h.

Constructor & Destructor Documentation

template<typename FindSuccessors, typename FindEnd, typename DontAddChildren, typename Join, typename FilteredEdge>
VirtualCFG::MakeClosure< FindSuccessors, FindEnd, DontAddChildren, Join, FilteredEdge >::MakeClosure ( const FindSuccessors &  findSuccessors,
const FindEnd &  findEnd,
const DontAddChildren &  dontAddChildren,
const Join &  join 
)
inline

Definition at line 38 of file filteredCFGImpl.h.

Member Function Documentation

template<typename FindSuccessors, typename FindEnd, typename DontAddChildren, typename Join, typename FilteredEdge>
std::vector< FilteredEdge > VirtualCFG::MakeClosure< FindSuccessors, FindEnd, DontAddChildren, Join, FilteredEdge >::filter ( ) const
inline

Member Data Documentation

template<typename FindSuccessors, typename FindEnd, typename DontAddChildren, typename Join, typename FilteredEdge>
std::set< CFGNode > VirtualCFG::MakeClosure< FindSuccessors, FindEnd, DontAddChildren, Join, FilteredEdge >::visitedNodes
template<typename FindSuccessors, typename FindEnd, typename DontAddChildren, typename Join, typename FilteredEdge>
std::vector< CFGPath > VirtualCFG::MakeClosure< FindSuccessors, FindEnd, DontAddChildren, Join, FilteredEdge >::visitedPaths
template<typename FindSuccessors, typename FindEnd, typename DontAddChildren, typename Join, typename FilteredEdge>
const FindSuccessors& VirtualCFG::MakeClosure< FindSuccessors, FindEnd, DontAddChildren, Join, FilteredEdge >::findSuccessors
template<typename FindSuccessors, typename FindEnd, typename DontAddChildren, typename Join, typename FilteredEdge>
const FindEnd& VirtualCFG::MakeClosure< FindSuccessors, FindEnd, DontAddChildren, Join, FilteredEdge >::findEnd
template<typename FindSuccessors, typename FindEnd, typename DontAddChildren, typename Join, typename FilteredEdge>
const DontAddChildren& VirtualCFG::MakeClosure< FindSuccessors, FindEnd, DontAddChildren, Join, FilteredEdge >::dontAddChildren
template<typename FindSuccessors, typename FindEnd, typename DontAddChildren, typename Join, typename FilteredEdge>
const Join& VirtualCFG::MakeClosure< FindSuccessors, FindEnd, DontAddChildren, Join, FilteredEdge >::join

The documentation for this struct was generated from the following file: