Thread View: pl.comp.objects
1 messages
1 total messages
Started by Miroslaw.Makowiecki
Tue, 27 Mar 2007 10:27
Strumień tworzony dwuetapowo przy pomocy boost.IOStreams
Author: Miroslaw.Makowiecki
Date: Tue, 27 Mar 2007 10:27
Date: Tue, 27 Mar 2007 10:27
34 lines
2797 bytes
2797 bytes
Mamy oto kod:
//strumień1
filtering_stream<input> stream1;
stream1.push(Liczenie_znakow());
stream1.push(LIczenie_sumy_md5());
stream1.push(liczenie_sumy_sha1());
std::fstream file("/home/gigat/duzy_plik.iso");
stream1.push(file)
//strumień2
filtering_stream<input> stream2;
stream2.push(Liczenie_sumy_sha256());
stream2.push(Liczenie_kolejnych_linni());
stream2.push(gzip_decompressor());
stream2.push(stream1);
Jak wiemy linia stream2.push(stream1) powoduje że strumień stream2
jest mało wydajny,było by wydajne, gdy by zamiast
stream2.push(stream1)
wsadziliśmy kolejne wywołania push strumienia stream1,ale ja chcę by
strumień był tworzony dwuetapowo, strumień stream1 robi prawie coś
innego niż strumień stream2, oczywiste jest że strumień stream2 jest
połączony ze strumieniem stream1. W moim programie z takim samym
prawdopodobieństwem korzystam że strumienia stream1 i stream2.
Oczywiście strumień stream1 i stream2 obudowuję w klasy, którego
wygoda jest taka sama,jak korzystanie std::fstream.
Pytanie czy powyższy sposób postępowania strumienia stream1 i
stream2
można udoskonalić(pamiętajmy definiujemy strumień dwuetapowo),by
stream2 był maksymalnie wydajny,tak samo zamiast
stream2.push(stream1)
gdy byśmy wsadziliśmy kolejne wywołania push w stream1,jeśli to da
się
to zrobić, to jak?
Proszę o ewentualne linki i pomoce rozwiązujące mój problem!
Za każdą pomoc jestem wdzięczny!
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads