www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - memmove C++ -> D

reply Clay Smith <clayasaurus gmail.com> writes:
C++ memmove:

memmove(bounds + upperIndex + 2, bounds + upperIndex, (edgeCount - 
upperIndex) * sizeof(b2Bound));

D memmove:

memmove(bounds.ptr + upperIndex + 2, bounds.ptr + upperIndex, (edgeCount 
- upperIndex) * b2Bound.sizeof);

Is this a correct translation to D? Thanks.

~ Clay
Nov 25 2007
parent reply Clay Smith <clayasaurus gmail.com> writes:
Clay Smith wrote:
 C++ memmove:
 
 memmove(bounds + upperIndex + 2, bounds + upperIndex, (edgeCount - 
 upperIndex) * sizeof(b2Bound));
 
 D memmove:
 
 memmove(bounds.ptr + upperIndex + 2, bounds.ptr + upperIndex, (edgeCount 
 - upperIndex) * b2Bound.sizeof);
 
 Is this a correct translation to D? Thanks.
 
 ~ Clay

Oh, and bounds in the C++ version is a pointer, while in the D version is an array.
Nov 25 2007
parent Bill Baxter <dnewsgroup billbaxter.com> writes:
Clay Smith wrote:
 Clay Smith wrote:
 C++ memmove:

 memmove(bounds + upperIndex + 2, bounds + upperIndex, (edgeCount - 
 upperIndex) * sizeof(b2Bound));

 D memmove:

 memmove(bounds.ptr + upperIndex + 2, bounds.ptr + upperIndex, 
 (edgeCount - upperIndex) * b2Bound.sizeof);

 Is this a correct translation to D? Thanks.

 ~ Clay

Oh, and bounds in the C++ version is a pointer, while in the D version is an array.

Looks ok, unless b2Bound is a class. Then the sizeof would be giving you the size of just the reference to the class. --bb
Nov 25 2007