Template template et nontyped parameter
Bonjour,
j'aimerai créer une template class qui réutilise les template parameters d'une autre template class:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
template<typename BitDepth=uint8_t, BitDepth _MAX=UINT8_MAX>
struct RGB {
static const BitDepth MAX_VALUE = _MAX;
BitDepth r;
}
template<template <typename BitDepth, BitDepth MaxValue> class Pixel>
class ScaleStage {
protected:
BitDepth min, max;
void process(Pixel& p) {
p->red = MaxValue;
}
}
using RGB8 = RGB<uint8_t, UINT8_MAX>;
using ScaleStage8 = ScaleStage<RGB8>; |
Je m'attendais à ce que cela produise cet équivalent:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
struct RGB8 {
static const char MAX_VALUE = UINT8_MAX;
char r;
}
class ScaleStage8 {
protected:
char min, max;
void process(RGB8& p) {
p->red = UINT8_MAX;
}
} |
Vous auriez des suggestions pour réussir à réaliser ça?