Thread overview
A different vector op
Jul 02, 2011
bearophile
Jul 06, 2011
Don
Jul 06, 2011
bearophile
Jul 18, 2011
bearophile
Jul 18, 2011
Andrej Mitrovic
July 02, 2011
Currently this is not allowed, but do you desire a feature like this?


struct Foo {
    int x, y;
    int[100] array;
}
void main() {
    auto foos = new Foo[100];
    foos[].y += 10; // ***
}

Bye,
bearophile
July 06, 2011
bearophile wrote:
> Currently this is not allowed, but do you desire a feature like this?
> 
> 
> struct Foo {
>     int x, y;
>     int[100] array;
> }
> void main() {
>     auto foos = new Foo[100];
>     foos[].y += 10; // ***
> }
> 
> Bye,
> bearophile

An interesting use case:

void main()
{
   cdouble[100] foos;
   foos[].re = 5.0;
}
July 06, 2011
Don:

> An interesting use case:
> 
> void main()
> {
>     cdouble[100] foos;
>     foos[].re = 5.0;
> }

I don't often have to update arrays of complex numbers, more often I have to set or update a single field of an array of structs.

Bye,
bearophile
July 18, 2011
On Sat, Jul 2, 2011 at 04:12, bearophile <bearophileHUGS@lycos.com> wrote:
> Currently this is not allowed, but do you desire a feature like this?
>
>
> struct Foo {
>    int x, y;
>    int[100] array;
> }
> void main() {
>    auto foos = new Foo[100];
>    foos[].y += 10; // ***
> }

In fact, I would be more interested in the opposite :
void main() {
  auto foos = new Foo[100];
  auto ints = new int[100]
  ints = foos[].y;
}

This would simplify the wrinting of numerous application, especially in the writing of image/video processing (eg. rgb2yuv conversions) This would also simplify the writing of template library transforming "array of struct" to "struct of arrays" in a transparent manner for the library user.

Wilfried
July 18, 2011
Wilfried Kirschenmann:

> In fact, I would be more interested in the opposite :

If you allow that syntax on the left you probably allow it on the right too.

Bye,
bearophile
July 18, 2011
float[] buffers = malloc..;
float*[] CBuffers = buffers[].ptr;

Pure win.