DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
ListStorage.hpp
Go to the documentation of this file.
1
11#ifndef LISTREV_SRC_LISTSTORAGE_HPP_
12#define LISTREV_SRC_LISTSTORAGE_HPP_
13
14#include "ListWrapper.hpp"
15
16#include <map>
17#include <mutex>
18#include <vector>
19
20namespace dunedaq::listrev {
21
23{
24public:
26
27 bool has_list(const int& id) const;
28 IntList get_list(const int& id) const;
29 void add_list(IntList list, bool ignoreDuplicates = false);
30
31 size_t size() const;
32 void set_capacity(const size_t& capacity) { m_capacity = capacity; }
33 size_t capacity() const { return m_capacity; }
34 void flush();
35
36private:
37 std::map<int, IntList> m_lists;
38 mutable std::mutex m_lists_mutex;
39 size_t m_capacity{ 1000 };
40};
41} // namespace dunedaq::listrev
42
43#endif // LISTREV_SRC_LISTSTORAGE_HPP_
IntList get_list(const int &id) const
void set_capacity(const size_t &capacity)
std::map< int, IntList > m_lists
bool has_list(const int &id) const
void add_list(IntList list, bool ignoreDuplicates=false)