#include #include "test.hpp" #define MATRIX(M, N) \ CHECK((metal::is_invocable, VALUE(M)>), (TRUE)); \ CHECK((metal::is_invocable, NUMBER(M)>), (TRUE)); \ CHECK((metal::is_invocable, PAIR(M)>), (TRUE)); \ CHECK((metal::is_invocable, LIST(M)>), (TRUE)); \ CHECK((metal::is_invocable, MAP(M)>), (TRUE)); \ CHECK((metal::is_invocable, LAMBDA(M)>), (TRUE)); \ CHECK((metal::is_invocable, LAMBDA(_)>), (TRUE)); \ CHECK((metal::identity), (VALUE(N))); \ CHECK((metal::identity), (NUMBER(N))); \ CHECK((metal::identity), (PAIR(N))); \ CHECK((metal::identity), (LIST(N))); \ CHECK((metal::identity), (MAP(N))); \ CHECK((metal::identity), (LAMBDA(N))); \ CHECK((metal::identity), (LAMBDA(_))); \ /**/ GEN(MATRIX)