2014-09-05 62 views
1

我有一些選項非常詳細,如-length-strength,我想允許猜測它們,以便用戶可以剪切它們的名稱。我可以用Boost :: program_options解析猜測和不可猜測的選項嗎?

另一方面,一些選項的名稱短,其中包括像-K1-K10和那些當然猜測應該被禁用。

我也有一個位置選項,我想保留所有選項的標準檢查:例如我不想允許未知(打錯)選項。

我想知道如果存在方式與升壓:: program_options實現這個...

回答

1

至於I read the docsallow_guessing你想要做什麼。

事實上,它不允許猜測,在所有:

allow_guessing

允許縮寫拼寫長期的選項,如果他們明確地識別長選項。如果猜測有效,沒有長選項名稱應該是其他長選項名稱的前綴。

當然,後者聽起來像是一個令人擔憂的限制,但事實並非如此。它只是告訴你,如果你有--Kool以及--KoolAid然後猜測甚至會使完整的--Kool含糊不清(因爲它可能打算縮寫爲--KoolAid)。

--KoolA不會含糊不清。 也不應該-K(注意單個短劃線),因爲它不是一個長形式的選項,因此永遠不能是一個縮寫。

+0

你是那麼對!我誤會了「如果猜測有效,沒有長選項名稱應該是其他長選項名稱的前綴。」進入「如果你想使用猜測,你不能定義像」--K1「和」 - K10「這樣的選項,但這是不正確的。當前版本的Boost :: po按預期工作。 – DarioP 2014-09-05 14:26:27