Implemented operator overloads for Reflection
This commit is contained in:
175
src/include/Reflection/ReflectionProperty_op_overload.h
Normal file
175
src/include/Reflection/ReflectionProperty_op_overload.h
Normal file
@@ -0,0 +1,175 @@
|
||||
//Operator Overloads
|
||||
T operator()()
|
||||
{
|
||||
return *value;
|
||||
}
|
||||
//Assignment Operators
|
||||
T operator=(T nVal)
|
||||
{
|
||||
(*value) = nVal;
|
||||
return *value;
|
||||
}
|
||||
|
||||
T operator+=(T nVal)
|
||||
{
|
||||
(*value) += nVal;
|
||||
return *value;
|
||||
}
|
||||
|
||||
T operator-=(T nVal)
|
||||
{
|
||||
(*value)-= nVal;
|
||||
return *value;
|
||||
}
|
||||
|
||||
T operator/=(T nVal)
|
||||
{
|
||||
(*value) /= nVal;
|
||||
return *value;
|
||||
}
|
||||
|
||||
T operator*=(T nVal)
|
||||
{
|
||||
(*value) *= nVal;
|
||||
return *value;
|
||||
}
|
||||
|
||||
T operator%=(T nVal)
|
||||
{
|
||||
(*value) %= nVal;
|
||||
return *value;
|
||||
}
|
||||
|
||||
T operator^=(T nVal)
|
||||
{
|
||||
(*value) ^= nVal;
|
||||
return *value;
|
||||
}
|
||||
|
||||
T operator&=(T nVal)
|
||||
{
|
||||
(*value) &= nVal;
|
||||
return *value;
|
||||
}
|
||||
|
||||
T operator|=(T nVal)
|
||||
{
|
||||
(*value) |= nVal;
|
||||
return *value;
|
||||
}
|
||||
|
||||
T operator>>=(T nVal)
|
||||
{
|
||||
(*value) >>= nVal;
|
||||
return *value;
|
||||
}
|
||||
|
||||
T operator<<=(T nVal)
|
||||
{
|
||||
(*value) <<= nVal;
|
||||
return *value;
|
||||
}
|
||||
|
||||
|
||||
//Mathematical Operations
|
||||
T operator+(T nVal)
|
||||
{
|
||||
return (*value) + nVal;
|
||||
}
|
||||
|
||||
T operator-(T nVal)
|
||||
{
|
||||
return (*value) - nVal;
|
||||
}
|
||||
|
||||
T operator*(T nVal)
|
||||
{
|
||||
return (*value) - nVal;
|
||||
}
|
||||
|
||||
T operator/(T nVal)
|
||||
{
|
||||
return (*value) / nVal;
|
||||
}
|
||||
|
||||
T operator%(T nVal)
|
||||
{
|
||||
return (*value) % nVal;
|
||||
}
|
||||
|
||||
//Boolean operations
|
||||
bool operator==(T nVal)
|
||||
{
|
||||
return (*value) == nVal;
|
||||
}
|
||||
|
||||
bool operator!=(T nVal)
|
||||
{
|
||||
return (*value) != nVal;
|
||||
}
|
||||
|
||||
bool operator<(T nVal)
|
||||
{
|
||||
return (*value) < nVal;
|
||||
}
|
||||
|
||||
bool operator<=(T nVal)
|
||||
{
|
||||
return (*value) <= nVal;
|
||||
}
|
||||
|
||||
bool operator>(T nVal)
|
||||
{
|
||||
return (*value) > nVal;
|
||||
}
|
||||
|
||||
bool operator>=(T nVal)
|
||||
{
|
||||
return (*value) >= nVal;
|
||||
}
|
||||
|
||||
T operator&&(T nVal)
|
||||
{
|
||||
return (*value) && nVal;
|
||||
}
|
||||
|
||||
T operator||(T nVal)
|
||||
{
|
||||
return (*value) && nVal;
|
||||
}
|
||||
|
||||
T operator!()
|
||||
{
|
||||
return !(*value);
|
||||
}
|
||||
|
||||
//Bitwise operations
|
||||
T operator&(T nVal)
|
||||
{
|
||||
return (*value) && nVal;
|
||||
}
|
||||
|
||||
T operator|(T nVal)
|
||||
{
|
||||
return (*value) && nVal;
|
||||
}
|
||||
|
||||
T operator>>(T nVal)
|
||||
{
|
||||
return (*value) >> nVal;
|
||||
}
|
||||
|
||||
T operator<<(T nVal)
|
||||
{
|
||||
return (*value) << nVal;
|
||||
}
|
||||
|
||||
T operator^(T nVal)
|
||||
{
|
||||
return (*value) ^ nVal;
|
||||
}
|
||||
|
||||
T operator~()
|
||||
{
|
||||
return ~(*value);
|
||||
}
|
||||
Reference in New Issue
Block a user