Abstract Syntax Notation 1 is a high-level syntax specification created by the https://www.itu.int/en/pages/default.aspx, International Telecommunications Union in https://www.itu.int/rec/T-REC-X.680/en, X.680 - Abstract Syntax Notation One (ASN.1), that abstractly defines data structures and protocol data units used by programs and protocols. It defines an extensible system of data types, modules, and data structures.
The codecs in this library are values of an ASN1 encoding scheme. The type, length, and value are set using properties defined on abstract classes from which the encoding-specific values inherit. This module contains those abstract classes, and with these classes, it serves as the root module from which all other codec modules will inherit.