Sie möchten, dass Optionen bei Verwendung von Boost-Programmoptionen mehrfach angegeben werden. Im Moment bekomme ich mehrere Vorkommen

8

Ich verwende boost program_options 1.50.0

Ich möchte folgendes für mein Programm foobar erlauben foobar --debug 2 --debug 3

Aus dem Code boost program_options gibt es ein Beispiel regex.cpp, das das Erstellen eines neuen Typs und das Erstellen eines Validators für diesen Typ zeigt.
Ich habe das versucht, und es funktioniert, aber jetzt kann ich nicht einige der anderen add_options () typed_value Optionen wie default_value, composing, etc.

verwenden

Folgendes habe ich bisher versucht:

%Vor%

Also wenn ich das tue: foobar --debug 2 --debug 3

Wenn ich die aktuelle Debug-Option auskommentiere ....

%Vor%

... und die folgenden zwei Zeilen auskommentieren:

%Vor%

... dann kompiliert es nicht einmal.

Weißt du wie man das macht, damit ich default_value und composing benutzen kann? Es könnte von typed_value erben, aber ich habe noch keinen guten Weg gefunden, dies zu tun.

    
Matt Frazer 06.10.2012, 00:49
quelle

1 Antwort

5

Ich glaube nicht, dass Sie einen benutzerdefinierten Typ mit einem Validator definieren müssen, um das gewünschte Ergebnis zu erzielen. Dies kann mit der vorhandenen semantischen Informationsunterstützung der Bibliothek geschehen. Betrachten Sie dieses Beispiel

%Vor%

und Beispielverwendung:

%Vor%     
Sam Miller 16.01.2013, 22:04
quelle