is_regular_tuple(3) is_regular_tuple(3)

NAME

is_regular_tuple - regular tuple predicate

SYNOPSIS

#include <cfl/tuple/is_regular_tuple.hpp>

is_regular_tuple <
    tuple_c
    <
        tuple_c <int, int>,
        tuple_c <int, int>
    >
>::value == true;

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

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

DESCRIPTION

Test whether a tuple is regular or not, i.e. if it at the same is homogeneous, rectangular and dense. Empty and dimensionless tuples are regarded as regular. As non-tuples are interpreted as dimensionless tuples, they are consequently also regular.

RETURN VALUES

A member type type of cfl::predicate type.

STANDARDS

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