OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
AbstractVar.h
Go to the documentation of this file.
1 #ifndef OPAL_AbstractVar_HH
2 #define OPAL_AbstractVar_HH 1
3 
4 // ------------------------------------------------------------------------
5 // $RCSfile: AbstractVar.h,v $
6 // ------------------------------------------------------------------------
7 // $Revision: 1.1.1.1 $
8 // ------------------------------------------------------------------------
9 // Copyright: see Copyright.readme
10 // ------------------------------------------------------------------------
11 //
12 // Class: AbstractVar
13 //
14 // ------------------------------------------------------------------------
15 //
16 // $Date: 2000/03/27 09:33:43 $
17 // $Author: Andreas Adelmann $
18 //
19 // ------------------------------------------------------------------------
20 
21 #include <iosfwd>
22 #include <string>
23 
24 
25 // Class AbstractVar
26 // ------------------------------------------------------------------------
28 // The interface allows for variable transformations used to implement
29 // upper and/or lower limits for the values.
30 
31 class AbstractVar {
32 
33 public:
34 
36  // Assign the variable name.
37  AbstractVar(const std::string &name);
38 
39  virtual ~AbstractVar();
40 
42  virtual const std::string &getName() const;
43 
45  virtual double getInternalValue() const = 0;
46 
48  virtual void setInternalValue(double) = 0;
49 
51  virtual double getExternalValue() const = 0;
52 
54  virtual void setExternalValue(double) = 0;
55 
57  virtual void print(std::ostream &) const = 0;
58 
59 protected:
60 
62  const std::string itsName;
63 
64 private:
65 
66  // Not implemented.
67  AbstractVar();
68  AbstractVar(const AbstractVar &);
69  void operator=(const AbstractVar &);
70 };
71 
72 #endif // OPAL_AbstractVar_HH
const std::string itsName
Name of the variable.
Definition: AbstractVar.h:62
virtual void setInternalValue(double)=0
Set the current internal parameter value.
virtual void setExternalValue(double)=0
Set the current external parameter value.
virtual const std::string & getName() const
Get the variable name.
Definition: AbstractVar.cpp:36
virtual ~AbstractVar()
Definition: AbstractVar.cpp:32
const std::string name
virtual double getInternalValue() const =0
Get the current internal parameter value.
Abstract base for a matching variable.
Definition: AbstractVar.h:31
void operator=(const AbstractVar &)
virtual void print(std::ostream &) const =0
Print the variable name and value.
virtual double getExternalValue() const =0
Get the current external parameter value.