base_n::encode_algorithm

Defined in header <mgs/base_n/encode_algorithm.hpp>.

template <base_n::encoding_traits Traits, codecs::input_source IS>
   requires Traits::padding_policy != padding_policy::optional
class encode_algorithm;

The class template encode_algorithm provides a generic implementation for BaseN encoding, and models codecs::input_source.

The encoding’s characteristics are provided via the Traits template parameter.

Note

encode_algorithm will model codecs::sized_input_source if IS models it.


Valid padding policies are:

  • padding_policy::none - Output will not be padded.

  • padding_policy::required - Output will be padded.

Note

padding_policy::optional does not make sense when encoding.

Template parameters

Name

Description

Traits

Encoding traits, must model base_n::encoding_traits.

IS

Input source type, must model codecs::input_source.

Member functions

Name

Description

(constructor)

Constructs an algorithm function object

read

Fills a buffer with encoded output

max_remaining_size

Computes the maximum number of remaining bytes