Ouai je vois du coup.
Vu que j'aime pinailler tu pourrais aussi faire comme ça :
structColor{enumclassBases{GREEN,RED};enumclassModifiers{LIGHT,DARK};Basesbase;Modifiersmodifier;boolisDark()const{returnmodifier==Modifiers::DARK;}};autoc{colors::Bases::GREEN,colors::Modifiers::DARK};// Why not add a user defined literal for the funconstevalColoroperator""_color(constchar*,std::size_t){// ...}autoc="GREEN DARK"_color;
En vrai tu perds l'auto-complétions ou bien c'est beaucoup plus verbeux. En plus le code est plus complexe, je pense pas que ça une meilleur solution.
L'exemple était un peu particulier et effectivement, une technique comme celle-ci serait plus intéressante.
Dans un code actuel, j'ai utilisé un namespace pour le nom de l'énumération, une enum class ID et des fonctions libres dans le namespace. Mais je ne suis pas satisfait à 100%. En reprenant l'exemple ci-dessus :
Ca reprends l'idée de la surcharge de l'opérateur ->* dont j'ai parlé précédemment, mais j'avais fait ça il y a quelque temps qui pourrait peut être faire ce que tu veux dans ton cas github.com/Baduit/Unic . Ca reprends l'idée de l'Uniform function call syntax qui existe dans d'autres langage (et il y a aussi des propositions d'intégration en C++ mais aucune n'a aboutit il me semble)
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
C'est un contournement possible. Faudrait que j'essaye.
Effectivement, la nécessité de convertir depuis/vers des chaines de caractères est un besoin qui ressort vite.
J'ai aussi des codes où j'ai besoin de catégoriser les valeurs de l'énumération. Genre :
Ouai je vois du coup.
Vu que j'aime pinailler tu pourrais aussi faire comme ça :
En vrai tu perds l'auto-complétions ou bien c'est beaucoup plus verbeux. En plus le code est plus complexe, je pense pas que ça une meilleur solution.
L'exemple était un peu particulier et effectivement, une technique comme celle-ci serait plus intéressante.
Dans un code actuel, j'ai utilisé un namespace pour le nom de l'énumération, une enum class ID et des fonctions libres dans le namespace. Mais je ne suis pas satisfait à 100%. En reprenant l'exemple ci-dessus :
Ca reprends l'idée de la surcharge de l'opérateur ->* dont j'ai parlé précédemment, mais j'avais fait ça il y a quelque temps qui pourrait peut être faire ce que tu veux dans ton cas github.com/Baduit/Unic . Ca reprends l'idée de l'Uniform function call syntax qui existe dans d'autres langage (et il y a aussi des propositions d'intégration en C++ mais aucune n'a aboutit il me semble)