writer method
Implementation
@override
void writer(BitBufferWriter writer, T t) {
int bestCodec = getBestCodec(codecs, t);
writer.writeInt(bestCodec,
signed: false, bits: getBitsNeeded(codecs.length - 1));
writer.writeCodec(codecs[bestCodec], t);
}