boostorg / boostorg/program_options
More robust common_config_file_iterator
- Langage dominant
- C++
- Étoiles
- 136
- Forks
- 117
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
common_config_file_iterator::common_config_file_iterator has a little problem: One of the args is std::set, which is incompatible between libc++ and libstdc++. As a result, the function, if compiled with {GCC, Clang}, is incompatible with {Clang, GCC). This can be fixed without breaking anything by moving it to the header part and declaring it static. What are your opinions about it?
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Localisez la déclaration et la définition de common_config_file_iterator, puis examinez comment son argument std::set traverse l’interface compilée. Comparez les builds avec GCC et Clang et vérifiez que le déplacement de l’implémentation dans le header et sa déclaration en tant que static préservent la compatibilité. Le travail est terminé lorsque l’itérateur peut être utilisé avec ces combinaisons de compilateurs sans l’incompatibilité signalée.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- cpp
- Domaine
- cli, compilers
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 45/100