|
| diagnostic_graph (diagnostic_manager &) |
diagnostic_node * | add_node_with_id (std::string node_id, diagnostic_node *parent_node) |
diagnostic_edge * | add_edge_with_label (const char *edge_id, diagnostic_node &src_node, diagnostic_node &dst_node, const char *label) |
const char * | get_description () const |
void | set_description (const char *desc) |
void | set_description (std::string desc) |
node * | get_node_by_id (const char *id) const |
edge * | get_edge_by_id (const char *id) const |
size_t | get_num_nodes () const |
node & | get_node (size_t idx) const |
size_t | get_num_edges () const |
edge & | get_edge (size_t idx) const |
void | dump () const |
std::unique_ptr< json::object > | make_json_sarif_graph () const |
std::unique_ptr< dot::graph > | make_dot_graph () const |
void | add_node (std::unique_ptr< node > n) |
void | add_edge (std::unique_ptr< edge > e) |
void | add_edge (const char *id, node &src_node, node &dst_node, const char *label=nullptr) |
std::unique_ptr< digraph > | clone () const |
const char * | get_attr (const char *key_prefix, const char *key) const |
void | set_attr (const char *key_prefix, const char *key, const char *value) |
void | set_json_attr (const char *key_prefix, const char *key, std::unique_ptr< json::value > value) |
json::object * | get_property_bag () const |
void | set_property_bag (std::unique_ptr< json::object > property_bag) |
◆ diagnostic_graph()
◆ add_edge() [1/2]
void digraph< GraphTraits >::add_edge |
( |
const char * | id, |
|
|
node & | src_node, |
|
|
node & | dst_node, |
|
|
const char * | label = nullptr ) |
|
inherited |
◆ add_edge() [2/2]
void diagnostics::digraphs::digraph::add_edge |
( |
std::unique_ptr< edge > | e | ) |
|
|
inlineinherited |
◆ add_edge_id()
void diagnostics::digraphs::digraph::add_edge_id |
( |
std::string | edge_id, |
|
|
edge & | new_edge ) |
|
inlineprivateinherited |
◆ add_edge_with_label()
◆ add_node()
void diagnostics::digraphs::digraph::add_node |
( |
std::unique_ptr< node > | n | ) |
|
|
inlineinherited |
◆ add_node_id()
void diagnostics::digraphs::digraph::add_node_id |
( |
std::string | node_id, |
|
|
node & | new_node ) |
|
inlineprivateinherited |
◆ add_node_with_id()
◆ clone()
◆ dump()
◆ get_attr()
const char * diagnostics::digraphs::object::get_attr |
( |
const char * | key_prefix, |
|
|
const char * | key ) const |
|
inherited |
◆ get_description()
const char * diagnostics::digraphs::digraph::get_description |
( |
| ) |
const |
|
inlineinherited |
◆ get_edge()
edge & diagnostics::digraphs::digraph::get_edge |
( |
size_t | idx | ) |
const |
|
inlineinherited |
◆ get_edge_by_id()
edge * diagnostics::digraphs::digraph::get_edge_by_id |
( |
const char * | id | ) |
const |
|
inlineinherited |
◆ get_node()
node & diagnostics::digraphs::digraph::get_node |
( |
size_t | idx | ) |
const |
|
inlineinherited |
◆ get_node_by_id()
node * diagnostics::digraphs::digraph::get_node_by_id |
( |
const char * | id | ) |
const |
|
inlineinherited |
◆ get_num_edges()
size_t diagnostics::digraphs::digraph::get_num_edges |
( |
| ) |
const |
|
inlineinherited |
◆ get_num_nodes()
size_t diagnostics::digraphs::digraph::get_num_nodes |
( |
| ) |
const |
|
inlineinherited |
◆ get_property_bag()
json::object * diagnostics::digraphs::object::get_property_bag |
( |
| ) |
const |
|
inlineinherited |
◆ make_dot_graph()
◆ make_edge_id()
std::string digraph< GraphTraits >::make_edge_id |
( |
const char * | edge_id | ) |
|
|
privateinherited |
Utility function for edge ids: either use EDGE_ID, or
generate a unique one for when we don't care about the name.
Edges in SARIF "SHALL" have an id that's unique within the graph
(SARIF 2.1.0 §3.41.2). This is so that graph traversals can refer
to edges by id (SARIF 2.1.0's §3.43.2 edgeId property).
References candidate(), m_id_to_edge_map, and m_next_edge_id_index.
◆ make_json_sarif_graph()
◆ set_attr()
void diagnostics::digraphs::object::set_attr |
( |
const char * | key_prefix, |
|
|
const char * | key, |
|
|
const char * | value ) |
|
inherited |
◆ set_description() [1/2]
void diagnostics::digraphs::digraph::set_description |
( |
const char * | desc | ) |
|
|
inlineinherited |
◆ set_description() [2/2]
void diagnostics::digraphs::digraph::set_description |
( |
std::string | desc | ) |
|
|
inlineinherited |
◆ set_json_attr()
void diagnostics::digraphs::object::set_json_attr |
( |
const char * | key_prefix, |
|
|
const char * | key, |
|
|
std::unique_ptr< json::value > | value ) |
|
inherited |
◆ set_property_bag()
void diagnostics::digraphs::object::set_property_bag |
( |
std::unique_ptr< json::object > | property_bag | ) |
|
|
inlineinherited |
◆ m_description
std::unique_ptr<std::string> diagnostics::digraphs::digraph::m_description |
|
privateinherited |
◆ m_edges
std::vector<std::unique_ptr<edge> > diagnostics::digraphs::digraph::m_edges |
|
privateinherited |
◆ m_id_to_edge_map
std::map<std::string, edge *> diagnostics::digraphs::digraph::m_id_to_edge_map |
|
privateinherited |
◆ m_id_to_node_map
std::map<std::string, node *> diagnostics::digraphs::digraph::m_id_to_node_map |
|
privateinherited |
◆ m_next_edge_id_index
size_t diagnostics::digraphs::digraph::m_next_edge_id_index |
|
privateinherited |
◆ m_nodes
std::vector<std::unique_ptr<node> > diagnostics::digraphs::digraph::m_nodes |
|
privateinherited |
◆ m_property_bag
std::unique_ptr<json::object> diagnostics::digraphs::object::m_property_bag |
|
privateinherited |
The documentation for this struct was generated from the following file: