Insertion-ordered store of keyframe records with O(1) id lookup.
| 28 | |
| 29 | // Insertion-ordered store of keyframe records with O(1) id lookup. |
| 30 | class KeyframeDatabase { |
| 31 | public: |
| 32 | void add(KeyframeRecord rec); |
| 33 | const KeyframeRecord& get(size_t keyframe_id) const; |
| 34 | bool has(size_t keyframe_id) const { return id_to_index_.count(keyframe_id) != 0; } |
| 35 | size_t size() const { return keyframes_.size(); } |
| 36 | |
| 37 | // Records in insertion order (== keyframe creation order). |
| 38 | const std::vector<KeyframeRecord>& records() const { return keyframes_; } |
| 39 | |
| 40 | private: |
| 41 | std::vector<KeyframeRecord> keyframes_; |
| 42 | std::map<size_t, size_t> id_to_index_; |
| 43 | }; |
| 44 | |
| 45 | } // namespace superslam |
nothing calls this directly
no outgoing calls
no test coverage detected