taggedRegionAliases

Create aliases for Region, TaggedInterval and TaggedPoint with given name. This creates three aliases NameRegion, NameInterval and NameCoordinate with Name replaced by given regionName. The remaining template arguments are passed to Region except for tagAlias. If omitted it will be derived from regionName by lowering the first character and appending Id, e.g. nameId.

Members

Manifest constants

_tagAlias
enum _tagAlias;
Undocumented in source.
_tagAlias
enum _tagAlias;
Undocumented in source.
taggedRegionAliases
enum taggedRegionAliases;
Undocumented in source.

Examples

Creates three aliases ReferenceRegion, ReferenceInterval and ReferenceCoordinate. The remaining template arguments are passed to Region (except for tagAlias, see next example).

mixin(taggedRegionAliases!("Reference", ulong, uint, "contigId", uint.max));

static assert(is(ReferenceRegion == Region!(ulong, uint, "contigId", uint.max)));
static assert(is(ReferenceInterval == ReferenceRegion.TaggedInterval));
static assert(is(ReferenceCoordinate == ReferenceRegion.TaggedPoint));
static assert(ReferenceCoordinate().contigId == uint.max);

A tag alias is automatically derived from regionName by starting with a lowercase letter and appending Id if omitted.

mixin(taggedRegionAliases!("Read", ulong, uint));

static assert(is(ReadRegion == Region!(ulong, uint, "readId")));
static assert(is(ReadInterval == ReadRegion.TaggedInterval));
static assert(is(ReadCoordinate == ReadRegion.TaggedPoint));

Meta