VISR  0.11.6
Versatile Interactive Scene Renderer
parameter_base.hpp
Go to the documentation of this file.
1 /* Copyright Institute of Sound and Vibration Research - All rights reserved */
2 
3 #ifndef VISR_PARAMETER_BASE_HPP_INCLUDED
4 #define VISR_PARAMETER_BASE_HPP_INCLUDED
5 
6 #include "export_symbols.hpp"
7 #include "parameter_type.hpp"
8 
9 #include <memory>
10 
11 namespace visr
12 {
13 
18 class VISR_CORE_LIBRARY_SYMBOL ParameterBase
19 {
20 public:
21 
22  ParameterBase();
23 
29  ParameterBase( const ParameterBase & );
30 
31  ParameterBase& operator=( const ParameterBase & );
32 
36  virtual ~ParameterBase();
37 
41  virtual ParameterType type() = 0;
42 
47  virtual std::unique_ptr<ParameterBase> clone() const = 0;
48 
55  virtual void assign( ParameterBase const & rhs ) = 0;
56 };
57 
58 } // namespace visr
59 
60 #endif // #ifndef VISR_PARAMETER_BASE_HPP_INCLUDED
uint64_t ParameterType
Definition: parameter_type.hpp:13
Definition: options.cpp:10
Definition: parameter_base.hpp:18