Thread overview
What's the correct way to interface with a intptr_t?
Apr 06
Alex
Apr 07
bauss
Apr 07
bauss
April 06
I have a C interface that uses a parameter of type intptr_t. Wondering if size_t is the correct D equivalent?

-- 
Robert M. Münch
http://www.saphirion.com
smarter | better | faster

April 06
On Saturday, 6 April 2019 at 19:31:15 UTC, Robert M. Münch wrote:
> I have a C interface that uses a parameter of type intptr_t. Wondering if size_t is the correct D equivalent?

I suppose, ptrdiff_t is.

https://dlang.org/spec/type.html#ptrdiff_t
https://dlang.org/spec/portability.html#32_to_64bit

April 06
On Saturday, 6 April 2019 at 19:31:15 UTC, Robert M. Münch wrote:
> I have a C interface that uses a parameter of type intptr_t. Wondering if size_t is the correct D equivalent?

The correct equivalent is `intptr_t` from `core.stdc.stdint`.
April 07
On 2019-04-06 20:16:06 +0000, Paul Backus said:

> On Saturday, 6 April 2019 at 19:31:15 UTC, Robert M. Münch wrote:
>> I have a C interface that uses a parameter of type intptr_t. Wondering if size_t is the correct D equivalent?
> 
> The correct equivalent is `intptr_t` from `core.stdc.stdint`.

Ha, thanks... RTFM. Will do in the future.

-- 
Robert M. Münch
http://www.saphirion.com
smarter | better | faster

April 07
On Saturday, 6 April 2019 at 20:16:06 UTC, Paul Backus wrote:
> On Saturday, 6 April 2019 at 19:31:15 UTC, Robert M. Münch wrote:
>> I have a C interface that uses a parameter of type intptr_t. Wondering if size_t is the correct D equivalent?
>
> The correct equivalent is `intptr_t` from `core.stdc.stdint`.

Which is just an alias for ptrdiff_t.
April 07
On Sunday, 7 April 2019 at 12:19:10 UTC, bauss wrote:
> On Saturday, 6 April 2019 at 20:16:06 UTC, Paul Backus wrote:
>> On Saturday, 6 April 2019 at 19:31:15 UTC, Robert M. Münch wrote:
>>> I have a C interface that uses a parameter of type intptr_t. Wondering if size_t is the correct D equivalent?
>>
>> The correct equivalent is `intptr_t` from `core.stdc.stdint`.
>
> Which is just an alias for ptrdiff_t.

Unless this is guaranteed to be the case on every platform druntime is ever ported to, it is technically better to use the `intptr_t` alias.
April 07
On Sunday, 7 April 2019 at 13:45:15 UTC, Paul Backus wrote:
> On Sunday, 7 April 2019 at 12:19:10 UTC, bauss wrote:
>> On Saturday, 6 April 2019 at 20:16:06 UTC, Paul Backus wrote:
>>> On Saturday, 6 April 2019 at 19:31:15 UTC, Robert M. Münch wrote:
>>>> I have a C interface that uses a parameter of type intptr_t. Wondering if size_t is the correct D equivalent?
>>>
>>> The correct equivalent is `intptr_t` from `core.stdc.stdint`.
>>
>> Which is just an alias for ptrdiff_t.
>
> Unless this is guaranteed to be the case on every platform druntime is ever ported to, it is technically better to use the `intptr_t` alias.

It should be guaranteed since it's just supposed to be a signed integer of either 32 bit or 64 bit depending on the architecture you're on.

D isn't supported below 32 bit systems so it's irrelevant there and thus it can be a guarantee.