static f (int x){return x > 5;} static g (int x){return x < 10;} static h (int x){return x == 7;} alias q = and!(f,g,h); alias p = or!(f,g,h); assert (q(5) == false); assert (q(6) == false); assert (q(7) == true); assert (q(10) == false); assert (p(5) == true); assert (p(6) == true); assert (p(7) == true); assert (p(10) == true);
combine several runtime predicates with a logical conjunctive