43 typename RemoveRef<T>::ColorABGR cABGR,
48 typename RemoveRef<T>::Format fr) {
49 typename RemoveRef<T>::Representation;
50 typename RemoveRef<T>::Format;
51 typename RemoveRef<T>::ColorABGR;
52 typename RemoveRef<T>::ColorMap;
56 RemoveRef<T>(u32, fr);
57 RemoveRef<T>(u8, u8, u8);
58 RemoveRef<T>(u8, u8, u8, u8);
61 { obj.red() } -> std::convertible_to<uint8_t>;
62 { obj.green() } -> std::convertible_to<uint8_t>;
63 { obj.blue() } -> std::convertible_to<uint8_t>;
64 { obj.alpha() } -> std::convertible_to<uint8_t>;
66 { obj.redF() } -> std::same_as<float>;
67 { obj.greenF() } -> std::same_as<float>;
68 { obj.blueF() } -> std::same_as<float>;
69 { obj.alphaF() } -> std::same_as<float>;
71 { obj.hsvHue() } -> std::same_as<uint8_t>;
72 { obj.hsvSaturation() } -> std::same_as<uint8_t>;
74 { obj.hsvHueF() } -> std::same_as<float>;
75 { obj.hsvSaturationF() } -> std::same_as<float>;
77 { obj.rgba() } -> std::same_as<uint32_t>;
78 { obj.bgra() } -> std::same_as<uint32_t>;
79 { obj.bgr5() } -> std::same_as<unsigned short>;
80 { obj.rgb5() } -> std::same_as<unsigned short>;
82 { obj == obj } -> std::same_as<bool>;
83 { obj != obj } -> std::same_as<bool>;
84 { obj < obj } -> std::same_as<bool>;
88 { obj.red() } -> std::same_as<uint8_t&>;
89 { obj.green() } -> std::same_as<uint8_t&>;
90 { obj.blue() } -> std::same_as<uint8_t&>;
91 { obj.alpha() } -> std::same_as<uint8_t&>;
93 { obj.setAlpha(u8) } -> std::same_as<void>;
94 { obj.setRed(u8) } -> std::same_as<void>;
95 { obj.setGreen(u8) } -> std::same_as<void>;
96 { obj.setBlue(u8) } -> std::same_as<void>;
98 { obj.setRgb(u8, u8, u8) } -> std::same_as<void>;
99 { obj.setRgb(u8, u8, u8, u8) } -> std::same_as<void>;
100 { obj.set(u32, fr) } -> std::same_as<void>;
101 { obj.setAbgr(u32) } -> std::same_as<void>;
102 { obj.setArgb(u32) } -> std::same_as<void>;
103 { obj.setRgba(u32) } -> std::same_as<void>;
104 { obj.setBgra(u32) } -> std::same_as<void>;
105 { obj.setBgr5(u16) } -> std::same_as<void>;
106 { obj.setRgb5(u16) } -> std::same_as<void>;
107 { obj.setHsv(u8, u8, u8) } -> std::same_as<void>;
108 { obj.setHsv(u8, u8, u8, u8) } -> std::same_as<void>;
110 { obj.setAlphaF(f) } -> std::same_as<void>;
111 { obj.setRedF(f) } -> std::same_as<void>;
112 { obj.setGreenF(f) } -> std::same_as<void>;
113 { obj.setBlueF(f) } -> std::same_as<void>;
114 { obj.setRgbF(f, f, f) } -> std::same_as<void>;
115 { obj.setRgbF(f, f, f, f) } -> std::same_as<void>;
116 { obj.setHsvF(f, f, f) } -> std::same_as<void>;
117 { obj.setHsvF(f, f, f, f) } -> std::same_as<void>;