SkillAgentSearch skills...

Fvec

Uma simples e otimizada implementação de Arrays Dinâmicos (vetores) em C

Install / Use

/learn @Defmc/Fvec
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Fast Vector

Uma simples e otimizada implementação de Arrays Dinâmicos (vetores) em C. Tem como foco ser otimizada para alocação/realocação/desalocação de valores e rápida para procura de dados.

Seu funcionamento é semelhante às classes genéricas presentes em diversas linguagens de programação moderna e busca otimizar funções simples (como acesso a um valor baseado em seu índice) por meio de expressões de metaprogramação geradas em compile-time. Não possuindo uma pilha de chamadas para a execução da macro.

Utilização

Para implementar a fvec para um tipo específico, antes é necessário declará-lo por meio da macro fvec_define(<tipo>) de modo a gerar toda a programação referente a struct da mesma e funções auxiliares.

Após isso, basta utilizar todas as funções geradas de modo a acrescentar o nome do tipo ao final da mesma, como fvec_new<tipo> seria para o tipo int o equivalente a fvec_newint.

Garantindo que a implementação para um tipo de fvec não ocorra duas vezes

Para garantir que não haverão chamadas duplicadas em relação a definição de fvec para novos tipos, basta utilizar um header guard em um arquivo onde conteria todas as definições (algo como fvec_impl.h).

Documentação

Toda a documentação pode ser conferida no arquivo de documentação do repositório. Em caso de dúvidas, você também pode me convocar no Discord pelo usuário Defmc#2687.

Contribuições

Há várias formas de contribuir para o projeto, você pode por exemplo, abrir um Pull Request para contribuições de código. Outras formas disponíveis é por meio de Issues quanto a utilização da classe e/ou sugestões de implementação de novos recursos ou remodelagem dos já existentes.

View on GitHub
GitHub Stars10
CategoryDevelopment
Updated1y ago
Forks1

Languages

C

Security Score

75/100

Audited on Dec 20, 2024

No findings