|
Boost : |
Subject: Re: [boost] [GIL] scoped_channel_value type
From: Lubomir Bourdev (lbourdev_at_[hidden])
Date: 2010-07-22 11:26:18
Hi Fabien,
Notice that, even after Christian's changes, ChannelValue::base_channel_t
will not always be available because ChannelValue could be a built-in type.
So if you want to extract this, you will have to special-case
scoped_channel_value anyway. So in this case you don't need a typedef
inside.
You can just define a specialization like this:
Template <typename ChannelValue>
Struct base_channel_value {
typedef ChannelValue type;
};
Template <typename ChannelValue, typename MinV, typename MaxV>
Struct base_channel_value<scoped_channel_value<ChannelValue, MinV, MaxV> >
{
typedef ChannelValue type;
};
Lubomir
On 7/22/10 7:05 AM, "fabien.castan_at_[hidden]" <fabien.castan_at_[hidden]> wrote:
> Hi,
>
> I would like to get the value type of the channels depending on an image view.
> So I can get the scoped channel type, from MyView type, like this:
> typedef typename boost::gil::channel_type<MyView>::type MyScopedChannel;
>
> But I can't get the primitive type used by the scoped channel.
>
> For example, if the type is scoped_channel_value<float,float_zero,float_one>,
> I can't get the float type.
>
> /// \ingroup ScopedChannelValue
> /// \brief A channel adaptor that modifies the range of the source channel.
> Models: ChannelValueConcept
> template <typename BaseChannelValue, // base channel (models
> ChannelValueConcept)
> typename MinVal, typename MaxVal> // classes with a static apply()
> function returning the minimum/maximum channel values
> struct scoped_channel_value {
> typedef BaseChannelValue base_channel_t; //< missing typedef
> //...
> }
>
> So this will allows to use:
> typedef typename boost::gil::channel_type<MyView>::type::base_channel_t
> ChannelBaseType;
>
> Are you agree to add this typedef ?
>
> Best regards,
> Fabien Castan
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk