我現在潛入boost::iostreams
,我正在尋找一種方法來創建一個流,超過一些container<char>
迭代。C++輸入輸出流問題
現在我有一個std::vector<char>
工作的代碼,但它確實ONLY它,因爲我寫std::vector
特異性代碼。
我做以下的事情:
template <class Object
void LoadImpl(Object& object, std::istream& stream) { ... }
和用於包裝序列化/使用一定的反序列化stream
:其中LoadImpl(...)
描述如下方式
template <class Object, class Container>
void Load(Object& object, const Container& container) {
using namespace boost::iostreams;
// Create a stream that iterates over vector and use it in
// the following procedure
LoadImpl(object, stream<array_source>(&container[0], container.size()));
}
。
能給我關於如何使Load
例行更通用的任何建議嗎?比方說,我希望有能力用std::vector<char>
代替它,只要一些std::string
容器。
幾個問題。您不使用容器輸入參數,而是使用精簡的參數「source」。他們應該是一樣的嗎? 你能寫一些你想如何調用負載的例子嗎? – 2010-06-24 17:07:16