DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dunedaq::confmodel::TestCircularDependency Class Reference

#include <test_circular_dependency.hpp>

Collaboration diagram for dunedaq::confmodel::TestCircularDependency:
[legend]

Public Member Functions

 TestCircularDependency (const char *goal, const dunedaq::conffwk::DalObject *first_object)

Private Types

enum  { p_limit = 64 }
 maximum recursion level More...

Private Member Functions

void push (const dunedaq::conffwk::DalObject *object)
void pop ()

Private Attributes

const char * p_goal
unsigned int p_index
const dunedaq::conffwk::DalObject * p_objects [p_limit]

Friends

class AddTestOnCircularDependency

Detailed Description

Definition at line 12 of file test_circular_dependency.hpp.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private

maximum recursion level

Enumerator
p_limit 

Definition at line 32 of file test_circular_dependency.hpp.

Constructor & Destructor Documentation

◆ TestCircularDependency()

dunedaq::confmodel::TestCircularDependency::TestCircularDependency ( const char * goal,
const dunedaq::conffwk::DalObject * first_object )
inline

Definition at line 18 of file test_circular_dependency.hpp.

19 : p_goal(goal)
20 , p_index(0)
21 {
22 p_objects[p_index++] = first_object;
23 }
const dunedaq::conffwk::DalObject * p_objects[p_limit]

Member Function Documentation

◆ pop()

void dunedaq::confmodel::TestCircularDependency::pop ( )
inlineprivate

Definition at line 29 of file test_circular_dependency.hpp.

29{ p_index--; }

◆ push()

void TestCircularDependency::push ( const dunedaq::conffwk::DalObject * object)
private
Exceptions
dunedaq::confmodel::FoundCircularDependency

Definition at line 6 of file test_circular_dependency.cpp.

7{
8 if (p_index < p_limit) {
10 } else {
11 std::ostringstream s;
12 for (unsigned int i = 0; i < p_index; ++i) {
13 if (i != 0)
14 s << ", ";
15 s << p_objects[i];
16 }
17
18 throw dunedaq::confmodel::FoundCircularDependency(ERS_HERE, p_limit, p_goal, s.str());
19 }
20}
#define ERS_HERE
Changes could not be no object was Database change was not no object was not An invalid qmodel index has been Config layer returned null reference for object

◆ AddTestOnCircularDependency

friend class AddTestOnCircularDependency
friend

Definition at line 15 of file test_circular_dependency.hpp.

Member Data Documentation

◆ p_goal

const char* dunedaq::confmodel::TestCircularDependency::p_goal
private

Definition at line 37 of file test_circular_dependency.hpp.

◆ p_index

unsigned int dunedaq::confmodel::TestCircularDependency::p_index
private

Definition at line 38 of file test_circular_dependency.hpp.

◆ p_objects

const dunedaq::conffwk::DalObject* dunedaq::confmodel::TestCircularDependency::p_objects[p_limit]
private

Definition at line 39 of file test_circular_dependency.hpp.


The documentation for this class was generated from the following files: