#include "tensorstore/index_space/alignment.h"
enum class tensorstore::DomainAlignmentOptions;

Specifies options for aligning index domains.

enumerator none = 0;

Source and target domains must be equal (labels are ignored).

enumerator permute = 1;

Source dimensions may be permuted based on their labels in order to align the source domain to the target domain.

enumerator translate = 2;

Source dimensions may be translated in order to align the source domain to the target domain.

enumerator broadcast = 4;

Source dimensions of size 1 do not have to match a target dimension, and not all target dimensions must match a source dimension.

enumerator all = 7;

Dimensions may be permuted, translated, or broadcast to align the source domain to the target domain.

constexpr DomainAlignmentOptions
tensorstore::operator|(DomainAlignmentOptions a,
                       
DomainAlignmentOptions b);

Computes the union of the options.

constexpr DomainAlignmentOptions
tensorstore::operator&(DomainAlignmentOptions a,
                       
DomainAlignmentOptions b);

Computes the intersection of the options.

constexpr bool tensorstore::operator!(DomainAlignmentOptions a);

Checks if no options are set.