Module dsi_bitstream::codes::params
source · Expand description
Mechanisms for selecting parameters.
Traits and structures in this file are of no interest for the standard
user. Their purpose is to provide a systematic way, and in particular
a default way, to select parameters for parameterized traits
such as GammaReadParam
and GammaWriteParam
.
The traits and structure in this module work closely with the
bitstream readers and writers in impls
, which have an
additional type parameter RP
/WP
that must
implement marker traits ReadParams
or WriteParams
, respectively.
The type is then used as a selector type to provide blanket implementations
of parameterless traits in codes
such as GammaRead
,
GammaWrite
, DeltaRead
, DeltaWrite
, and so on.
This module provides default selector types DefaultReadParams
and DefaultWriteParams
which are also the default value for the parameter RP
/WP
in the bitstream
readers and writers in crate::impls
. Type-selected blanket implementations
of all parameterless traits in crate::codes
are provided for the bitstream
readers and writers in impls
. Thus, if you not specify a value for the
parameter RP
/WP
, you will obtain automatically
the blanket implementations for parameterless traits contained in this module.
However, you can also create new selector types implementing ReadParams
/WriteParams
and
write blanket implementations for the bitstream readers and writers in crate::impls
where RP
/WP
is set to your selector types. Then, by specifying your type as value of the
parameter RP
/WP
when creating such readers and writers you will use
automatically your blanket implementations instead of the ones provided by this module.
Structs§
- A selector type for read parameters providing reasonable defaults.
- A selector type for write parameters providing reasonable defaults.
Traits§
- Marker trait for read-parameters selector types.
- Marker trait for write-parameters selector types.