12 #ifndef SST_CORE_LINKMAP_H 13 #define SST_CORE_LINKMAP_H 15 #include "sst/core/component.h" 16 #include "sst/core/link.h" 17 #include "sst/core/sst_types.h" 31 std::map<std::string, Link*> linkMap;
33 std::vector<std::string> selfPorts;
138 for ( std::map<std::string, Link*>::iterator it = linkMap.begin(); it != linkMap.end(); ++it ) {
156 void addSelfPort(
const std::string& name) { selfPorts.push_back(name); }
158 bool isSelfPort(
const std::string& name)
const 160 for ( std::vector<std::string>::const_iterator i = selfPorts.begin(); i != selfPorts.end(); ++i ) {
163 if ( name == *i ) {
return true; }
169 void insertLink(
const std::string& name,
Link* link) { linkMap.insert(std::pair<std::string, Link*>(name, link)); }
171 void removeLink(
const std::string& name) { linkMap.erase(name); }
182 std::map<std::string, Link*>::iterator it = linkMap.find(name);
183 if ( it == linkMap.end() )
193 bool empty() {
return linkMap.empty(); }
198 std::map<std::string, Link*>&
getLinkMap() {
return linkMap; }
203 #endif // SST_CORE_LINKMAP_H This class is basically a wrapper for objects to declare the order in which their members should be s...
Definition: serializer.h:35
Maps port names to the Links that are connected to it.
Definition: linkMap.h:27
void insertLink(const std::string &name, Link *link)
Inserts a new pair of name and link into the map.
Definition: linkMap.h:169
Base serialize class.
Definition: serialize.h:32
void addSelfPort(const std::string &name)
Set the list of allowed port names from the ElementInfoPort.
Definition: linkMap.h:156
bool empty()
Checks to see if LinkMap is empty.
Definition: linkMap.h:193
Link * getLink(const std::string &name)
Returns a Link pointer for a given name.
Definition: linkMap.h:174
std::map< std::string, Link * > & getLinkMap()
Return a reference to the internal map.
Definition: linkMap.h:198
Link between two components.
Definition: link.h:50