meta/PortRelatedSet.cpp (54 lines of code) (raw):

#include "PortRelatedSet.h" #include "swss/logger.h" using namespace saimeta; void PortRelatedSet::insert( _In_ sai_object_id_t portId, _In_ sai_object_id_t relatedObjectId) { SWSS_LOG_ENTER(); if (relatedObjectId == SAI_NULL_OBJECT_ID) { return; } if (portId == SAI_NULL_OBJECT_ID) { SWSS_LOG_THROW("portId is NULL"); } m_mapset[portId].insert(relatedObjectId); } const std::set<sai_object_id_t> PortRelatedSet::getPortRelatedObjects( _In_ sai_object_id_t portId) const { SWSS_LOG_ENTER(); auto it = m_mapset.find(portId); if (it != m_mapset.end()) { return it->second; } return { }; } void PortRelatedSet::clear() { SWSS_LOG_ENTER(); m_mapset.clear(); } void PortRelatedSet::removePort( _In_ sai_object_id_t portId) { SWSS_LOG_ENTER(); auto it = m_mapset.find(portId); if (it != m_mapset.end()) { m_mapset.erase(it); } } std::vector<sai_object_id_t> PortRelatedSet::getAllPorts() const { SWSS_LOG_ENTER(); std::vector<sai_object_id_t> vec; for (auto& it: m_mapset) { vec.push_back(it.first); } return vec; }