J'ai une classe sur <PIXEL>
basé sur un modèle, supposé être l'un des types de pixels de boost::gil
(pour l'instant, que ce soit gray8_pixel_t
ou gray16_pixel_t
, et je me attends seulement pour soutenir les types de pixels homogènes à l'avenir rgb8_pixel_t
par exemple). La classe doit saisir unsigned char
ou unsigned short
selon le type de pixel; Je suppose que c'est enterré quelque part dans la classe de pixels, mais aucun de PIXEL::value_type
, PIXEL::channel_type
ou PIXEL::channel_type::value type
ne semble être ce que je veux.Comment extraire le canal POD-type d'un type de pixel homogène boost :: gil?
Quel est le truc?
(je pourrais bien sûr utiliser type indirection par certains struct d'aide spécialisée modèle à obtenir cette information:
template <typename PIXEL> struct types_for
{};
template <> struct types_for<boost::gil::gray8_pixel_t>
{typedef unsigned char channel_type;};
template <> struct types_for<boost::gil::gray16_pixel_t>
{typedef unsigned short channel_type;};
mais GIL doit sûrement fournir déjà quelque chose d'équivalent, si je pouvais trouver ...)