4#ifndef vtkVariantInlineOperators_h
5#define vtkVariantInlineOperators_h
7#include "vtkABINamespace.h"
17VTK_ABI_NAMESPACE_BEGIN
20#if VTK_LONG_LONG == VTK_TYPE_INT64
21 return (VariantType == VTK_TYPE_INT64);
23 return ((VariantType ==
VTK_LONG_LONG) || (VariantType == VTK_TYPE_INT64));
29#if (CHAR_MIN == SCHAR_MIN && CHAR_MAX == SCHAR_MAX)
57 return (A >= 0) && (A == UnsignedVariant.
ToTypeInt64());
66 return ((A < 0) || (
static_cast<vtkTypeUInt64
>(A) < UnsignedVariant.
ToTypeUInt64()));
75 return ((B > 0) && (UnsignedVariant.
ToTypeUInt64() <
static_cast<vtkTypeUInt64
>(B)));
98 if (!(this->Valid && other.Valid))
100 return (!(this->Valid || other.Valid));
108 (this->Data.VTKObject == other.Data.
VTKObject));
138 bool thisSigned =
IsSigned(this->Type);
139 bool otherSigned =
IsSigned(other.Type);
141 if (thisSigned ^ otherSigned)
166 if (!(this->Valid && other.Valid))
168 return ((!this->Valid) && (other.Valid));
176 (this->Data.VTKObject < other.Data.
VTKObject));
206 bool thisSigned =
IsSigned(this->Type);
207 bool otherSigned =
IsSigned(other.Type);
209 if (thisSigned ^ otherSigned)
245 return (!(this->
operator==(other) || this->
operator<(other)));
250 return (this->
operator==(other) || this->
operator<(other));
255 return (!this->
operator<(other));
A type representing the union of many types.
vtkTypeInt64 ToTypeInt64() const
Convert the variant to a numeric type: If it holds a numeric, cast to the appropriate type.
double ToDouble(bool *valid) const
Convert the variant to a numeric type: If it holds a numeric, cast to the appropriate type.
vtkTypeUInt64 ToTypeUInt64(bool *valid) const
Convert the variant to a numeric type: If it holds a numeric, cast to the appropriate type.
bool operator==(const vtkVariant &other) const
Compare two variants for equality, greater than, and less than.
bool operator>(const vtkVariant &other) const
Compare two variants for equality, greater than, and less than.
double ToDouble() const
Convert the variant to a numeric type: If it holds a numeric, cast to the appropriate type.
bool operator<=(const vtkVariant &other) const
Compare two variants for equality, greater than, and less than.
bool operator!=(const vtkVariant &other) const
Compare two variants for equality, greater than, and less than.
float ToFloat() const
Convert the variant to a numeric type: If it holds a numeric, cast to the appropriate type.
vtkStdString ToString(int formatting=DEFAULT_FORMATTING, int precision=6) const
Convert the variant to a string.
float ToFloat(bool *valid) const
Convert the variant to a numeric type: If it holds a numeric, cast to the appropriate type.
bool operator>=(const vtkVariant &other) const
Compare two variants for equality, greater than, and less than.
bool operator<(const vtkVariant &other) const
Compare two variants for equality, greater than, and less than.
vtkTypeInt64 ToTypeInt64(bool *valid) const
Convert the variant to a numeric type: If it holds a numeric, cast to the appropriate type.
vtkObjectBase * VTKObject
bool CompareSignedUnsignedLessThan(const vtkVariant &SignedVariant, const vtkVariant &UnsignedVariant)
bool CompareSignedUnsignedEqual(const vtkVariant &SignedVariant, const vtkVariant &UnsignedVariant)
bool CompareUnsignedLessThan(const vtkVariant &A, const vtkVariant &B)
bool IsFloatingPoint(int VariantType)
bool CompareSignedLessThan(const vtkVariant &A, const vtkVariant &B)
bool IsSigned(int VariantType)
bool CompareUnsignedSignedLessThan(const vtkVariant &UnsignedVariant, const vtkVariant &SignedVariant)
bool IsSigned64Bit(int VariantType)