File indexing completed on 2025-12-16 09:19:55
0001
0002
0003 #ifndef GLOBALVERTEX_GLOBALVERTEXMAPV1_H
0004 #define GLOBALVERTEX_GLOBALVERTEXMAPV1_H
0005
0006 #include "GlobalVertexMap.h"
0007
0008 #include "GlobalVertex.h"
0009
0010 #include <cstddef> // for size_t
0011 #include <iostream>
0012 #include <map>
0013
0014 class GlobalVertexMapv1 : public GlobalVertexMap
0015 {
0016 public:
0017 GlobalVertexMapv1() = default;
0018 ~GlobalVertexMapv1() override;
0019
0020 void identify(std::ostream& os = std::cout) const override;
0021 void Reset() override { clear(); }
0022 int isValid() const override { return _map.size(); }
0023 PHObject* CloneMe() const override { return new GlobalVertexMapv1(*this); }
0024 void CopyTo(GlobalVertexMap*) override;
0025
0026 bool empty() const override { return _map.empty(); }
0027 size_t size() const override { return _map.size(); }
0028 size_t count(unsigned int idkey) const override { return _map.count(idkey); }
0029
0030 void clear() override;
0031
0032 const GlobalVertex* get(unsigned int idkey) const override;
0033 GlobalVertex* get(unsigned int idkey) override;
0034 std::vector<GlobalVertex*> get_gvtxs_with_type(std::vector<GlobalVertex::VTXTYPE> types) override;
0035 GlobalVertex* insert(GlobalVertex* vertex) override;
0036 size_t erase(unsigned int idkey) override
0037 {
0038 delete _map[idkey];
0039 return _map.erase(idkey);
0040 }
0041
0042 ConstIter begin() const override { return _map.begin(); }
0043 ConstIter find(unsigned int idkey) const override { return _map.find(idkey); }
0044 ConstIter end() const override { return _map.end(); }
0045
0046 Iter begin() override { return _map.begin(); }
0047 Iter find(unsigned int idkey) override { return _map.find(idkey); }
0048 Iter end() override { return _map.end(); }
0049
0050 private:
0051 std::map<unsigned int, GlobalVertex*> _map;
0052
0053 ClassDefOverride(GlobalVertexMapv1, 1);
0054 };
0055
0056 #endif