V-Gears 0
Free Final Fantasy VII engine.
ControlFlow.cpp File Reference
#include <algorithm>
#include <iostream>
#include <set>
#include <boost/format.hpp>
#include "decompiler/ControlFlow.h"
#include "decompiler/Stack.h"
Include dependency graph for ControlFlow.cpp:

Macros

#define PUT(vertex, group)   boost::put(boost::vertex_name, graph_, vertex, group);
 Adds a vertex to a group. More...
 
#define PUT_EDGE(edge, is_jump)   boost::put(boost::edge_attribute, graph_, edge, is_jump);
 Adds an edge to the graph. More...
 
#define PUT_ID(vertex, id)   boost::put(boost::vertex_index, graph_, vertex, id);
 Adds a vertex to the graph. More...
 
#define GET(vertex)   (boost::get(boost::vertex_name, graph_, vertex))
 Retrieves a vertex. More...
 
#define GET_EDGE(edge)   (boost::get(boost::edge_attribute, graph_, edge))
 Retrieves an edge. More...
 

Typedefs

typedef std::pair< GraphVertex, int > LevelEntry
 

Macro Definition Documentation

◆ GET

#define GET (   vertex)    (boost::get(boost::vertex_name, graph_, vertex))

Retrieves a vertex.

Parameters
[in]vertexThe vertex.
Returns
The retrieved vertex.

◆ GET_EDGE

#define GET_EDGE (   edge)    (boost::get(boost::edge_attribute, graph_, edge))

Retrieves an edge.

Parameters
[in]edgeThe edge.
Returns
The retrieved edge.

◆ PUT

#define PUT (   vertex,
  group 
)    boost::put(boost::vertex_name, graph_, vertex, group);

Adds a vertex to a group.

Parameters
[in]vertexVertex to add.
[in]groupGroup to add the vertex to.

◆ PUT_EDGE

#define PUT_EDGE (   edge,
  is_jump 
)    boost::put(boost::edge_attribute, graph_, edge, is_jump);

Adds an edge to the graph.

Parameters
[in]edgeThe edge to add.
[in]is_jumpIndicates if the edge is a jump.

◆ PUT_ID

#define PUT_ID (   vertex,
  id 
)    boost::put(boost::vertex_index, graph_, vertex, id);

Adds a vertex to the graph.

Parameters
[in]vertexThe vertex to add.
[in]idThe vertext index.

Typedef Documentation

◆ LevelEntry

typedef std::pair<GraphVertex, int> LevelEntry