LRAUV  revA
StrValue.h
Go to the documentation of this file.
1 
10 #ifndef STRVALUE_H_
11 #define STRVALUE_H_
12 
13 #include "DataValue.h"
14 #include "utils/Str.h"
15 #include "units/Units.h"
16 
17 class RingBufferVoid;
18 
34 class StrValue : public DataValue
35 {
36 public:
37 
39  StrValue();
40 
42  StrValue( const char* value, size_t length = Str::NO_POS, const Unit& unit = Units::NONE );
43 
45  StrValue( const Str value );
46 
48  StrValue( const StrValue& value );
49 
51  StrValue( const void *binary );
52 
54  virtual ~StrValue()
55  {}
56  ;
57 
59  void* operator new( size_t size );
60 
62  void operator delete( void* p );
63 
65  StrValue* copy() const;
66 
68  virtual void minus( const DataValue* rhs, DataValue* assignTo ) const
69  {}
70 
72  virtual void times( const double rhs, DataValue* assignTo ) const
73  {}
74 
76  virtual double absDiff( const DataValue* rhs ) const;
77 
79  virtual bool copyTo( const Unit& unit, unsigned char& assignTo ) const
80  {
81  return false;
82  }
83 
85  virtual bool copyTo( const Unit& unit, double& assignTo, unsigned int dim ) const;
86 
88  virtual bool copyTo( const Unit& unit, double& assignTo ) const
89  {
90  return false;
91  }
92 
94  virtual bool copyTo( const Unit& unit, float& assignTo ) const
95  {
96  return false;
97  }
98 
100  virtual bool copyTo( const Unit& unit, int& assignTo ) const
101  {
102  return false;
103  }
104 
106  virtual int compare( const Unit& unit, const unsigned char& compareTo ) const
107  {
108  return -1;
109  }
110 
112  virtual int compare( const Unit& unit, const double& compareTo ) const
113  {
114  return -1;
115  }
116 
118  virtual int compare( const Unit& unit, const float& compareTo ) const
119  {
120  return -1;
121  }
122 
124  virtual int compare( const Unit& unit, const int& compareTo ) const
125  {
126  return -1;
127  }
128 
130  virtual int compare( const DataValue& compareTo ) const;
131 
133  virtual bool equals( const Unit& unit, const unsigned char& compareTo ) const
134  {
135  return false;
136  }
137 
139  virtual bool equals( const Unit& unit, const float& compareTo ) const
140  {
141  return false;
142  }
143 
145  virtual bool equals( const Unit& unit, const double& compareTo ) const
146  {
147  return false;
148  }
149 
151  virtual bool equals( const Unit& unit, const int& compareTo ) const
152  {
153  return false;
154  }
155 
157  virtual bool equals( const DataValue& compareTo ) const;
158 
160  virtual bool setFrom( const Unit& unit, unsigned char value )
161  {
162  return false;
163  }
164 
166  virtual bool setFrom( const Unit& unit, double value )
167  {
168  return false;
169  }
170 
172  virtual bool setFrom( const Unit& unit, float value )
173  {
174  return false;
175  }
176 
178  virtual bool setFrom( const Unit& unit, int value )
179  {
180  return false;
181  }
182 
184  virtual bool setFrom( const DataValue& value );
185 
186  // as a Str
187  virtual const Str& asString() const;
188 
189  // sets the value
190  void setString( const Str& str );
191 
192  // as a Str
193  virtual Str toString() const;
194 
195  // as a Str
196  virtual Str toString( const Unit& unit ) const;
197 
201  virtual unsigned int toStream( OutStream& outStream ) const;
202 
206  virtual void fromBinary( const void *buffer, unsigned short typeSize );
207  virtual void fromBinary( const void *buffer );
208 
209 protected:
210 
211  // The actual data
213 
214 };
215 
216 #endif /*STRVALUE_H_*/
virtual bool copyTo(const Unit &unit, int &assignTo) const
Copy value to unsigned int.
Definition: StrValue.h:100
virtual bool copyTo(const Unit &unit, unsigned char &assignTo) const
Copy value to unsigned char.
Definition: StrValue.h:79
virtual void times(const double rhs, DataValue *assignTo) const
Multiplication by a double to yield another DataValue.
Definition: StrValue.h:72
virtual bool equals(const Unit &unit, const unsigned char &compareTo) const
Equality test with with unsigned char.
Definition: StrValue.h:133
virtual int compare(const Unit &unit, const int &compareTo) const
Comparison with int.
Definition: StrValue.h:124
virtual void minus(const DataValue *rhs, DataValue *assignTo) const
Subtraction of another DataValue to yield another DataValue.
Definition: StrValue.h:68
A DataValue is an abstract base class for a data value and associated engineering units of the value...
Definition: DataValue.h:35
virtual double absDiff(const DataValue *rhs) const
Return the absolute value of this difference from another DataValue.
Definition: StrValue.cpp:59
static const size_t NO_POS
static constants
Definition: Str.h:17
virtual void fromBinary(const void *buffer, unsigned short typeSize)
Load the data from the a binary representation in the buffer Typically just a memcopy of the variable...
Definition: StrValue.cpp:164
virtual bool equals(const Unit &unit, const double &compareTo) const
Equality test with double.
Definition: StrValue.h:145
virtual bool setFrom(const Unit &unit, double value)
set from double value
Definition: StrValue.h:166
virtual bool setFrom(const Unit &unit, int value)
set int value
Definition: StrValue.h:178
Replacement for standard template class string.
Definition: Str.h:12
void setString(const Str &str)
Definition: StrValue.cpp:134
virtual const Str & asString() const
Definition: StrValue.cpp:129
virtual bool copyTo(const Unit &unit, double &assignTo) const
Copy value to double.
Definition: StrValue.h:88
StrValue()
Default constructior.
Definition: StrValue.cpp:19
Contains the Units class declaration.
virtual int compare(const Unit &unit, const double &compareTo) const
Comparison with double.
Definition: StrValue.h:112
StrValue * copy() const
Return a pointer to a new copy.
Definition: StrValue.cpp:53
virtual Str toString() const
Definition: StrValue.cpp:140
virtual bool equals(const Unit &unit, const int &compareTo) const
Equality test with int.
Definition: StrValue.h:151
virtual unsigned int toStream(OutStream &outStream) const
Send the data value to the indicated stream.
Definition: StrValue.cpp:154
virtual bool equals(const Unit &unit, const float &compareTo) const
Equality test with float.
Definition: StrValue.h:139
virtual int compare(const Unit &unit, const unsigned char &compareTo) const
Comparison with unsigned char.
Definition: StrValue.h:106
virtual ~StrValue()
Destructor.
Definition: StrValue.h:54
Contains the DataValue class definition.
static const BaseUnit NONE
Definition: Units.h:208
This is a very abstract class that can be implemented by classes that want to send stream output...
Definition: OutStream.h:41
virtual bool setFrom(const Unit &unit, float value)
set from float value
Definition: StrValue.h:172
virtual int compare(const Unit &unit, const float &compareTo) const
Comparison with float.
Definition: StrValue.h:118
virtual bool setFrom(const Unit &unit, unsigned char value)
set from unsigned char value
Definition: StrValue.h:160
Thread-safe ring buffer for storing void pointers.
Definition: RingBuffer.h:36
Wraps a string (see Str) as a DataValue, so strings can be written to and read from the slate...
Definition: StrValue.h:34
Code that represents an engineering unit.
Definition: Unit.h:24
virtual bool copyTo(const Unit &unit, float &assignTo) const
Copy value to float.
Definition: StrValue.h:94
Str value_
Definition: StrValue.h:212