Como se pode obter o tamanho de um tipo para o qual se tem uma codificaçã

Dado um tipo de Objective-Ctype, pode-se obter ocodificaçã encoding e tamanhosize do tipo facilmente:

const char *encoding = @encode(type);
size_t size = sizeof(type);

Muito diferente, temos mapeamentos

@encode: type_t -> const char *
sizeof:  type_t -> size_t

Isto levanta duas questões:

(1) Suponha que, em vez de ter um tipo, tenhamos apenas uma codificação. Seria bom obter um mapeamento

sizeofencodedtype: const char * -> size_t

que para cada type_t type nós temos isso

sizeofencodedtype(@encode(type)) = sizeof(type)

Essa função já existe? Caso contrário, como alguém pode construir um?

(2) Idealmente, poderíamos inverter o@codifica mapeamento para fazer um mapeamento

decode: const char * -> type_t

mas isso não parece ser possível, já que type_t não é um tipo C real. Eu acho que eu poderia esperar por@decodifica a ser adicionado ao idioma, mas isso não é muito realista ou é sensível ao tempo. Mas não deve ser possível instanciar um tipo em tempo de execução usando sua codificação?

Referências: Guia de Programação em Objective-C Runtime - Codificações de Tipo