/** * Declares whether this is not a read-once instance. * * @return whether this instance can have multiple consumers */ public boolean isReusable() { return this.getDescriptor().isReusable(); }
@Override public String toString() { return String.format("%s[%s,%s%s]", this.getClass().getSimpleName(), this.getChannelClass().getSimpleName(), this.isReusable() ? "r" : "-", this.isSuitableForBreakpoint() ? "b" : "-" ); }
iterator.remove(); channelDescriptors = new HashSet<>(channelDescriptors); channelDescriptors.removeIf(channelDescriptor -> !channelDescriptor.isReusable()); kernelDestChannelDescriptorSetsToIndicesUpdates.add(new Tuple<>(channelDescriptors, indices));
if (channelDescriptor.isReusable() || newSettledIndices.cardinality() == 1) { if (channelDescriptor.isReusable()) { tree -> tree.reroot( channelDescriptor, channelDescriptor.isReusable() ? newSettledIndices : Bitmask.EMPTY_BITMASK, channelConversion, this.getCostEstimate(channelConversion) if (channelDescriptor.isReusable() && this.kernelDestChannelDescriptorSetsToIndices.size() > 1 && childSolutionSets.size() > 1