SmallCollections.jl

SmallCollectionsModule
SmallCollections

This packages provides several mutable and immutable collections that can hold a fixed or limited (small) number of elements and are much more efficient than Set and Vector, for example. This applies in particular to the immutable variants because they don't allocate. At present, subtypes of AbstractFixedVector, AbstractCapacityVector, AbstractSmallDict and AbstractSmallSet are defined as well as SmallBitSet.

If the package BangBang.jl is loaded, then many functions defined by this package are also available in !!-form. For example, setindex!! with a SmallVector as first argument calls setindex.

Bounds checking can be skipped for the functions defined in this package by using the @inbounds macro.

See AbstractFixedVector, AbstractCapacityVector, AbstractSmallDict, AbstractSmallSet, SmallBitSet, Base.@inbounds, Section "BangBang support".

source