IDA C++ SDK 9.2
Loading...
Searching...
No Matches
simple_graph_t Class Reference

#include <hexrays.hpp>

Inheritance diagram for simple_graph_t:
gdl_graph_t mbl_graph_t

Classes

class  iterator

Public Types

typedef iterator const_iterator

Public Member Functions

 HEXRAYS_MEMORY_ALLOCATION_FUNCS () virtual bool ignore_edge(int
void hexapi compute_dominators (array_of_node_bitset_t &domin, bool post=false) const
void hexapi compute_immediate_dominators (const array_of_node_bitset_t &domin, intvec_t &idomin, bool post=false) const
int hexapi depth_first_preorder (node_ordering_t *pre) const
int hexapi depth_first_postorder (node_ordering_t *post) const
void depth_first_postorder (node_ordering_t *post, edge_mapper_t *et) const
void depth_first_postorder_for_all_entries (node_ordering_t *post) const
intvec_t find_dead_nodes () const
void find_reaching_nodes (int n, node_bitset_t &reaching) const
bool path_exists (int m, int n) const
bool path_back (const array_of_node_bitset_t &domin, int m, int n) const
bool path_back (const edge_mapper_t &et, int m, int n) const
iterator begin () const
iterator end () const
int front () const
void inc (iterator &p, int n=1) const
virtual int hexapi goup (int node) const newapi
Public Member Functions inherited from gdl_graph_t
 DEFINE_MEMORY_ALLOCATION_FUNCS () virtual ~gdl_graph_t()
virtual char *idaapi get_node_label (char *iobuf, int iobufsize, int n) const
virtual void idaapi print_graph_attributes (FILE *fp) const
virtual bool idaapi print_node (FILE *fp, int n) const
virtual bool idaapi print_edge (FILE *fp, int i, int j) const
virtual void idaapi print_node_attributes (FILE *fp, int n) const
virtual int idaapi size (void) const =0
virtual int idaapi node_qty (void) const
virtual bool idaapi exists (int node) const
virtual int idaapi entry (void) const
virtual int idaapi exit (void) const
virtual int idaapi nsucc (int node) const =0
virtual int idaapi npred (int node) const =0
virtual int idaapi succ (int node, int i) const =0
virtual int idaapi pred (int node, int i) const =0
virtual bool idaapi empty (void) const
virtual bgcolor_t idaapi get_node_color (int n) const
virtual bgcolor_t idaapi get_edge_color (int i, int j) const
void idaapi gen_gdl (FILE *fp) const
void idaapi gen_gdl (const char *file) const
size_t idaapi nedge (int node, bool ispred) const
int idaapi edge (int node, int i, bool ispred) const
int idaapi front (void)
node_iterator idaapi begin (void) const
node_iterator idaapi end (void) const
bool idaapi path_exists (int m, int n) const
void idaapi gen_dot (FILE *fp) const
void idaapi gen_dot (const char *file) const

Public Attributes

qstring title
bool colored_gdl_edges = false
int const newapi { return false

Protected Member Functions

void calc_outgoing_edges (const intvec_t &sub, edgevec_t &el) const
void compute_dominator_info (struct dominator_info_t &di)
bool is_connected_without (const edge_t &forbidden_edge, const intvec_t &dead_nodes) const

Member Typedef Documentation

◆ const_iterator

Member Function Documentation

◆ calc_outgoing_edges()

void simple_graph_t::calc_outgoing_edges ( const intvec_t & sub,
edgevec_t & el ) const
protected

◆ compute_dominator_info()

void simple_graph_t::compute_dominator_info ( struct dominator_info_t & di)
protected

◆ is_connected_without()

bool simple_graph_t::is_connected_without ( const edge_t & forbidden_edge,
const intvec_t & dead_nodes ) const
protected

◆ HEXRAYS_MEMORY_ALLOCATION_FUNCS()

simple_graph_t::HEXRAYS_MEMORY_ALLOCATION_FUNCS ( )

◆ compute_dominators()

void simple_graph_t::compute_dominators ( array_of_node_bitset_t & domin,
bool post = false ) const
inline

◆ compute_immediate_dominators()

void simple_graph_t::compute_immediate_dominators ( const array_of_node_bitset_t & domin,
intvec_t & idomin,
bool post = false ) const
inline

◆ depth_first_preorder()

int simple_graph_t::depth_first_preorder ( node_ordering_t * pre) const
inline

◆ depth_first_postorder() [1/2]

int simple_graph_t::depth_first_postorder ( node_ordering_t * post) const
inline

◆ depth_first_postorder() [2/2]

void simple_graph_t::depth_first_postorder ( node_ordering_t * post,
edge_mapper_t * et ) const

◆ depth_first_postorder_for_all_entries()

void simple_graph_t::depth_first_postorder_for_all_entries ( node_ordering_t * post) const

◆ find_dead_nodes()

intvec_t simple_graph_t::find_dead_nodes ( ) const

◆ find_reaching_nodes()

void simple_graph_t::find_reaching_nodes ( int n,
node_bitset_t & reaching ) const

◆ path_exists()

bool simple_graph_t::path_exists ( int m,
int n ) const

◆ path_back() [1/2]

bool simple_graph_t::path_back ( const array_of_node_bitset_t & domin,
int m,
int n ) const

◆ path_back() [2/2]

bool simple_graph_t::path_back ( const edge_mapper_t & et,
int m,
int n ) const

◆ begin()

iterator simple_graph_t::begin ( void ) const
inline

◆ end()

iterator simple_graph_t::end ( void ) const
inline

◆ front()

int simple_graph_t::front ( void ) const
inline

◆ inc()

void simple_graph_t::inc ( iterator & p,
int n = 1 ) const
inline

◆ goup()

int simple_graph_t::goup ( int node) const
inlinevirtual

Member Data Documentation

◆ title

qstring simple_graph_t::title

◆ colored_gdl_edges

bool simple_graph_t::colored_gdl_edges = false

◆ newapi

int const simple_graph_t::newapi { return false

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