2013/1/28 Christian Henning <chhenning@gmail.com>
Hi,

On Mon, Jan 28, 2013 at 9:53 AM, TONGARI <tongari95@gmail.com> wrote:
> Hi there,
>
> I'm curious of why gil::get_color(pixel, tag) is defined that way.
> Any need to take the tag value?
>
> If not, I'd prefer gil::get_color<Tag>(pixel) or just gil::get<Tag>(pixel)
> or even Tag::get(pixel).

You can use the "at_c" function.

rgb8_pixel_t p( 10, 20, 30);
unsigned char c = at_c<0>( p );
assert( c == 10 );

That doesn't really answer my question...
I just wonder the rationale for taking the tag value.

I know there are at_c/semantic_at_c things, but they don't fit my need.
Those functions are useful if I'm an end-user who knows the exact format, 
but I'm writing a 2D graphics lib building on GIL that intends to support all types the user gave,
so index means nothing here, I must get the component by tag, thus get<red_t>(c) won't compile if the user gives cmyk.
 
>
> And if possible, I hope GIL would just make pixel a Fusion sequence.
>

I'm very interested in ideas to improve gil! Since I'm not familiar
with a fusion sequence could you elaborate a little further.

I imagine it to be an Associative Sequence in Fusion (naturally or adapted).
So I can just use the algorithms provided by Fusion, which seem to overwhelm the static_xxxs in GIL.


Thanks.