Ich bin mit der Boost-Option Programm und ich möchte eine Option anbieten, die drei Möglichkeiten haben:Wie haben Sie einen optionalen Optionswert in den Boost-Programmoptionen?
- Wenn nicht
- definieren Wenn definiert, aber keinen Wert
- Wenn mit einem Wert definiert
Zum Beispiel habe ich ein Programm, das auf eine Datei wie a.jpg funktioniert, und ich möchte den Benutzer bieten, um es in den folgenden Szenarien verwenden zu können:
myapp.exe a.jpg : process jpeg
myapp.exe a.jpg -e : process jpeg and generate report at the same directory as a.jpg
myapp.exe a.jpg -e c:\tmp\ : process jpeg and generate report at c:\tmp\
Wie kann ich das mit den Boost-Programmoptionen machen?
Nizza und prägnant. Ich habe eine Sache gelernt :) – sehe
Latest [Boost-1.59] (http://www.boost.org/users/history/version_1_59_0.html) ändert dieses Verhalten. Wenn Sie 'implicit_value' und' default_value' definieren, können Sie den Wert z. B. '--argument 3' nicht setzen. Wenn Sie '--argument' hinzufügen, wird ein impliziter Wert verwendet. Wenn nicht, wird der Standardwert verwendet. Auch: Wenn nur 'implicit_value' definiert ist und das Argument nicht existiert, ist der Argumentwert nicht definiert. –
Während dies in der Dokumentation schon seit Jahren der Fall war und der Code "nur" so angepasst wurde, dass er der Dokumentation entsprach, wäre ich offen für Argumente, um sowohl Dokumente als auch Code in die anderen Richtungen zu ändern. Ein Problem bei Github zu öffnen wäre der beste Ansatz, wenn Sie möchten. –