/* * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de. * Distributed under the terms of the MIT License. */ #include "IntegerValue.h" IntegerValue::IntegerValue(const BVariant& value) : fValue(value) { } IntegerValue::~IntegerValue() { } bool IntegerValue::IsSigned() const { bool isSigned; return fValue.IsInteger(&isSigned) && isSigned; } bool IntegerValue::ToString(BString& _string) const { bool isSigned; if (!fValue.IsInteger(&isSigned)) return false; BString string; if (isSigned) string << fValue.ToInt64(); else string << fValue.ToUInt64(); if (string.Length() == 0) return false; _string = string; return true; } bool IntegerValue::ToVariant(BVariant& _value) const { _value = fValue; return true; } bool IntegerValue::operator==(const Value& other) const { const IntegerValue* otherInt = dynamic_cast(&other); return otherInt != NULL ? fValue == otherInt->fValue : false; }