DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
ExcludedEntities.hpp
Go to the documentation of this file.
1#ifndef DUNEDAQDAL_EXCLUDED_ENTITIES_H
2#define DUNEDAQDAL_EXCLUDED_ENTITIES_H
3
5
6#include <set>
7#include <string>
8
10
11class Session;
14
16{
17
18 friend class Session;
19 friend class ExcludableEntity;
20
21private:
22 std::set<std::string> m_excluded;
23 bool m_initialised{ false };
24 void fill(const ExcludableEntitySet& rs,
25 std::vector<const ExcludableEntitySet*>& all_resource_sets,
26 std::set<const ExcludableEntity*>& simple_resources,
27 TestCircularDependency& cd_fuse);
28
29 void exclude(const ExcludableEntity& component) { m_excluded.insert(component.UID()); }
30
32
33 size_t size() noexcept { return m_excluded.size(); }
34
35public:
36 ExcludedEntities() = default;
37 ExcludedEntities(const ExcludableEntitySet* root, std::vector<const ExcludableEntity*> initial_list);
38
39 ~ExcludedEntities() = default;
40
41 void update(const ExcludableEntitySet* root, std::vector<const ExcludableEntity*> initial_list);
42
43 bool is_included(const ExcludableEntity* component) const { return !m_excluded.contains(component->UID()); }
44
45 [[nodiscard]] bool initialised() const { return m_initialised; }
46};
47} // namespace dunedaq::confmodel
48
49#endif // DUNEDAQDAL_EXCLUDED_ENTITIES_H
void fill(const ExcludableEntitySet &rs, std::vector< const ExcludableEntitySet * > &all_resource_sets, std::set< const ExcludableEntity * > &simple_resources, TestCircularDependency &cd_fuse)
void exclude_children(const ExcludableEntitySet &)
void update(const ExcludableEntitySet *root, std::vector< const ExcludableEntity * > initial_list)
void exclude(const ExcludableEntity &component)
bool is_included(const ExcludableEntity *component) const