stromx  0.8.0
None.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_NONE_H
18 #define STROMX_RUNTIME_NONE_H
19 
20 #include "stromx/runtime/Data.h"
21 
22 namespace stromx
23 {
24  namespace runtime
25  {
27  class STROMX_RUNTIME_API None : public Data
28  {
29  public:
30  None() {}
31 
32  virtual const Version & version() const { return VERSION; }
33  virtual const std::string & type() const { return TYPE; }
34  virtual const std::string & package() const { return PACKAGE; }
35 
36  virtual const VariantHandle & variant() const;
37 
38  virtual Data* clone() const { return new None; }
39 
40  private:
41  static const std::string TYPE;
42  static const std::string PACKAGE;
43  static const Version VERSION;
44  };
45 
47  template <>
48  class STROMX_RUNTIME_API data_traits<None>
49  {
50  public:
51  static const VariantHandle & variant();
52  };
54  }
55 }
56 
57 #endif // STROMX_RUNTIME_NONE_H
A version of an operator or data type.
Definition: Version.h:46
Abstract data object.
Definition: Data.h:53
Definition: VariantHandle.h:34
virtual Data * clone() const
Definition: None.h:38
The stromx class library.
Definition: AdjustRgbChannels.cpp:29
virtual const std::string & type() const
Definition: None.h:33
virtual const Version & version() const
Definition: None.h:32
Undefined and empty data object.
Definition: None.h:27
virtual const std::string & package() const
Definition: None.h:34