is_rectangular_tuple(3) is_rectangular_tuple(3)

NAME

is_rectangular_tuple - rectangular tuple shape predicate

SYNOPSIS

#include <cfl/tuple/is_rectangular_tuple.hpp>

is_rectangular_tuple <
    tuple_c
    <
        tuple_c <int, float>,
        tuple_c <int, double>
    >
>::value == true;

is_rectangular_tuple <
    tuple_c
    <
        tuple_c <int>,
        tuple_c <int, double>
    >
>::value == false;

// dimensionless tuple corner case
is_rectangular_tuple <int>::value == true;

DESCRIPTION

Test whether a tuple has rectangular shape or not. The tuple does not need to be homogeneous, only its shape is tested. Empty and dimensionless tuples are regarded as rectangular. As non-tuples are interpreted as dimensionless tuples, they are consequently also rectangular.

RETURN VALUES

A member type type of cfl::predicate type.

STANDARDS

A standard CFL type factory, with the trailing underscore omitted.