Locally-Adaptive Vector Quantization

Data Loaders and Compressors

template<size_tPrimary,size_tResidual=0,size_tExtent=Dynamic,LVQPackingStrategyStrategy=Sequential,typenameAlloc=lib::Allocator<std::byte>>
classLVQDataset

Public Functions

size_tprimary_dataset_alignment()const

Return the alignment of the primary dataset.

const_value_typeget_datum(size_ti)const

Access both levels of the two-level dataset.

Return a type that lazily combines the primary and residual.

voidprefetch(size_ti)const

Prefetch data in the first and second level datasets.

const_primary_value_typeget_primary(size_ti)const

Access only the first level of the dataset.

const_residual_value_typeget_residual(size_ti)const

Access only the residual dataset.

constprimary_type&get_primary_dataset()const

Access the entire primary dataset.

voidprefetch_primary(size_ti)const

Prefetch only the primary dataset.

Utilities and Helpers

structReload

Dispatch type indicating that a compressed dataset should be reloaded directly.

LVQ based loaders can either perform dataset compression online, or reload a previously saved dataset.

Using this type in LVQ loader constructors indicates that reloading is desired.

Public Functions

inlineexplicitReload(conststd::filesystem::path&directory)

Construct a new Reloader.

Parameters:

directory – The directory where a LVQ compressed dataset was previously saved.