CGRA-ME
Public Types | Public Member Functions | Public Attributes | List of all members
ReversedGraphFromFaninLists< VertexID, Data > Struct Template Reference

#include <GraphAlgorithmHelpers.h>

Public Types

using VertexList = std::decay_t< decltype(std::declval< Data >().at(std::declval< VertexID >()).fanin)>
 

Public Member Functions

 ReversedGraphFromFaninLists (const ReversedGraphFromFaninLists &)=default
 
ReversedGraphFromFaninListsoperator= (const ReversedGraphFromFaninLists &)=default
 
 ReversedGraphFromFaninLists (ReversedGraphFromFaninLists &&)=default
 
ReversedGraphFromFaninListsoperator= (ReversedGraphFromFaninLists &&)=default
 
const auto & fanout (const VertexID &v)
 

Public Attributes

Data * data
 
VertexList empty_list = {}
 

Detailed Description

template<typename VertexID, typename Data>
struct ReversedGraphFromFaninLists< VertexID, Data >

Make a Graph from a map to list of fanins. ex.: struct VData { std::vector<VertexID> fanin; }; std::unordered_map<VertexID, VData> fanin_map = foo(); auto reverse_graph = makeReversedGraphFromFaninLists<VertexID>(fanin_map) // now do a BFS or something

Definition at line 327 of file GraphAlgorithmHelpers.h.

Member Typedef Documentation

◆ VertexList

template<typename VertexID , typename Data >
using ReversedGraphFromFaninLists< VertexID, Data >::VertexList = std::decay_t<decltype(std::declval<Data>().at(std::declval<VertexID>()).fanin)>

Definition at line 330 of file GraphAlgorithmHelpers.h.

Constructor & Destructor Documentation

◆ ReversedGraphFromFaninLists() [1/2]

template<typename VertexID , typename Data >
ReversedGraphFromFaninLists< VertexID, Data >::ReversedGraphFromFaninLists ( const ReversedGraphFromFaninLists< VertexID, Data > &  )
default

◆ ReversedGraphFromFaninLists() [2/2]

template<typename VertexID , typename Data >
ReversedGraphFromFaninLists< VertexID, Data >::ReversedGraphFromFaninLists ( ReversedGraphFromFaninLists< VertexID, Data > &&  )
default

Member Function Documentation

◆ fanout()

template<typename VertexID , typename Data >
const auto& ReversedGraphFromFaninLists< VertexID, Data >::fanout ( const VertexID &  v)
inline

Definition at line 338 of file GraphAlgorithmHelpers.h.

◆ operator=() [1/2]

template<typename VertexID , typename Data >
ReversedGraphFromFaninLists& ReversedGraphFromFaninLists< VertexID, Data >::operator= ( const ReversedGraphFromFaninLists< VertexID, Data > &  )
default

◆ operator=() [2/2]

template<typename VertexID , typename Data >
ReversedGraphFromFaninLists& ReversedGraphFromFaninLists< VertexID, Data >::operator= ( ReversedGraphFromFaninLists< VertexID, Data > &&  )
default

Member Data Documentation

◆ data

template<typename VertexID , typename Data >
Data* ReversedGraphFromFaninLists< VertexID, Data >::data

Definition at line 328 of file GraphAlgorithmHelpers.h.

◆ empty_list

template<typename VertexID , typename Data >
VertexList ReversedGraphFromFaninLists< VertexID, Data >::empty_list = {}

Definition at line 331 of file GraphAlgorithmHelpers.h.


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