BOSS
8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Calibration/facilities/include/facilities/Commissioner.h
Go to the documentation of this file.
1
// ## begin module.cm preserve=no
2
// %X% %Q% %Z% %W%
3
// ## end module.cm
4
5
// ## Module: Commissioner; Package specification
6
// Implementation of the Commissioner class
7
// ## Subsystem: utilities
8
// ## Source file: d:\code\glastsim\utilities\Commissioner.h
9
10
#ifndef Commissioner_h
11
#define Commissioner_h 1
12
13
#include "
Adapter.h
"
14
// ## begin module.declarations preserve=no
15
// ## end module.declarations
16
17
// ## Class: Commissioner; Parameterized Class
18
// Class used to select other classes based on some
19
// specific attribute within those classes. This is
20
// implemented by setting some parameter within this class
21
// of type _Ty and creating an Action object, of return
22
// type _Ty and encapsulated within the Subject class which
23
// gives access to that object.
24
// ## Category: utilities
25
// ## Subsystem: utilities
26
// ## Persistence: Transient
27
// ## Cardinality/Multiplicity: n
28
29
template
<
class
Commissionee,
class
Criteria>
class
Commissioner
{
30
// ## begin Commissioner.initialDeclarations preserve=yes
31
// ## end Commissioner.initialDeclarations
32
33
public
:
34
// ## Constructors (specified)
35
// ## Operation: Commissioner%894312587
36
// constructor
37
Commissioner
(
Action<Commissionee, Criteria>
aSelector,
Criteria
aCriteria )
38
// ## begin Commissioner::Commissioner%894312587.hasinit preserve=no
39
// ## end Commissioner::Commissioner%894312587.hasinit
40
// ## begin Commissioner::Commissioner%894312587.initialization preserve=yes
41
: itsSelector( aSelector )
42
, itsCriteria( aCriteria )
43
// ## end Commissioner::Commissioner%894312587.initialization
44
{
45
// ## begin Commissioner::Commissioner%894312587.body preserve=yes
46
// ## end Commissioner::Commissioner%894312587.body
47
}
48
49
// ## Other Operations (specified)
50
// ## Operation: select%894312588
51
// executes its selection criteria on the object passed to
52
// it.
53
bool
select
( Commissionee* aCommissionee ) {
54
// ## begin Commissioner::select%894312588.body preserve=yes
55
return
( itsCriteria == itsSelector.execute( aCommissionee ) );
56
// ## end Commissioner::select%894312588.body
57
}
58
59
// ## Operation: select%894312589
60
// performs its selection using the criteria passed in to
61
// the funciton
62
bool
select
( Commissionee* aCommissionee,
Criteria
aCriteria )
const
{
63
// ## begin Commissioner::select%894312589.body preserve=yes
64
return
( aCriteria == itsSelector.execute( aCommissionee ) );
65
// ## end Commissioner::select%894312589.body
66
}
67
68
// Additional Public Declarations
69
// ## begin Commissioner.public preserve=yes
70
// ## end Commissioner.public
71
72
protected
:
73
// Additional Protected Declarations
74
// ## begin Commissioner.protected preserve=yes
75
// ## end Commissioner.protected
76
77
private
:
78
// Additional Private Declarations
79
// ## begin Commissioner.private preserve=yes
80
// ## end Commissioner.private
81
82
private
:
// ## implementation
83
// Data Members for Associations
84
// ## Association: utilities::<unnamed>%3550EE700380
85
// ## Role: Commissioner::itsSelector
86
// action function used to select Subjects
87
// ## begin Commissioner::itsSelector.role preserve=no private: Action { -> VHN}
88
Action<Commissionee, Criteria>
itsSelector;
89
// ## end Commissioner::itsSelector.role
90
91
// ## Association: utilities::<unnamed>%3550F03B007D
92
// ## Role: Commissioner::<the_Command>
93
// ## begin Commissioner::<the_Command>.role preserve=no public: Command {0..1 -> RHG}
94
// ## end Commissioner::<the_Command>.role
95
96
// Additional Implementation Declarations
97
// ## begin Commissioner.implementation preserve=yes
98
Criteria
itsCriteria;
99
// ## end Commissioner.implementation
100
};
101
102
// ## begin Commissioner.postscript preserve=yes
103
// ## end Commissioner.postscript
104
105
#endif
Adapter.h
Action
Definition
Calibration/facilities/include/facilities/Adapter.h:72
Commissioner::select
bool select(Commissionee *aCommissionee)
Definition
Calibration/facilities/include/facilities/Commissioner.h:53
Commissioner::select
bool select(Commissionee *aCommissionee, Criteria aCriteria) const
Definition
Calibration/facilities/include/facilities/Commissioner.h:62
Commissioner::Commissioner
Commissioner(Action< Commissionee, Criteria > aSelector, Criteria aCriteria)
Definition
Calibration/facilities/include/facilities/Commissioner.h:37
Criteria
Definition
Criteria.h:45
8.0.0
BOSS_Source
Calibration
facilities
include
facilities
Commissioner.h
Generated by
1.16.1