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 Description Tuple
combine(Tuple unmasked, Tuple masked, boolean useInheritance, boolean asComplementer)
Combines two substitutions.boolean
isIdentity()
<T> java.util.List<T>
transform(java.util.List<T> original)
Generates an immutable, masked view of the original tuple.Tuple
transform(ITuple 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
-
-
-
-
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.
-
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.
-
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.
-
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 classTupleMask
- 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 classTupleMask
- Returns:
- true iff this mask is a no-op
-
-