我使用程序選項來解析我的應用程序的命令行選項。如何在不使用變量的情況下啓用Boost Program Options中的其他選項?
我有幾個選項,如-Ox,-Oy,-Oz,...我想要一個超級選項-Oall使Ox和Oy以及另一個使Oz和Ow成爲可能的-OOsub。
有沒有辦法使用Boost程序選項做到這一點?
首先,我想檢查Oall的值,然後手動啓用Ox和Oy,但在解析後無法編輯值。
我想避免使用變量來存儲Ox,Oy的值,因爲我可以有很多這樣的選項。
感謝
我使用程序選項來解析我的應用程序的命令行選項。如何在不使用變量的情況下啓用Boost Program Options中的其他選項?
我有幾個選項,如-Ox,-Oy,-Oz,...我想要一個超級選項-Oall使Ox和Oy以及另一個使Oz和Ow成爲可能的-OOsub。
有沒有辦法使用Boost程序選項做到這一點?
首先,我想檢查Oall的值,然後手動啓用Ox和Oy,但在解析後無法編輯值。
我想避免使用變量來存儲Ox,Oy的值,因爲我可以有很多這樣的選項。
感謝
我看到更多的在你的程序的邏輯,所以我懷疑程序選項提供了這一點。 只需使用
if (Oall)
{Ox = Oy = Oz = true;}
和這樣
這有效,但有了這個解決方案,我必須使用映射每個選項的變量,如果可能的話,我想避免這種情況。 –
最後,這似乎是最好的解決方案。謝謝 –
如果你想避免了'Ox','Oy'和'Oz'變量,如何那你打算訪問他們的價值觀?換句話說,當他們單獨設置時,您如何計劃觸發與這些選項相關的邏輯? – rcollyer
我想說options.count(「牛」) –
瞭解。但是,在'program_options'中沒有辦法將一個參數與另一個參數的出現聯繫起來。但是,您可以調整@CharlesB的方法,這樣,無論您何時檢查'options.count(「Ox」)',您還可以檢查options.count(「Oall」)'。 – rcollyer