data mapping, more elegant solution?
    0ffh 
    frank at frankhirsch.youknow.what.todo.net
       
    Thu Dec 13 13:32:15 PST 2007
    
    
  
mandel wrote:
> Hi,
> 
> I want to map a uint to a position of an ubyte array.
> Atm. I use this:
> 
> ubyte[8] array;
> *cast(uint*) &array.ptr[0] = 42;
> 
> But is there a nicer solution to do achive this?
> 
> Smth. like  "array[0..4] = 42;", but this tries to assign 42 to every 
> byte (resulting in [0x2a, 0x2a, 0x2a, 0x2a, 0x00, 0x00, 0x00, 0x00]).
Well, if "array[0..4]=42;" does what you say, I think it does the right
thing. Your solution is the right one, altough I'd use more braces.
It's hard to be more elegant when crossing type boundaries. Some other
languages I could mention would not even allow the canonical C solution
(which is what you are doing)...
regards, frank
    
    
More information about the Digitalmars-d-learn
mailing list