從名字上看,這個類的核心就在於function, 那麼看代碼: 的確是定義了一個function,然後一個狀態,猜測是調用了function之後會設置為true,往下看代碼: 在commit中調用了function,然後將狀態設置為true,標識這個狀態已經被調用。至於何時進行commit,在後面的 ...
從名字上看,這個類的核心就在於function, 那麼看代碼:
/// Function to call SharedData<std::function<void(Space& home)>> f; /// Call function just once bool done;
的確是定義了一個function,然後一個狀態,猜測是調用了function之後會設置為true,往下看代碼:
ExecStatus FunctionBranch::commit(Space& home, const Choice&, unsigned int) { done = true; GECODE_VALID_FUNCTION(f()); f()(home); return home.failed() ? ES_FAILED : ES_OK; }
在commit中調用了function,然後將狀態設置為true,標識這個狀態已經被調用。至於何時進行commit,在後面的文章中再進行分析。