CGRA-ME
Public Types | Public Member Functions | Private Attributes | Friends | List of all members
InterMRRGMap Struct Reference

#include <MRRGProcedures.h>

Public Types

using NodeSet = std::unordered_set< MRRG::NodeDescriptor >
 

Public Member Functions

const NodeSetnewNodesForOldNode (MRRG::NodeDescriptor n) const
 
const NodeSetoldNodesForNewNode (MRRG::NodeDescriptor n) const
 
void addMapping (MRRG::NodeDescriptor old_node, MRRG::NodeDescriptor new_node)
 
template<typename NodeList = std::vector<MRRG::NodeDescriptor>>
void addMappingMulti (MRRG::NodeDescriptor old_node, const NodeList &new_nodes)
 
template<typename NodeList = std::vector<MRRG::NodeDescriptor>>
void addMappingMulti (const NodeList &old_nodes, MRRG::NodeDescriptor new_node)
 
void addAllByMatchingProperties (const MRRG &src_mrrg, const MRRG &transformed_mrrg)
 
void mergeDescriptors (MRRG::NodeDescriptor from, MRRG::NodeDescriptor into)
 
bool operator== (const InterMRRGMap &rhs) const
 

Private Attributes

std::unordered_map< MRRG::NodeDescriptor, NodeSetforward_map = {}
 
std::unordered_map< MRRG::NodeDescriptor, NodeSetreverse_map = {}
 
NodeSet empty_node_list = {}
 

Friends

std::ostream & operator<< (std::ostream &os, const InterMRRGMap &imm)
 

Detailed Description

Definition at line 246 of file MRRGProcedures.h.

Member Typedef Documentation

◆ NodeSet

using InterMRRGMap::NodeSet = std::unordered_set<MRRG::NodeDescriptor>

Definition at line 249 of file MRRGProcedures.h.

Member Function Documentation

◆ addAllByMatchingProperties()

void InterMRRGMap::addAllByMatchingProperties ( const MRRG src_mrrg,
const MRRG transformed_mrrg 
)

Definition at line 51 of file MRRGProcedures.cpp.

◆ addMapping()

void InterMRRGMap::addMapping ( MRRG::NodeDescriptor  old_node,
MRRG::NodeDescriptor  new_node 
)
inline

Definition at line 257 of file MRRGProcedures.h.

◆ addMappingMulti() [1/2]

template<typename NodeList = std::vector<MRRG::NodeDescriptor>>
void InterMRRGMap::addMappingMulti ( const NodeList &  old_nodes,
MRRG::NodeDescriptor  new_node 
)
inline

Definition at line 265 of file MRRGProcedures.h.

◆ addMappingMulti() [2/2]

template<typename NodeList = std::vector<MRRG::NodeDescriptor>>
void InterMRRGMap::addMappingMulti ( MRRG::NodeDescriptor  old_node,
const NodeList &  new_nodes 
)
inline

Definition at line 263 of file MRRGProcedures.h.

◆ mergeDescriptors()

void InterMRRGMap::mergeDescriptors ( MRRG::NodeDescriptor  from,
MRRG::NodeDescriptor  into 
)

Definition at line 73 of file MRRGProcedures.cpp.

◆ newNodesForOldNode()

const NodeSet& InterMRRGMap::newNodesForOldNode ( MRRG::NodeDescriptor  n) const
inline

Definition at line 252 of file MRRGProcedures.h.

◆ oldNodesForNewNode()

const NodeSet& InterMRRGMap::oldNodesForNewNode ( MRRG::NodeDescriptor  n) const
inline

Definition at line 255 of file MRRGProcedures.h.

◆ operator==()

bool InterMRRGMap::operator== ( const InterMRRGMap rhs) const
inline

Definition at line 272 of file MRRGProcedures.h.

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const InterMRRGMap imm 
)
friend

Definition at line 98 of file MRRGProcedures.cpp.

Member Data Documentation

◆ empty_node_list

NodeSet InterMRRGMap::empty_node_list = {}
private

Definition at line 277 of file MRRGProcedures.h.

◆ forward_map

std::unordered_map<MRRG::NodeDescriptor, NodeSet> InterMRRGMap::forward_map = {}
private

Definition at line 275 of file MRRGProcedures.h.

◆ reverse_map

std::unordered_map<MRRG::NodeDescriptor, NodeSet> InterMRRGMap::reverse_map = {}
private

Definition at line 276 of file MRRGProcedures.h.


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