Static Value-Flow Analysis
Loading...
Searching...
No Matches
SVF::GenericGraphTraits< const SlicedPAGView * > Struct Reference

#include <SlicedGraphs.h>

Public Types

using NodeRef = SlicedPAGNodeRef
using EdgeRef = SlicedPAGEdgeRef
using nodes_iterator = SlicedPAGNodeIter
using ChildIteratorType = SlicedPAGChildIterImpl<true>
using ChildEdgeIteratorType = SlicedPAGEdgeIterImpl<true>

Static Public Member Functions

static const SVFVar * getRawNode (NodeRef n)
static NodeRef getEntryNode (const SlicedPAGView *)
static nodes_iterator nodes_begin (const SlicedPAGView *v)
static nodes_iterator nodes_end (const SlicedPAGView *v)
static ChildIteratorType child_begin (NodeRef n)
static ChildIteratorType child_end (NodeRef n)
static ChildIteratorType direct_child_begin (NodeRef n)
static ChildIteratorType direct_child_end (NodeRef n)
static ChildEdgeIteratorType child_edge_begin (NodeRef n)
static ChildEdgeIteratorType child_edge_end (NodeRef n)
static NodeRef edge_dest (const EdgeRef &e)
static unsigned graphSize (const SlicedPAGView *v)
static unsigned getNodeID (NodeRef n)
static NodeRef getNode (const SlicedPAGView *v, NodeID id)

Detailed Description

Definition at line 1590 of file SlicedGraphs.h.

Member Typedef Documentation

◆ ChildEdgeIteratorType

using SVF::GenericGraphTraits< const SlicedPAGView * >::ChildEdgeIteratorType = SlicedPAGEdgeIterImpl<true>

Definition at line 1596 of file SlicedGraphs.h.

◆ ChildIteratorType

using SVF::GenericGraphTraits< const SlicedPAGView * >::ChildIteratorType = SlicedPAGChildIterImpl<true>

Definition at line 1595 of file SlicedGraphs.h.

◆ EdgeRef

Definition at line 1593 of file SlicedGraphs.h.

◆ NodeRef

Definition at line 1592 of file SlicedGraphs.h.

◆ nodes_iterator

using SVF::GenericGraphTraits< const SlicedPAGView * >::nodes_iterator = SlicedPAGNodeIter

Definition at line 1594 of file SlicedGraphs.h.

Member Function Documentation

◆ child_begin()

ChildIteratorType SVF::GenericGraphTraits< const SlicedPAGView * >::child_begin ( NodeRef n)
inlinestatic

Definition at line 1617 of file SlicedGraphs.h.

1618 {
1620 }
static SlicedPAGEdgeIterImpl begin(const SlicedPAGView *v, const SVFVar *n)
SlicedPAGChildIterImpl< true > ChildIteratorType

◆ child_edge_begin()

ChildEdgeIteratorType SVF::GenericGraphTraits< const SlicedPAGView * >::child_edge_begin ( NodeRef n)
inlinestatic

Definition at line 1634 of file SlicedGraphs.h.

1635 {
1636 return ChildEdgeIteratorType::begin(n.view, n.raw);
1637 }

◆ child_edge_end()

ChildEdgeIteratorType SVF::GenericGraphTraits< const SlicedPAGView * >::child_edge_end ( NodeRef n)
inlinestatic

Definition at line 1638 of file SlicedGraphs.h.

1639 {
1640 return ChildEdgeIteratorType::end(n.view, n.raw);
1641 }
static SlicedPAGEdgeIterImpl end(const SlicedPAGView *v, const SVFVar *n)

◆ child_end()

ChildIteratorType SVF::GenericGraphTraits< const SlicedPAGView * >::child_end ( NodeRef n)
inlinestatic

Definition at line 1621 of file SlicedGraphs.h.

1622 {
1624 }

◆ direct_child_begin()

ChildIteratorType SVF::GenericGraphTraits< const SlicedPAGView * >::direct_child_begin ( NodeRef n)
inlinestatic

Definition at line 1625 of file SlicedGraphs.h.

1626 {
1627 return child_begin(n);
1628 }
static ChildIteratorType child_begin(NodeRef n)

◆ direct_child_end()

ChildIteratorType SVF::GenericGraphTraits< const SlicedPAGView * >::direct_child_end ( NodeRef n)
inlinestatic

Definition at line 1629 of file SlicedGraphs.h.

1630 {
1631 return child_end(n);
1632 }
static ChildIteratorType child_end(NodeRef n)

◆ edge_dest()

NodeRef SVF::GenericGraphTraits< const SlicedPAGView * >::edge_dest ( const EdgeRef & e)
inlinestatic

Definition at line 1643 of file SlicedGraphs.h.

1644 {
1645 return e.dst;
1646 }

◆ getEntryNode()

NodeRef SVF::GenericGraphTraits< const SlicedPAGView * >::getEntryNode ( const SlicedPAGView * )
inlinestatic

Definition at line 1603 of file SlicedGraphs.h.

1604 {
1605 return NodeRef{};
1606 }

◆ getNode()

NodeRef SVF::GenericGraphTraits< const SlicedPAGView * >::getNode ( const SlicedPAGView * v,
NodeID id )
inlinestatic

Definition at line 1656 of file SlicedGraphs.h.

1657 {
1658 const bool kept = v->getKeptNodeIds().count(id) > 0;
1659 return NodeRef{v, kept ? v->getSVFIR()->getGNode(id) : nullptr};
1660 }

◆ getNodeID()

unsigned SVF::GenericGraphTraits< const SlicedPAGView * >::getNodeID ( NodeRef n)
inlinestatic

Definition at line 1652 of file SlicedGraphs.h.

1653 {
1654 return n.raw->getId();
1655 }

◆ getRawNode()

const SVFVar * SVF::GenericGraphTraits< const SlicedPAGView * >::getRawNode ( NodeRef n)
inlinestatic

Definition at line 1598 of file SlicedGraphs.h.

1599 {
1600 return n.raw;
1601 }

◆ graphSize()

unsigned SVF::GenericGraphTraits< const SlicedPAGView * >::graphSize ( const SlicedPAGView * v)
inlinestatic

Definition at line 1648 of file SlicedGraphs.h.

1649 {
1650 return static_cast<unsigned>(v->getKeptNodeIds().size());
1651 }

◆ nodes_begin()

nodes_iterator SVF::GenericGraphTraits< const SlicedPAGView * >::nodes_begin ( const SlicedPAGView * v)
inlinestatic

Definition at line 1608 of file SlicedGraphs.h.

1609 {
1610 return SlicedPAGNodeIter(v, v->getKeptNodeIds().begin());
1611 }

◆ nodes_end()

nodes_iterator SVF::GenericGraphTraits< const SlicedPAGView * >::nodes_end ( const SlicedPAGView * v)
inlinestatic

Definition at line 1612 of file SlicedGraphs.h.

1613 {
1614 return SlicedPAGNodeIter(v, v->getKeptNodeIds().end());
1615 }

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