< Previous by Date Date Index Next by Date >
< Previous in Thread Thread Index Next in Thread >

Re: [reSIProcate] v1.9 and fixed-size integer types (UInt32, uint32_t, etc)


Yeah I was worried about that.  The unsigned long constructor obviously isn't required for those platforms so we could just #ifdef it out entirely based on platform.    or... we can #ifdef the unsigned long constructor in for particular platforms (ie: Win32).  Any preferences out there?

Scott


On Tue, Sep 10, 2013 at 10:15 AM, Daniel Pocock <daniel@xxxxxxxxxxxxx> wrote:
On 10/09/13 15:59, Scott Godin wrote:
> Casting will fix it.  However I am concerned about application level
> code out there.  I know I use the Data class everywhere in my resip
> based applications.  This is almost certainly going to cause headaches
> for people.  We might be better off adding back a unsigned long
> constructor and marking it as deprecated, so there are compiler
> warnings vs compiler errors.  See any issues with that?  I'm trying in
> windows right now.


I don't mind putting it back in like that, but I encountered some issue
when trying to support all these types on the stdint branch (for
uint32_t and friends)

I don't remember the exact details, but on platforms without the C++11
types, using typedefs, there were situations where the compiler barfs
because it thinks two of these three constructors are the same:

Data(UInt32 value)
Data(unsinged long value)
Data(UInt64 value)