@@ -499,51 +499,52 @@ typedef enum {
499499// T is rgba if and only if it has an T::r field.
500500template <typename T, typename = void > struct is_grayscale : std::true_type {};
501501template <typename T> struct is_grayscale <T, std::void_t <decltype (T::r)>> : std::false_type {};
502+ template <typename T> constexpr bool is_grayscale_v = is_grayscale<T>::value;
502503
503504
504505template <typename color_type>
505506struct type_mapping
506507{
507- using blender_type = typename std::conditional <
508- is_grayscale <color_type>::value ,
508+ using blender_type = std::conditional_t <
509+ is_grayscale_v <color_type>,
509510 agg::blender_gray<color_type>,
510- typename std::conditional <
511- std::is_same <color_type, agg::rgba8>::value ,
511+ std::conditional_t <
512+ std::is_same_v <color_type, agg::rgba8>,
512513 fixed_blender_rgba_plain<color_type, agg::order_rgba>,
513514 agg::blender_rgba_plain<color_type, agg::order_rgba>
514- >::type
515- >::type ;
516- using pixfmt_type = typename std::conditional <
517- is_grayscale <color_type>::value ,
515+ >
516+ >;
517+ using pixfmt_type = std::conditional_t <
518+ is_grayscale_v <color_type>,
518519 agg::pixfmt_alpha_blend_gray<blender_type, agg::rendering_buffer>,
519520 agg::pixfmt_alpha_blend_rgba<blender_type, agg::rendering_buffer>
520- >::type ;
521- using pixfmt_pre_type = typename std::conditional <
522- is_grayscale <color_type>::value ,
521+ >;
522+ using pixfmt_pre_type = std::conditional_t <
523+ is_grayscale_v <color_type>,
523524 pixfmt_type,
524525 agg::pixfmt_alpha_blend_rgba<
525- typename std::conditional <
526- std::is_same <color_type, agg::rgba8>::value ,
526+ std::conditional_t <
527+ std::is_same_v <color_type, agg::rgba8>,
527528 fixed_blender_rgba_pre<color_type, agg::order_rgba>,
528529 agg::blender_rgba_pre<color_type, agg::order_rgba>
529- >::type ,
530+ >,
530531 agg::rendering_buffer>
531- >::type ;
532- template <typename A> using span_gen_affine_type = typename std::conditional <
533- is_grayscale <color_type>::value ,
532+ >;
533+ template <typename A> using span_gen_affine_type = std::conditional_t <
534+ is_grayscale_v <color_type>,
534535 agg::span_image_resample_gray_affine<A>,
535536 agg::span_image_resample_rgba_affine<A>
536- >::type ;
537- template <typename A, typename B> using span_gen_filter_type = typename std::conditional <
538- is_grayscale <color_type>::value ,
537+ >;
538+ template <typename A, typename B> using span_gen_filter_type = std::conditional_t <
539+ is_grayscale_v <color_type>,
539540 agg::span_image_filter_gray<A, B>,
540541 agg::span_image_filter_rgba<A, B>
541- >::type ;
542- template <typename A, typename B> using span_gen_nn_type = typename std::conditional <
543- is_grayscale <color_type>::value ,
542+ >;
543+ template <typename A, typename B> using span_gen_nn_type = std::conditional_t <
544+ is_grayscale_v <color_type>,
544545 agg::span_image_filter_gray_nn<A, B>,
545546 agg::span_image_filter_rgba_nn<A, B>
546- >::type ;
547+ >;
547548};
548549
549550
0 commit comments