Bladeren bron

AK: Add a Conditional<condition, TrueType, FalseType> template

This allows you to select a type based on a compile-time condition.
Andreas Kling 5 jaren geleden
bovenliggende
commit
b98d8ad5b0
1 gewijzigde bestanden met toevoegingen van 11 en 0 verwijderingen
  1. 11 0
      AK/StdLibExtras.h

+ 11 - 0
AK/StdLibExtras.h

@@ -320,8 +320,19 @@ struct IsSame<T, T> {
     };
 };
 
+template<bool condition, class TrueType, class FalseType>
+struct Conditional {
+    typedef TrueType Type;
+};
+
+template<class TrueType, class FalseType>
+struct Conditional<false, TrueType, FalseType> {
+    typedef FalseType Type;
+};
+
 }
 
+using AK::Conditional;
 using AK::ceil_div;
 using AK::clamp;
 using AK::exchange;