Boost logo

Boost Users :

Subject: Re: [Boost-users] [gil] bad_cast exception
From: Christian Henning (chhenning_at_[hidden])
Date: 2009-01-27 15:50:49


Mhmm, somehow I screwed up. The following compiles fine now:

int main ( int argc , char **argv)
{
        typedef boost::mpl::vector<
                boost::gil::gray8_image_t,
                boost::gil::gray16_image_t,
                boost::gil::gray32_image_t,
                boost::gil::rgb8_image_t,
                boost::gil::rgb16_image_t,
                boost::gil::rgb32_image_t > my_img_types;

        typedef boost::mpl::vector<
                boost::gil::gray8_view_t,
                boost::gil::gray16_view_t,
                boost::gil::gray32_view_t,
                boost::gil::rgb8_view_t,
                boost::gil::rgb16_view_t,
                boost::gil::rgb32_view_t > my_view_types;

        boost::gil::any_image<my_img_types> runtime_image;
        boost::gil::any_image_view<my_view_types> runtime_view;

    runtime_view = boost::gil::nth_channel_view(
const_view(runtime_image) , 0 );

    return 0;
}

But when running I'm getting a bad_cast exception. What would you
expect the retrieve from nth_channel_view call? I mean what can of
image type is the correct one?

Christian

On Tue, Jan 27, 2009 at 3:31 PM, Olivier Tournaire <olitour_at_[hidden]> wrote:
>
>
> 2009/1/27 Christian Henning <chhenning_at_[hidden]>
>>
>> Hi Oliver,
>
>
> Hi Christian,
>
>>
>>
>> I don't get it to compile even when you put the nth_channel_view call
>> inside jpeg_write_view for a simple reason. nth_channel_view needs the
>> reference type of your any_image. But that's not possible since no one
>> knows what image type the any_image actually is. You can cast your
>> any_image to a specific image type using gil's variant::_dynamic_cast
>> member. Then you can use nth_channel_view.
>>
>> Are you sure your code compiles? Let me know if you keep having troubles.
>
> Yes, my code compiles fine with boost 1.36. In attachement, maybe you could
> try.
>
> Regards,
> Olivier
>>
>>
>> Regards,
>> Christian
>> _______________________________________________
>> Boost-users mailing list
>> Boost-users_at_[hidden]
>> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>
>
>
> --
> Olivier Tournaire
> MATIS - Institut Géographique National
> 73, Ave de Paris
> 94165 St Mandé cedex, France
>
> tel: (+33) 1 43 98 80 00 - 71 25
> fax: (+33) 1 43 98 85 81
>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net