74 template<
typename T>
AJAVariant & operator = (
const T inRHS)
79 mStringValue = v.mStringValue;
84 inline operator bool()
const {
return AsBool();}
85 inline operator float()
const {
return AsFloat();}
86 inline operator double()
const {
return AsDouble();}
87 inline operator int8_t()
const {
return AsInt8();}
88 inline operator uint8_t()
const {
return AsUInt8();}
89 inline operator int16_t()
const {
return AsInt16();}
90 inline operator uint16_t()
const {
return AsUInt16();}
91 inline operator int32_t()
const {
return AsInt32();}
92 inline operator uint32_t()
const {
return AsUInt32();}
93 inline operator int64_t()
const {
return AsInt64();}
94 inline operator uint64_t()
const {
return AsUInt64();}
95 inline operator std::string()
const {
return AsString();}
99 bool IsNumeric()
const;
100 bool IsUnsigned()
const;
101 bool IsSigned()
const;
107 inline bool GetBool()
const {
return mUnion.mBooleanValue;}
113 inline float GetFloat()
const {
return mUnion.mFloatValue;}
119 inline double GetDouble()
const {
return mUnion.mDoubleValue;}
125 inline int8_t
GetInt8()
const {
return mUnion.mInt8Value;}
131 inline uint8_t
GetUInt8()
const {
return mUnion.mUInt8Value;}
137 inline int16_t
GetInt16()
const {
return mUnion.mInt16Value;}
143 inline uint16_t
GetUInt16()
const {
return mUnion.mUInt16Value;}
149 inline int32_t
GetInt32()
const {
return mUnion.mInt32Value;}
155 inline uint32_t
GetUInt32()
const {
return mUnion.mUInt32Value;}
161 inline int64_t
GetInt64()
const {
return mUnion.mInt64Value;}
167 inline uint64_t
GetUInt64()
const {
return mUnion.mUInt64Value;}
173 inline const std::string &
GetString()
const {
return mStringValue;}
257 float AsFloat()
const;
262 double AsDouble()
const;
267 int8_t AsInt8()
const;
272 uint8_t AsUInt8()
const;
277 int16_t AsInt16()
const;
282 uint16_t AsUInt16()
const;
287 int32_t AsInt32()
const;
292 uint32_t AsUInt32()
const;
297 int64_t AsInt64()
const;
302 uint64_t AsUInt64()
const;
307 std::string AsString()
const;
327 std::string mStringValue;
332 #endif // AJA_VARIANT_H