.. _base_n-basic_codec: ******************* base_n::basic_codec ******************* Defined in header ````. .. code-block:: cpp template class basic_codec; The class template **basic_codec** provides a generic implementation of BaseN codecs, that models the :ref:`codec` concept. The definitions of the encoding/decoding operations are supplied via the template parameters, which must model :ref:`encoding_traits`. ---- Template parameters =================== .. table:: :align: left ================= ======================================================================= Name Description ================= ======================================================================= **EncoderTraits** Encoding traits used to encode input, must model :ref:`encoding_traits` **DecoderTraits** Encoding traits used to decode input, defaulted to **EncoderTraits** ================= ======================================================================= Member types ============ .. toctree:: :hidden: :titlesonly: traits .. table:: :align: left ========================================== ================ Name Description ========================================== ================ :doc:`traits ` The codec traits ========================================== ================ Member functions ================ .. toctree:: :hidden: :titlesonly: encoded_size max_decoded_size .. table:: ================================================================================ ======================================================= Name Description ================================================================================ ======================================================= :doc:`encoded_size ` [static] Computes the encoded size given a decoded size :doc:`max_decoded_size ` [static] Computes the maximum decoded size given an encoded size ================================================================================ ======================================================= Inherited from :ref:`basic_codec` ================================= Member functions ---------------- .. table:: :align: left ================================================================================================ ================== Name Description ================================================================================================ ================== :doc:`encode ` [static] Encodes input :doc:`decode ` [static] Decodes input :doc:`make_encoder ` [static] Creates an encoder :doc:`make_decoder ` [static] Creates a decoder ================================================================================================ ==================