Skip to content

Commit d53cd7f

Browse files
committed
Use newer C++ type traits
This applies clang-tidy's `modernize-type-traits` check.
1 parent 1090d1a commit d53cd7f

File tree

1 file changed

+25
-24
lines changed

1 file changed

+25
-24
lines changed

src/_image_resample.h

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -499,51 +499,52 @@ typedef enum {
499499
// T is rgba if and only if it has an T::r field.
500500
template<typename T, typename = void> struct is_grayscale : std::true_type {};
501501
template<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

504505
template<typename color_type>
505506
struct 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

Comments
 (0)