File indexing completed on 2025-10-17 08:19:38
0001 #ifndef GLOBALVERTEX_TRUTHVERTEXMAPV1_H
0002 #define GLOBALVERTEX_TRUTHVERTEXMAPV1_H
0003
0004 #include "TruthVertex.h"
0005 #include "TruthVertexMap.h"
0006
0007 #include <iostream>
0008 #include <map>
0009
0010 class TruthVertexMap_v1 : public TruthVertexMap
0011 {
0012 public:
0013 TruthVertexMap_v1() = default;
0014 ~TruthVertexMap_v1() override;
0015
0016 void identify(std::ostream& os = std::cout) const override;
0017 void Reset() override { clear(); }
0018 int isValid() const override { return !_map.empty(); }
0019
0020 bool empty() const override { return _map.empty(); }
0021 size_t size() const override { return _map.size(); }
0022 size_t count(unsigned int idkey) const override { return _map.count(idkey); }
0023 void clear() override;
0024
0025 const TruthVertex* get(unsigned int idkey) const override;
0026 TruthVertex* get(unsigned int idkey) override;
0027 TruthVertex* insert(TruthVertex* vertex) override;
0028 size_t erase(unsigned int idkey) override;
0029
0030 ConstIter begin() const override { return _map.begin(); }
0031 ConstIter find(unsigned int idkey) const override { return _map.find(idkey); }
0032 ConstIter end() const override { return _map.end(); }
0033
0034 Iter begin() override { return _map.begin(); }
0035 Iter find(unsigned int idkey) override { return _map.find(idkey); }
0036 Iter end() override { return _map.end(); }
0037
0038 private:
0039 std::map<unsigned int, TruthVertex*> _map;
0040
0041 ClassDefOverride(TruthVertexMap_v1, 1);
0042 };
0043
0044 #endif