common/portmap.cpp (27 lines of code) (raw):

#include "portmap.h" using namespace std; namespace swss { map<set<int>, string> handlePortMap(const string &file) { map<set<int>, string> port_map; ifstream infile(file); if (!infile.is_open()) throw "Cannot open port map configuration file!"; string line; while (getline(infile, line)) { if (line.at(0) == '#') continue; istringstream iss_line(line); string alias, lanes, lane; set<int> lane_set; iss_line >> alias >> lanes; istringstream iss_lane(lanes); while (getline(iss_lane, lane, ',')) lane_set.insert(stoi(lane)); port_map[lane_set] = alias; } infile.close(); return port_map; } }