ReplaceTypeUnless

Like ReplaceType, but does not perform replacement in types for which pred evaluates to true.

template ReplaceTypeUnless (
alias pred
From
To
T...
) {}

Examples

 import std.traits : isArray;

 static assert(
     is(ReplaceTypeUnless!(isArray, int, string, int*) == string*) &&
     is(ReplaceTypeUnless!(isArray, int, string, int[]) == int[]) &&
     is(ReplaceTypeUnless!(isArray, int, string, Tuple!(int, int[]))
         == Tuple!(string, int[]))
);

Meta

Suggestion Box / Bug Report