2012-01-22 62 views
1

讓我們想象,我們有這樣的結構簡單的演示情況如何查看是否所有數據結構依賴關係都已解決?

struct service 
{ 
std::string name 
std::set<std::string> depends_on_service_name; 
}; 

我們有一些原始數據(文本文件,IO流或什麼壺)進入我們parser是把它變成service struct實例,並將它們放入std::map<service> services我們如果所有的地圖項目都有depends_on_service_name解決了(意思是每個service[other_item].depends_on_service_name的地圖中應該有services[item].name),那麼需要一種方法來解決問題。是否有任何標準的方式來檢查手動提升這種東西for_each是每次去parser將新項目添加到地圖的方式?

回答

0

這裏的「路要走」是在輸入驗證和抽象過程中解決這個問題。您正在使用服務映射表示一個定向(可能是非循環)圖,並且應該將其表示爲(例如,使用Boost.Graph),而不是使用集和映射滾動您自己的圖結構。在構建這個明確的圖形結構時,自然會發現缺失的服務。

+0

請問您能否與我們分享一些更多信息,例如:服務實施和服務簽名在BG使用情況下的外觀,以及如果您可以提供簡單的代碼演示,請說明您的意思。 – myWallJSON

+0

@myWallJSON:對不起,但您無法在您的問題中提供足夠的詳細信息以使其足夠精確。您顯示的代碼僅僅是有向圖中的一個節點,僅此而已。 – thiton

相關問題