IParameterSet.hpp
1 #pragma once
2 
3 #include "DM/config.hpp"
4 #include "DM/Handle.hpp"
5 #include "DM/ObjectBase.hpp"
6 #include "DM/AutoLink.hpp" //enable autolink
7 
8 DM_NAMESPACE_BEGIN
9 
10 /// \brief Object can store a set of named parameter of different type
11 class DM_API IParameterSet : public ObjectBase
12 {
13 public:
14  static IParameterSet* New();
15 
16 protected:
17  virtual ~IParameterSet() {}
18 
19 public:
20  virtual void set(const char *variable, const char *value) = 0;
21  virtual void set(const char *variable, int value) = 0;
22  virtual void set(const char *variable, double value) = 0;
23  virtual void set(const char *variable, bool value) = 0;
24 
25  virtual bool isSet(const char *variable) const = 0;
26 
27  virtual bool get(const char *variable, const char *&value) const = 0;
28  virtual bool get(const char *variable, int &value) const = 0;
29  virtual bool get(const char *variable, double &value) const = 0;
30  virtual bool get(const char *variable, bool &value) const = 0;
31 };
32 
34 
35 DM_NAMESPACE_END
Object can store a set of named parameter of different type.
Definition: IParameterSet.hpp:11
Smart pointer class using reference counting with support for DM objects (see ObjectBase)
Definition: Handle.hpp:75
Definition: M/c++_api/inc/DM/ObjectBase.hpp:8