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 if isbitstype holds for the element type. At present, FixedVector, SmallVector, SmallDict and SmallSet and their mutable counterparts are defined as well as PackedVector and SmallBitSet.

The submodule Combinatorics contains functions related to enumerative combinatorics.

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, AbstractSmallDict, AbstractSmallSet, AbstractSmallVector, PackedVector, SmallBitSet, Combinatorics, Base.@inbounds, Base.isbitstype, Section "BangBang support".

source