[DEV] add get type of number (BAD)
This commit is contained in:
parent
bae189269b
commit
59ccccdbdc
@ -81,3 +81,13 @@ int64_t ejson::Number::getI64(int64_t _errorValue) const {
|
||||
}
|
||||
return static_cast<ejson::internal::Number*>(m_data.get())->getI64();
|
||||
}
|
||||
|
||||
ejson::internal::Number::type ejson::Number::getType() const {
|
||||
if (m_data == nullptr) {
|
||||
EJSON_ERROR("Can not get (nullptr) ...");
|
||||
return ejson::internal::Number::type::tDouble;
|
||||
}
|
||||
return static_cast<ejson::internal::Number*>(m_data.get())->getType();
|
||||
}
|
||||
|
||||
|
||||
|
@ -70,6 +70,8 @@ namespace ejson {
|
||||
* @return The integer number registered
|
||||
*/
|
||||
int64_t getI64(int64_t _errorValue=0) const;
|
||||
|
||||
ejson::internal::Number::type getType() const;
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -31,18 +31,23 @@ namespace ejson {
|
||||
static ememory::SharedPtr<Number> create(uint64_t _value=0);
|
||||
static ememory::SharedPtr<Number> create(int64_t _value);
|
||||
static ememory::SharedPtr<Number> create(double _value);
|
||||
protected:
|
||||
public:
|
||||
enum class type {
|
||||
tDouble,
|
||||
tInt,
|
||||
tUint,
|
||||
};
|
||||
protected:
|
||||
type m_typeNumber;
|
||||
union {
|
||||
double m_value; //!< value of the node
|
||||
uint64_t m_valueU64; //!< value of the node
|
||||
int64_t m_valueI64; //!< value of the node
|
||||
};
|
||||
public:
|
||||
ejson::internal::Number::type getType() const {
|
||||
return m_typeNumber;
|
||||
}
|
||||
public:
|
||||
/**
|
||||
* @brief set the value of the node.
|
||||
|
Loading…
x
Reference in New Issue
Block a user