Build a native pointer-array codec using a strict standard element
codec. Pass Settings to select a registered element codec for this array. Use
GenericArrayCodec for nested collections or custom item rules.
Build a native string-keyed map codec using a strict standard value
codec. Pass Settings to select a registered value codec for this map. Use
HashTableCodec for nested collections or custom value rules.
Create a strict standard codec for a scalar or concrete object type.
Used by create_codec_for_array and
create_codec_for_map when their element or value type needs no custom
codec. Pass Settings to use an exact-type registered object codec, including for
abstract object types. Otherwise abstract objects need an explicit codec. Generic collections and custom rules need an explicit codec.
Boxed numeric types use Vala's nullable generic arguments, e.g. int64? or double?. Use an explicit codec for nullable
int32 values.