stromx  0.7.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
OperatorInfo.h
1 /*
2  * Copyright 2011 Matthias Fuchs
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef STROMX_RUNTIME_OPERATORINFO_H
18 #define STROMX_RUNTIME_OPERATORINFO_H
19 
20 #include <vector>
21 #include "stromx/runtime/Description.h"
22 #include "stromx/runtime/Parameter.h"
23 #include "stromx/runtime/Version.h"
24 
25 namespace stromx
26 {
27  namespace runtime
28  {
30  {
31  OperatorProperties() : isGreedy(false) {}
32 
40  bool isGreedy;
41  };
42 
51  {
52  public:
54  virtual const std::string& type() const = 0;
55 
57  virtual const std::string& package() const = 0;
58 
60  virtual const Version& version() const = 0;
61 
66  virtual const std::vector<const Description*>& inputs() const = 0;
67 
73  virtual const std::vector<const Description*>& outputs() const = 0;
74 
81  virtual const std::vector<const Parameter*>& parameters() const = 0;
82 
88  virtual const Description & output(const unsigned int id) const = 0;
89 
95  virtual const Description & input(const unsigned int id) const = 0;
96 
102  virtual const Parameter & parameter(const unsigned int id) const = 0;
103 
107  virtual const OperatorProperties & properties() const = 0;
108  };
109  }
110 }
111 
112 #endif // STROMX_RUNTIME_OPERATORINFO_H
Description of a connector.
Definition: Description.h:32
A version of an operator or data type.
Definition: Version.h:46
virtual const std::string & type() const =0
virtual const Description & input(const unsigned int id) const =0
bool isGreedy
Definition: OperatorInfo.h:40
The stromx class library.
Definition: AdjustRgbChannels.cpp:29
virtual const std::vector< const Description * > & outputs() const =0
virtual const Description & output(const unsigned int id) const =0
virtual const std::vector< const Description * > & inputs() const =0
virtual const OperatorProperties & properties() const =0
Meta-information about an operator.
Definition: OperatorInfo.h:50
Description of a parameter.
Definition: Parameter.h:34
virtual const std::vector< const Parameter * > & parameters() const =0
virtual const Version & version() const =0
virtual const std::string & package() const =0
Definition: OperatorInfo.h:29
virtual const Parameter & parameter(const unsigned int id) const =0