isBinaryOver

Returns true if the first argument is a binary function over the next one OR two parameter arguments

If one parameter is provided then it's duplicated.

Parameter arguments can be any compile time entity that can be typed. And the first argument can be a string that is also accpeted by std.functional.binaryFun in Phobos

Members

Manifest constants

isBinaryOver
enum isBinaryOver;
Undocumented in source.
isBinaryOver
enum isBinaryOver;
Undocumented in source.

Examples

void f0() {}
void f1(int a) {}
void f2(int a, int b) {}

static assert(!isBinaryOver!(null, int));
static assert(!isBinaryOver!((a => a), int));
static assert( isBinaryOver!((a, b) => a + b, int));
static assert( isBinaryOver!((a, b) => a + b, int, int));

static assert(!isBinaryOver!(f0, int));
static assert(!isBinaryOver!(f1, int));
static assert( isBinaryOver!(f2, int));
static assert( isBinaryOver!(f2, int, int));
static assert(!isBinaryOver!(f2, int, string));
static assert(!isBinaryOver!(f2, int, int, int));

static assert( isBinaryOver!(f2, 3));
static assert( isBinaryOver!(f2, 3, 3));
static assert( isBinaryOver!(f2, 3, int));

Meta