25#include <unordered_map>
33template <
typename I,
typename T>
39 const T *
Find(
const I
id)
const {
40 auto *result = apollo::common::util::FindOrNull(
map_,
id);
41 return result ? result->get() :
nullptr;
51 bool Add(
const I
id, std::unique_ptr<T> ptr) {
59 queue_.emplace(
id, ptr.get());
60 map_[id] = std::move(ptr);
73 std::queue<std::pair<I, const T *>>
queue_;
74 std::unordered_map<I, std::unique_ptr<T>>
map_;
std::queue< std::pair< I, const T * > > queue_
bool Add(const I id, std::unique_ptr< T > ptr)
const T * Find(const I id) const
std::unordered_map< I, std::unique_ptr< T > > map_
IndexedQueue(size_t capacity)
Planning module main class.