DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dunedaq
sourcecode
listrev
src
ListStorage.cpp
Go to the documentation of this file.
1
9
#include "
ListStorage.hpp
"
10
#include "
CommonIssues.hpp
"
11
12
bool
13
dunedaq::listrev::ListStorage::has_list
(
const
int
&
id
)
const
14
{
15
std::lock_guard<std::mutex> lk(
m_lists_mutex
);
16
return
m_lists
.count(
id
);
17
}
18
19
dunedaq::listrev::IntList
20
dunedaq::listrev::ListStorage::get_list
(
const
int
&
id
)
const
21
{
22
std::lock_guard<std::mutex> lk(m_lists_mutex);
23
if
(!m_lists.count(
id
)) {
24
throw
ListNotFound(
ERS_HERE
,
id
);
25
}
26
27
return
m_lists.at(
id
);
28
}
29
30
void
31
dunedaq::listrev::ListStorage::add_list
(
IntList
list,
bool
ignoreDuplicates)
32
{
33
std::lock_guard<std::mutex> lk(m_lists_mutex);
34
if
(m_lists.count(list.
list_id
) && !ignoreDuplicates) {
35
throw
ListExists(
ERS_HERE
, list.
list_id
);
36
}
37
m_lists[list.
list_id
] = list;
38
39
while
(m_lists.size() > m_capacity) {
40
m_lists.erase(m_lists.begin());
41
}
42
}
43
44
size_t
45
dunedaq::listrev::ListStorage::size
()
const
46
{
47
std::lock_guard<std::mutex> lk(m_lists_mutex);
48
return
m_lists.size();
49
}
50
51
void
52
dunedaq::listrev::ListStorage::flush
()
53
{
54
std::lock_guard<std::mutex> lk(m_lists_mutex);
55
m_lists.clear();
56
}
ListStorage.hpp
ERS_HERE
#define ERS_HERE
Definition
LocalContext.hpp:130
dunedaq::listrev::ListStorage::get_list
IntList get_list(const int &id) const
Definition
ListStorage.cpp:20
dunedaq::listrev::ListStorage::m_lists_mutex
std::mutex m_lists_mutex
Definition
ListStorage.hpp:38
dunedaq::listrev::ListStorage::m_lists
std::map< int, IntList > m_lists
Definition
ListStorage.hpp:37
dunedaq::listrev::ListStorage::flush
void flush()
Definition
ListStorage.cpp:52
dunedaq::listrev::ListStorage::has_list
bool has_list(const int &id) const
Definition
ListStorage.cpp:13
dunedaq::listrev::ListStorage::size
size_t size() const
Definition
ListStorage.cpp:45
dunedaq::listrev::ListStorage::add_list
void add_list(IntList list, bool ignoreDuplicates=false)
Definition
ListStorage.cpp:31
CommonIssues.hpp
dunedaq::listrev::IntList
Definition
ListWrapper.hpp:23
dunedaq::listrev::IntList::list_id
int list_id
Definition
ListWrapper.hpp:24
Generated on Sat Jun 28 2025 for DUNE-DAQ by
1.12.0