#include <mapping_info.h>
Public Types | |
typedef std::unordered_map < std::pair< int, SgSymbol * > , std::pair < risc::InstanceTree, int > , pairhash > | Mapping_ |
This maps stores the mapping for ports to channels (instance id of the module where the port is declared) -> variable definiton of the port (path to the mapped channel, instance id of the channel) More... | |
typedef std::unordered_map < std::pair< int, SgVariableDefinition * > , risc::InstanceTree, pairhash > | TreeMap |
Public Member Functions | |
MappingInfo () | |
void | initialize (PathInstanceMapper *path_instance_mapper) |
This function initializes the mapping. More... | |
void | print () |
std::list< std::pair< int, InstanceTree > > | get_mapped_module (int channel_id, SgClassDefinition *channel_definition) |
This returns for a given channel instance the mapped modules. More... | |
Public Attributes | |
Mapping_ | mapping_ |
TreeMap | inst_tree_mapping |
TreeMap | backward_inst_tree_mapping |
Private Attributes | |
bool | is_initialized_ |
This class caches the mapping of ports and the mapped channels
typedef std::unordered_map< std::pair<int, SgSymbol*>, std::pair<risc::InstanceTree,int>, pairhash > risc::MappingInfo::Mapping_ |
This maps stores the mapping for ports to channels (instance id of the module where the port is declared) -> variable definiton of the port (path to the mapped channel, instance id of the channel)
typedef std::unordered_map<std::pair<int, SgVariableDefinition*> , risc::InstanceTree, pairhash> risc::MappingInfo::TreeMap |
risc::MappingInfo::MappingInfo | ( | ) |
std::list< std::pair< int, risc::InstanceTree > > risc::MappingInfo::get_mapped_module | ( | int | channel_id, |
SgClassDefinition * | channel_definition | ||
) |
This returns for a given channel instance the mapped modules.
risc::MappingInfo::initialize | ( | PathInstanceMapper * | path_instance_mapper | ) |
This function initializes the mapping.
void risc::MappingInfo::print | ( | ) |
TreeMap risc::MappingInfo::backward_inst_tree_mapping |
TreeMap risc::MappingInfo::inst_tree_mapping |
|
private |
Mapping_ risc::MappingInfo::mapping_ |