33 bool isValid()
const override {
return true; }
46 T* temp = (T*)calloc(num,
sizeof(T));
47 return ((
void *)temp);
69 if (value->
getValueType() == Value::ValueType::INTEGER || value->
getValueType() == Value::ValueType::FLOATING_POINT) {
77 std::cerr <<
"ERROR: Attempt to assign non-numeric value to a numeric type." << std::endl;
105 std::string s(
"<invalid-primitive-type>");
SpecifiedPrimitiveDataType< int > IntDataType
Definition: SpecifiedPrimitiveDataType.hpp:170
SpecifiedPrimitiveDataType< long > LongDataType
Definition: SpecifiedPrimitiveDataType.hpp:175
SpecifiedPrimitiveDataType< unsigned short > UnsignedShortDataType
Definition: SpecifiedPrimitiveDataType.hpp:178
SpecifiedPrimitiveDataType< float > FloatDataType
Definition: SpecifiedPrimitiveDataType.hpp:182
SpecifiedPrimitiveDataType< double > DoubleDataType
Definition: SpecifiedPrimitiveDataType.hpp:183
SpecifiedPrimitiveDataType< void > VoidDataType
Definition: SpecifiedPrimitiveDataType.hpp:169
SpecifiedPrimitiveDataType< char > CharDataType
Definition: SpecifiedPrimitiveDataType.hpp:173
SpecifiedPrimitiveDataType< long long > LongLongDataType
Definition: SpecifiedPrimitiveDataType.hpp:176
SpecifiedPrimitiveDataType< unsigned int > UnsignedIntDataType
Definition: SpecifiedPrimitiveDataType.hpp:171
SpecifiedPrimitiveDataType< unsigned long long > UnsignedLongLongDataType
Definition: SpecifiedPrimitiveDataType.hpp:181
SpecifiedPrimitiveDataType< unsigned char > UnsignedCharDataType
Definition: SpecifiedPrimitiveDataType.hpp:177
SpecifiedPrimitiveDataType< short > ShortDataType
Definition: SpecifiedPrimitiveDataType.hpp:174
SpecifiedPrimitiveDataType< unsigned long > UnsignedLongDataType
Definition: SpecifiedPrimitiveDataType.hpp:180
Register and manage datatypes at runtime.
Definition: DataTypeInator.hpp:16
Definition: FloatingPointValue.hpp:8
IntegerValue is a Value that represents an integer value on the right-hand-side of an equation.
Definition: IntegerValue.hpp:9
Definition: NumericValue.hpp:8
virtual double getFloatingPointValue() const =0
virtual long long getIntegerValue() const =0
Definition: PrimitiveDataType.hpp:12
Definition: SpecifiedPrimitiveDataType.hpp:13
bool isSigned() const
Definition: SpecifiedPrimitiveDataType.hpp:121
bool assignValue(void *address, Value *value) const
Definition: SpecifiedPrimitiveDataType.hpp:67
void * createInstance(unsigned int num) const override
Definition: SpecifiedPrimitiveDataType.hpp:45
std::string getTypeSpecName() const
Definition: SpecifiedPrimitiveDataType.hpp:104
bool validate(DataTypeInator *dataTypeInator=NULL) override
Verify that all of the types that are named by this DataType or subordinate DataTypes are resolvable ...
Definition: SpecifiedPrimitiveDataType.hpp:31
bool isVoid() const
Definition: SpecifiedPrimitiveDataType.hpp:126
size_t getSize() const override
Definition: SpecifiedPrimitiveDataType.hpp:38
SpecifiedPrimitiveDataType< T > & operator=(SpecifiedPrimitiveDataType< T > &rhs)=default
Value * getValue(void *address) const
Creates a Value object for the variable at the given address.
Definition: SpecifiedPrimitiveDataType.hpp:84
void deleteInstance(void *address) const override
Delete this instance.
Definition: SpecifiedPrimitiveDataType.hpp:52
bool isValid() const override
Determine whether this type has already been successfully validated.
Definition: SpecifiedPrimitiveDataType.hpp:33
void printValue(std::ostream &s, void *address) const
Definition: SpecifiedPrimitiveDataType.hpp:97
bool isFloatingPoint() const
Definition: SpecifiedPrimitiveDataType.hpp:116
void clearValue(void *address) const
Clear the variable at the given address.
Definition: SpecifiedPrimitiveDataType.hpp:58
Value is an abstract base-class that represents a value on the right-hand-side of an assignment.
Definition: Value.hpp:9
virtual ValueType getValueType() const =0