This patch refactors the StructuredData::Integer class to make it
templated, makes it private and adds 2 public specialization for both
int64_t & uint64_t with a public type aliases, respectively
SignedInteger & UnsignedInteger.
It adds new getter for signed and unsigned interger values to the
StructuredData::Object base class and changes the implementation of
StructuredData::Array::GetItemAtIndexAsInteger and
StructuredData::Dictionary::GetValueForKeyAsInteger to support signed
and unsigned integers.
This patch also adds 2 new Get{Signed,Unsigned}IntegerValue to the
SBStructuredData class and marks GetIntegerValue as deprecated.
Finally, this patch audits all the caller of StructuredData::Integer
or StructuredData::GetIntegerValue to use the proper type as well the
various tests that uses SBStructuredData.GetIntegerValue.
rdar://105575764
Signed-off-by: Med Ismail Bennani <ismail@bennani.ma>
You can't include a private header in a public header.