Class ImmutableContainer
java.lang.Object
com.illumon.iris.db.v2.utils.rsp.container.Container
com.illumon.iris.db.v2.utils.rsp.container.ImmutableContainer
- Direct Known Subclasses:
EmptyContainer
,SingleRangeContainer
,SingletonContainer
,TwoValuesContainer
public abstract class ImmutableContainer extends Container
-
Field Summary
Fields Modifier and Type Field Description static boolean
ENABLED
Fields inherited from class com.illumon.iris.db.v2.utils.rsp.container.Container
ContainerNames, DEBUG, MAX_RANGE, MAX_VALUE, threadLocalBuf
-
Constructor Summary
Constructors Constructor Description ImmutableContainer()
-
Method Summary
Modifier and Type Method Description Container
cowRef()
Get a shared, copy-on-write copy of an existing container.Container
deepCopy()
Get a full deep copy of the container in a new container object.Container
iadd(int begin, int end)
Add all shorts in [begin,end) using an unsigned interpretation.Container
iand(ArrayContainer x)
Computes the in-place bitwise AND of this container with another (intersection).Container
iand(BitmapContainer x)
Computes the in-place bitwise AND of this container with another (intersection).Container
iand(RunContainer x)
Computes the in-place bitwise AND of this container with another (intersection).Container
iandNot(ArrayContainer x)
Computes the in-place bitwise ANDNOT of this container with another (difference).Container
iandNot(BitmapContainer x)
Computes the in-place bitwise ANDNOT of this container with another (difference).Container
iandNot(RunContainer x)
Computes the in-place bitwise ANDNOT of this container with another (difference).Container
iandRange(int start, int end)
Calculate the intersection of this container and a range; may overwrite the existing container or return a new one.Container
iappend(int begin, int end)
Add all shorts in [begin,end) using an unsigned interpretation.Container
inot(int rangeStart, int rangeEnd)
Computes the in-place bitwise NOT of this container (complement).Container
ior(ArrayContainer x)
Computes the in-place bitwise OR of this container with another (union).Container
ior(BitmapContainer x)
Computes the in-place bitwise OR of this container with another (union).Container
ior(RunContainer x)
Computes the in-place bitwise OR of this container with another (union).Container
iremove(int begin, int end)
Remove shorts in [begin,end) using an unsigned interpretation.Container
iset(short x)
Insert a short to the container.boolean
isShared()
Container
iunset(short x)
Create a new container with the short removed.Container
ixor(ArrayContainer x)
Computes the in-place bitwise XOR of this container with another (symmetric difference).Container
ixor(BitmapContainer x)
Computes the in-place bitwise XOR of this container with another (symmetric difference).Container
ixor(RunContainer x)
Computes the in-place bitwise XOR of this container with another (symmetric difference).Methods inherited from class com.illumon.iris.db.v2.utils.rsp.container.Container
add, and, and, and, and, andNot, andNot, andNot, andNot, andRange, bytesAllocated, bytesUsed, check, contains, contains, contains, contains, contains, contains, empty, find, findRanges, first, forEach, forEach, forEachRange, full, getCardinality, getContainerName, getReverseShortIterator, getShortBatchIterator, getShortIterator, getShortRangeIterator, iand, iandNot, ifDebugValidate, iflip, intersects, intersects, ior, isAllOnes, isEmpty, isFull, isSingleElement, ixor, last, nextValue, not, numberOfRanges, or, or, or, or, overlaps, overlaps, overlaps, overlaps, overlapsRange, rangeOfOnes, rank, remove, remove, runOptimize, select, select, selectRanges, set, setCopyOnWrite, singleRange, singleton, subsetOf, subsetOf, subsetOf, subsetOf, toBitmapContainer, toString, trim, twoRanges, twoValues, unset, validate, xor, xor, xor, xor
-
Field Details
-
ENABLED
public static final boolean ENABLED
-
-
Constructor Details
-
ImmutableContainer
public ImmutableContainer()
-
-
Method Details
-
deepCopy
Description copied from class:Container
Get a full deep copy of the container in a new container object. -
cowRef
Description copied from class:Container
Get a shared, copy-on-write copy of an existing container. Mutations on the returned container will always return a copy and leave the original container unchanged.This operation allows for cheap read-only references to the same values, at the cost of an additional copy for any first mutation.
-
iset
Description copied from class:Container
Insert a short to the container. May generate a new container. -
iunset
Description copied from class:Container
Create a new container with the short removed. -
iadd
Description copied from class:Container
Add all shorts in [begin,end) using an unsigned interpretation. May generate a new container. -
iappend
Description copied from class:Container
Add all shorts in [begin,end) using an unsigned interpretation. May generate a new container. The beginning of the range should be strictly greater than the last value already present in the container, if there is one. -
iand
Description copied from class:Container
Computes the in-place bitwise AND of this container with another (intersection). The current container is generally modified, whereas the provided container (x) is unaffected. May generate a new container. -
iand
Description copied from class:Container
Computes the in-place bitwise AND of this container with another (intersection). The current container is generally modified, whereas the provided container (x) is unaffected. May generate a new container. -
iand
Description copied from class:Container
Computes the in-place bitwise AND of this container with another (intersection). The current container is generally modified, whereas the provided container (x) is unaffected. May generate a new container. -
iandNot
Description copied from class:Container
Computes the in-place bitwise ANDNOT of this container with another (difference). The current container is generally modified, whereas the provided container (x) is unaffected. May generate a new container. -
iandNot
Description copied from class:Container
Computes the in-place bitwise ANDNOT of this container with another (difference). The current container is generally modified, whereas the provided container (x) is unaffected. May generate a new container. -
iandNot
Description copied from class:Container
Computes the in-place bitwise ANDNOT of this container with another (difference). The current container is generally modified, whereas the provided container (x) is unaffected. May generate a new container. -
inot
Description copied from class:Container
Computes the in-place bitwise NOT of this container (complement). Only those bits within the range are affected. The current container is generally modified. May generate a new container. -
ior
Description copied from class:Container
Computes the in-place bitwise OR of this container with another (union). The current container is generally modified, whereas the provided container (x) is unaffected. May generate a new container. -
ior
Description copied from class:Container
Computes the in-place bitwise OR of this container with another (union). The current container is generally modified, whereas the provided container (x) is unaffected. May generate a new container. -
ior
Description copied from class:Container
Computes the in-place bitwise OR of this container with another (union). The current container is generally modified, whereas the provided container (x) is unaffected. May generate a new container. -
iremove
Description copied from class:Container
Remove shorts in [begin,end) using an unsigned interpretation. May generate a new container. -
ixor
Description copied from class:Container
Computes the in-place bitwise XOR of this container with another (symmetric difference). The current container is generally modified, whereas the provided container (x) is unaffected. May generate a new container. -
ixor
Description copied from class:Container
Computes the in-place bitwise XOR of this container with another (symmetric difference). The current container is generally modified, whereas the provided container (x) is unaffected. May generate a new container. -
ixor
Description copied from class:Container
Computes the in-place bitwise XOR of this container with another (symmetric difference). The current container is generally modified, whereas the provided container (x) is unaffected. May generate a new container. -
iandRange
Description copied from class:Container
Calculate the intersection of this container and a range; may overwrite the existing container or return a new one. -
isShared
public final boolean isShared()
-