File indexing completed on 2025-08-06 08:17:40
0001 #include "InttVertexMapv1.h"
0002 #include "InttVertex.h"
0003
0004 #include <iterator> // for reverse_iterator
0005 #include <utility> // for pair, make_pair
0006
0007 InttVertexMapv1::~InttVertexMapv1()
0008 {
0009 InttVertexMapv1::clear();
0010 }
0011
0012 void InttVertexMapv1::identify(std::ostream& os) const
0013 {
0014 os << "InttVertexMapv1: size = " << _map.size() << std::endl;
0015 for (auto& m : _map)
0016 {
0017 m.second->identify(os);
0018 }
0019
0020 return;
0021 }
0022
0023 void InttVertexMapv1::clear()
0024 {
0025 for (auto& iter : _map)
0026 {
0027 delete iter.second;
0028 }
0029 _map.clear();
0030 return;
0031 }
0032
0033 const InttVertex* InttVertexMapv1::get(unsigned int id) const
0034 {
0035 ConstIter iter = _map.find(id);
0036 if (iter == _map.end())
0037 {
0038 return nullptr;
0039 }
0040 return iter->second;
0041 }
0042
0043 InttVertex* InttVertexMapv1::get(unsigned int id)
0044 {
0045 Iter iter = _map.find(id);
0046 if (iter == _map.end())
0047 {
0048 return nullptr;
0049 }
0050 return iter->second;
0051 }
0052
0053 InttVertex* InttVertexMapv1::insert(InttVertex* vertex)
0054 {
0055 unsigned int index = 0;
0056 if (!_map.empty())
0057 {
0058 index = _map.rbegin()->first + 1;
0059 }
0060 _map.insert(std::make_pair(index, vertex));
0061 _map[index]->set_id(index);
0062 return _map[index];
0063 }