LRAUV  revA
Int.h
Go to the documentation of this file.
1 
10 #ifndef INT_H_
11 #define INT_H_
12 
13 #include "DataValue.h"
14 
15 class RingBufferVoid;
16 
32 class Int : public DataValue
33 {
34 public:
35 
37  Int( const Unit& unit, int value, bool scaleValue = true );
38 
40  Int( const Unit& unit, const void *binary );
41 
43  virtual ~Int()
44  {}
45  ;
46 
48  void* operator new( size_t size );
49 
51  void operator delete( void* p );
52 
54  virtual Int* copy() const;
55 
57  virtual void minus( const DataValue* rhs, DataValue* assignTo ) const;
58 
60  virtual void times( const double rhs, DataValue* assignTo ) const;
61 
63  virtual double absDiff( const DataValue* rhs ) const;
64 
66  virtual bool copyTo( const Unit& unit , unsigned char& assignTo ) const;
67 
69  virtual bool copyTo( const Unit& unit, double& assignTo ) const;
70 
72  virtual bool copyTo( const Unit& unit, double& assignTo, unsigned int dim ) const
73  {
74  return copyTo( unit, assignTo );
75  }
76 
78  virtual bool copyTo( const Unit& unit, float& assignTo ) const;
79 
81  virtual bool copyTo( const Unit& unit, int& assignTo ) const;
82 
84  virtual int compare( const Unit& unit, const unsigned char& compareTo ) const;
85 
87  virtual int compare( const Unit& unit, const double& compareTo ) const;
88 
90  virtual int compare( const Unit& unit, const float& compareTo ) const;
91 
93  virtual int compare( const Unit& unit, const int& compareTo ) const;
94 
96  virtual int compare( const DataValue& compareTo ) const;
97 
99  virtual bool equals( const Unit& unit, const unsigned char& compareTo ) const;
100 
102  virtual bool equals( const Unit& unit, const double& compareTo ) const;
103 
105  virtual bool equals( const Unit& unit, const float& compareTo ) const;
106 
108  virtual bool equals( const Unit& unit, const int& compareTo ) const;
109 
111  virtual bool equals( const DataValue& compareTo ) const;
112 
114  virtual bool setFrom( const Unit& unit, unsigned char value );
115 
117  virtual bool setFrom( const Unit& unit, double value );
118 
120  virtual bool setFrom( const Unit& unit, float value );
121 
123  virtual bool setFrom( const Unit& unit, int value );
124 
126  virtual bool setFrom( const DataValue& value );
127 
128  // as a Str
129  virtual Str toString( const Unit& unit ) const;
130 
134  virtual unsigned int toStream( OutStream& outStream ) const;
135 
139  virtual void fromBinary( const void *buffer );
140 
141 protected:
142 
144  Int();
145 
146  int value_;
147 
150 
153  {
154  public:
155  virtual ~StaticDestructor();
156  };
157 
160 
161 };
162 
163 #endif /*INT_H_*/
virtual bool copyTo(const Unit &unit, double &assignTo, unsigned int dim) const
Copy n-dimensional value to double.
Definition: Int.h:72
virtual Int * copy() const
Return a pointer to a new copy.
Definition: Int.cpp:68
Wraps a 32-bit (4-byte) signed integer and unit for storage in a DataElement.
Definition: Int.h:32
virtual ~StaticDestructor()
Definition: Int.cpp:18
virtual bool setFrom(const Unit &unit, unsigned char value)
set from unsigned char value
Definition: Int.cpp:189
virtual unsigned int toStream(OutStream &outStream) const
Send the data value to the indicated stream.
Definition: Int.cpp:259
A DataValue is an abstract base class for a data value and associated engineering units of the value...
Definition: DataValue.h:35
virtual void minus(const DataValue *rhs, DataValue *assignTo) const
Subtraction of another DataValue to yield another DataValue.
Definition: Int.cpp:74
virtual bool equals(const Unit &unit, const unsigned char &compareTo) const
Equality test with with unsigned char.
Definition: Int.cpp:159
int value_
Definition: Int.h:146
static Int::StaticDestructor StaticDestructor_
Static instance of StaticDestructor.
Definition: Int.h:159
Replacement for standard template class string.
Definition: Str.h:12
virtual double absDiff(const DataValue *rhs) const
Return the absolute value of this difference from another DataValue.
Definition: Int.cpp:90
static RingBufferVoid * MallocRing_
Declared as a pointer to avoid including RingBuffer.h header here.
Definition: Int.h:149
Int()
Protected Empty constructor for use by DataEntry class.
Definition: Int.cpp:274
virtual void fromBinary(const void *buffer)
Load the data from the a binary representation in the buffer Typically just a memcopy of the variable...
Definition: Int.cpp:264
Contains the DataValue class definition.
This is a very abstract class that can be implemented by classes that want to send stream output...
Definition: OutStream.h:41
virtual int compare(const Unit &unit, const unsigned char &compareTo) const
Comparison with unsigned char.
Definition: Int.cpp:129
virtual ~Int()
Destructor.
Definition: Int.h:43
Thread-safe ring buffer for storing void pointers.
Definition: RingBuffer.h:36
Code that represents an engineering unit.
Definition: Unit.h:24
Makes sure that mallocRing_s is deleted on shutdown.
Definition: Int.h:152
virtual bool copyTo(const Unit &unit, unsigned char &assignTo) const
Copy value to unsigned char.
Definition: Int.cpp:101
virtual Str toString() const
Definition: DataValue.h:147
virtual void times(const double rhs, DataValue *assignTo) const
Multiplication by a double to yield another DataValue.
Definition: Int.cpp:84