Back to home page

sPhenix code displayed by LXR

 
 

    


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 }