我對模板, 等高級C++程序技術相當陌生,但我正在爲正在開發的項目開發一個簡單的API。如何設計C++ API
您調用的函數或方法可能需要很長時間才能完成。 本質上它是通過網絡傳輸文件。
看起來有點像這樣。
Client
{
int WriteFile();
int ReadFile();
}
但我想在這裏有幾個選項。
- 調用WriteFile並讓它阻塞。
- 調用WriteFileAsync並沒有阻止。
- 在異步版本中,我可以靈活地知道如何完成任務。
- 能夠通過輪詢客戶端來找出我的當前讀取或寫入操作所處的位置。
我對如何設計這個很好的C++方式感到有點不知所措。 這是避免使用boost的必要條件,但我可以使用類似boost的方法。 雖然,我翻閱了一些頭文件,非常困惑。任何超出 基本模板編程的東西我都覺得困惑。
我所追求的是一種很好的方式來通知事件完成並能夠等待 事件完成。
你想避免使用提升,但需要類似提升的方法。那麼,完全是什麼樣的助推式方法呢? – ereOn 2010-10-06 08:39:33
我的意思是,如果有人提出ASIO的boost樣式解決方案會很好。唯一的問題是我不明白ASIO如何實施。模板地獄。 – Matt 2010-10-06 22:24:24