12 #ifndef SST_CORE_LINKMAP_H 
   13 #define SST_CORE_LINKMAP_H 
   15 #include "sst/core/sst_types.h" 
   20 #include "sst/core/component.h" 
   21 #include "sst/core/link.h" 
   31     std::map<std::string,Link*> linkMap;
 
   33     std::vector<std::string> selfPorts;
 
  122 #if !SST_BUILDING_CORE 
  123     LinkMap()  __attribute__ ((deprecated(
"LinkMap class was not intended to be used outside of SST Core and will be removed in SST 12."))) {}
 
  128 #if !SST_BUILDING_CORE 
  129     ~
LinkMap() __attribute__ ((deprecated(
"LinkMap class was not intended to be used outside of SST Core and will be removed in SST 12."))) {
 
  134         for ( std::map<std::string,Link*>::iterator it = linkMap.begin(); it != linkMap.end(); ++it ) {
 
  154 #if !SST_BUILDING_CORE 
  155     void addSelfPort(
const std::string& name) __attribute__ ((deprecated(
"LinkMap class was not intended to be used outside of SST Core and will be removed in SST 12.")))
 
  160         selfPorts.push_back(name);
 
  163 #if !SST_BUILDING_CORE 
  164     bool isSelfPort(
const std::string& name) 
const __attribute__ ((deprecated(
"LinkMap class was not intended to be used otuside of SST Core and will be removed in SST 12."))) {
 
  166     bool isSelfPort(
const std::string& name)
 const {
 
  168         for ( std::vector<std::string>::const_iterator i = selfPorts.begin() ; i != selfPorts.end() ; ++i ) {
 
  179 #if !SST_BUILDING_CORE 
  180     void insertLink(
const std::string& name, 
Link* link) __attribute__ ((deprecated(
"LinkMap class was not intended to be used outside of SST Core and will be removed in SST 12."))) {
 
  184         linkMap.insert(std::pair<std::string,Link*>(name,link));
 
  187 #if !SST_BUILDING_CORE 
  188     void removeLink(
const std::string& name) __attribute__ ((deprecated(
"LinkMap class was not intended to be used outside of SST Core and will be removed in SST 12."))) {
 
  190     void removeLink(
const std::string& name) {
 
  196 #if !SST_BUILDING_CORE 
  197     Link* 
getLink(
const std::string& name) __attribute__ ((deprecated(
"LinkMap class was not intended to be used outside of SST Core and will be removed in SST 12."))) {
 
  207         std::map<std::string,Link*>::iterator it = linkMap.find(name);
 
  208         if ( it == linkMap.end() ) 
return nullptr;
 
  209         else return it->second;
 
  216 #if !SST_BUILDING_CORE 
  217     bool empty() __attribute__ ((deprecated("
LinkMap class was not intended to be used outside of SST Core and will be removed in SST 12."))) {
 
  222         return linkMap.empty();
 
  228 #if !SST_BUILDING_CORE 
  229     std::map<std::string,Link*>& 
getLinkMap() __attribute__ ((deprecated("
LinkMap class was not intended to be used outside of SST Core and will be removed in SST 12."))) {
 
  240 #endif // SST_CORE_LINKMAP_H 
Maps port names to the Links that are connected to it. 
Definition: linkMap.h:28
void insertLink(const std::string &name, Link *link)
Inserts a new pair of name and link into the map. 
Definition: linkMap.h:180
std::map< std::string, Link * > & getLinkMap()
Return a reference to the internal map. 
Definition: linkMap.h:229
void addSelfPort(const std::string &name)
Set the list of allowed port names from the ElementInfoPort. 
Definition: linkMap.h:155
bool empty()
Checks to see if LinkMap is empty. 
Definition: linkMap.h:217
Link * getLink(const std::string &name)
Returns a Link pointer for a given name. 
Definition: linkMap.h:197
Link between two components. 
Definition: link.h:32