org.eclipse.viatra.query.runtime.matchers.tuple

## Class TupleMask0

- java.lang.Object
- - org.eclipse.viatra.query.runtime.matchers.tuple.TupleMask
  - - org.eclipse.viatra.query.runtime.matchers.tuple.TupleMask0

-     public final class TupleMask0
      extends TupleMask

  Since:
    1.7

- - ### Field Summary

    - ### Fields inherited from class org.eclipse.viatra.query.runtime.matchers.tuple.TupleMask

      `indices, sourceWidth`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Tuple` | `combine(Tuple unmasked, Tuple masked, boolean useInheritance, boolean asComplementer)` Combines two substitutions.
    `boolean` | `isIdentity()`
    `Tuple` | `transform(ITuple original)` Generates an immutable, masked view of the original tuple.
    `<T> java.util.List<T>` | `transform(java.util.List<T> original)` Generates an immutable, masked view of the original tuple.
    `TupleMask` | `transform(TupleMask mask)` Transforms a given mask directly, instead of transforming tuples that were transformed by the other mask.

    - ### Methods inherited from class org.eclipse.viatra.query.runtime.matchers.tuple.TupleMask

      `append, constructLinearSequence, displace, empty, equals, fromKeepIndicators, fromNonNullIndices, fromSelectedIndices, fromSelectedIndices, fromSelectedIndicesInternal, fromSelectedMonotonicIndicesInternal, getFirstOmittedIndex, getIndicesAsList, getSize, getSourceWidth, getValue, hashCode, identity, integersToIntArray, isNonrepeating, keepSelectedIndices, linear, omit, revertFrom, selectSingle, set, toString, transformUnique`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Method Detail

    - #### transform

          public <T> java.util.List<T> transform(java.util.List<T> original)

      Description copied from class: `TupleMask`
      Generates an immutable, masked view of the original tuple.

      The list will have arity `TupleMask.getSize()`, and will consist of the elements of the original tuple, at positions indicated by this mask.

      Overrides:
        `transform` in class `TupleMask`

    - #### transform

          public Tuple transform(ITuple original)

      Description copied from class: `TupleMask`
      Generates an immutable, masked view of the original tuple.

      The new tuple will have arity `TupleMask.getSize()`, and will consist of the elements of the original tuple, at positions indicated by this mask.

      Overrides:
        `transform` in class `TupleMask`

    - #### transform

          public TupleMask transform(TupleMask mask)

      Description copied from class: `TupleMask`
      Transforms a given mask directly, instead of transforming tuples that were transformed by the other mask.
      Overrides:
        `transform` in class `TupleMask`
      Returns:
        a mask that cascades the effects this mask after the mask provided as parameter.

    - #### combine

          public Tuple combine(Tuple unmasked,
                               Tuple masked,
                               boolean useInheritance,
                               boolean asComplementer)

      Description copied from class: `TupleMask`
      Combines two substitutions. The new pattern will contain all substitutions of masked and unmasked, assuming that the elements of masked indicated by this mask are already matched against unmasked. POST: the result will start with an exact copy of unmasked
      Overrides:
        `combine` in class `TupleMask`
      Parameters:
        `unmasked` - primary pattern substitution that is left intact.
        `masked` - secondary pattern substitution that is transformed to the end of the result.
        `useInheritance` - whether to use inheritance or copy umasked into result instead.
        `asComplementer` - whether this mask maps from the masked Tuple to the tail of the result or to the unmasked one.
      Returns:
        new pattern that is a combination of unmasked and masked.

    - #### isIdentity

          public boolean isIdentity()

      Overrides:
        `isIdentity` in class `TupleMask`
      Returns:
        true iff this mask is a no-op