J'avais fait cette lib pour répondre à un besoin personnel, et j'ai décidé de la publier même non finie au lieu de la laisser pourrir sur mon pc.
Pas mal de codebases n'autorisent pas C++20
C'est réellement pas mon problème. C++20 et C++23 apportent beaucoup de fonctionnalités très intéressante, je vois pas pourquoi je m'en priverais.
STL utilisée, et pour de mauvaises raisons en plus.
Tu as réussi a inférer mes raisons simplement en lisant le code ?
La raison c'est que je ne voulais aucune dépendance. Le langage de base me fournit tout ce dont j'ai besoin, je ne vois pas pourquoi j'irais chercher ailleurs.
Ce code utilise auto pour tout et n'importe quoi.
Oui, parce que l'inférence de type c'est bien.
Il y a des shared_ptr qui devraient vraiment être des unique_ptr, également.
Ca c'est le premier point ou je suis d'accord. Mais j'ai eu des problèmes avec unique_ptr:
std::initializer_list ne peut pas contenir de unique_ptr car quand on itère dessus, cela fait une copie
je ne peux pas initialiser un std::vector de unique_ptr pour la même raison, car le constructeur utilise std::initializer_list
Cela m'obligerait donc a créer le std::vector, faire des push_back avec std::move, et ensuite std::move le std::vector au constructeur qui en a besoin, chiant.
Alors oui, j'ai pris l'option de facilité, utiliser shared_ptr, ça marche bien.
aucun outil.
Libre à toi de faire une PR, c'est ça aussi l'opensource.
[^] # Re: Bof
Posté par David Delassus (site web personnel) . En réponse au lien AI Toolkit, donnez un cerveau à vos NPCs, une librairie C++ header-only. Évalué à 5. Dernière modification le 11 janvier 2024 à 22:26.
J'avais fait cette lib pour répondre à un besoin personnel, et j'ai décidé de la publier même non finie au lieu de la laisser pourrir sur mon pc.
C'est réellement pas mon problème. C++20 et C++23 apportent beaucoup de fonctionnalités très intéressante, je vois pas pourquoi je m'en priverais.
Tu as réussi a inférer mes raisons simplement en lisant le code ?
La raison c'est que je ne voulais aucune dépendance. Le langage de base me fournit tout ce dont j'ai besoin, je ne vois pas pourquoi j'irais chercher ailleurs.
Oui, parce que l'inférence de type c'est bien.
Ca c'est le premier point ou je suis d'accord. Mais j'ai eu des problèmes avec unique_ptr:
Cela m'obligerait donc a créer le std::vector, faire des
push_backavecstd::move, et ensuite std::move le std::vector au constructeur qui en a besoin, chiant.Alors oui, j'ai pris l'option de facilité, utiliser shared_ptr, ça marche bien.
Libre à toi de faire une PR, c'est ça aussi l'opensource.
Et pour finir :
C'est bien, personne ne t'oblige à l'utiliser.
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg