Free Electron
Operator.h
Go to the documentation of this file.
1 /* Copyright (C) 2003-2021 Free Electron Organization
2  Any use of this software requires a license. If a valid license
3  was not distributed with this file, visit freeelectron.org. */
4 
5 /** @file */
6 
7 #ifndef __shape_Operator_h__
8 #define __shape_Operator_h__
9 
10 FE_ATTRIBUTE("op:choice","Record of particular interest during an operation");
11 
12 namespace fe
13 {
14 namespace ext
15 {
16 
17 /**************************************************************************//**
18  @brief Operator RecordView
19 
20  A step in a pipeline.
21 *//***************************************************************************/
22 class FE_DL_EXPORT Operator: virtual public RecordView
23 {
24  public:
26  Functor< sp<RecordGroup> > output;
27  Functor<Record> choice;
28  Functor<I32> serial;
29 
30  Operator(void) { setName("Operator"); }
31  void addFunctors(void)
32  {
33  add(input, FE_USE("op:input"));
34  add(output, FE_USE("op:output"));
35  add(choice, FE_USE("op:choice"));
36  add(serial, FE_USE(":SN"));
37  }
38 virtual void initializeRecord(void)
39  {
40  }
41 };
42 
43 } /* namespace ext */
44 } /* namespace fe */
45 
46 #endif /* __shape_Operator_h__ */
kernel
Definition: namespace.dox:3
Bound accessor in a RecordView.
Definition: RecordView.h:147
Bindable collection of accessor Functors.
Definition: RecordView.h:106
void addFunctors(void)
Called at instantiation to add functors.
Definition: Operator.h:31
virtual void initializeRecord(void)
Called at instantiation to initialize attributes.
Definition: Operator.h:38
Operator RecordView.
Definition: Operator.h:22