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::DalObjectp_objects [p_limit]
 

Friends

class AddTestOnCircularDependency
 

Detailed Description

Definition at line 15 of file test_circular_dependency.hpp.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private

maximum recursion level

Enumerator
p_limit 

Definition at line 40 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 21 of file test_circular_dependency.hpp.

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

Member Function Documentation

◆ pop()

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

Definition at line 34 of file test_circular_dependency.hpp.

35 {
36 p_index--;
37 }

◆ 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) {
9 p_objects[p_index++] = object;
10 }
11 else {
12 std::ostringstream s;
13 for(unsigned int i = 0; i < p_index; ++i) {
14 if(i != 0) 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

Friends And Related Symbol Documentation

◆ AddTestOnCircularDependency

friend class AddTestOnCircularDependency
friend

Definition at line 17 of file test_circular_dependency.hpp.

Member Data Documentation

◆ p_goal

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

Definition at line 44 of file test_circular_dependency.hpp.

◆ p_index

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

Definition at line 45 of file test_circular_dependency.hpp.

◆ p_objects

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

Definition at line 46 of file test_circular_dependency.hpp.


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