Static Value-Flow Analysis
Public Member Functions | Private Types | Private Attributes | Friends | List of all members
SVF::GenericGraphWriter< NodeTy, EdgeTy > Class Template Reference

#include <SVFFileSystem.h>

Inheritance diagram for SVF::GenericGraphWriter< NodeTy, EdgeTy >:
SVF::ICFGWriter

Public Member Functions

 GenericGraphWriter (const GraphType *graph)
 
size_t getEdgeID (const EdgeType *edge)
 

Private Types

using NodeType = NodeTy
 
using EdgeType = EdgeTy
 
using GraphType = GenericGraph< NodeType, EdgeType >
 

Private Attributes

WriterPtrPool< EdgeTypeedgePool
 

Friends

class SVFIRWriter
 

Detailed Description

template<typename NodeTy, typename EdgeTy>
class SVF::GenericGraphWriter< NodeTy, EdgeTy >

Forward declaration of some friend classes

Definition at line 289 of file SVFFileSystem.h.

Member Typedef Documentation

◆ EdgeType

template<typename NodeTy , typename EdgeTy >
using SVF::GenericGraphWriter< NodeTy, EdgeTy >::EdgeType = EdgeTy
private

Definition at line 295 of file SVFFileSystem.h.

◆ GraphType

template<typename NodeTy , typename EdgeTy >
using SVF::GenericGraphWriter< NodeTy, EdgeTy >::GraphType = GenericGraph<NodeType, EdgeType>
private

Definition at line 296 of file SVFFileSystem.h.

◆ NodeType

template<typename NodeTy , typename EdgeTy >
using SVF::GenericGraphWriter< NodeTy, EdgeTy >::NodeType = NodeTy
private

Definition at line 294 of file SVFFileSystem.h.

Constructor & Destructor Documentation

◆ GenericGraphWriter()

template<typename NodeTy , typename EdgeTy >
SVF::GenericGraphWriter< NodeTy, EdgeTy >::GenericGraphWriter ( const GraphType graph)
inline

Definition at line 302 of file SVFFileSystem.h.

303  {
304  assert(graph && "Graph pointer should never be null");
305  edgePool.reserve(graph->getTotalEdgeNum());
306 
307  for (const auto& pair : graph->IDToNodeMap)
308  {
309  const NodeType* node = pair.second;
310 
311  for (const EdgeType* edge : node->getOutEdges())
312  {
313  edgePool.saveID(edge);
314  }
315  }
316  }
WriterPtrPool< EdgeType > edgePool
void saveID(const T *ptr)
void reserve(size_t size)

Member Function Documentation

◆ getEdgeID()

template<typename NodeTy , typename EdgeTy >
size_t SVF::GenericGraphWriter< NodeTy, EdgeTy >::getEdgeID ( const EdgeType edge)
inline

Definition at line 318 of file SVFFileSystem.h.

319  {
320  return edgePool.getID(edge);
321  }
size_t getID(const T *ptr)

Friends And Related Function Documentation

◆ SVFIRWriter

template<typename NodeTy , typename EdgeTy >
friend class SVFIRWriter
friend

Definition at line 291 of file SVFFileSystem.h.

Member Data Documentation

◆ edgePool

template<typename NodeTy , typename EdgeTy >
WriterPtrPool<EdgeType> SVF::GenericGraphWriter< NodeTy, EdgeTy >::edgePool
private

Definition at line 299 of file SVFFileSystem.h.


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