🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.objects
Article #16008

Strumień tworzony dwuetapowo przy pomocy boost.IOStreams

#16008
From: Miroslaw.Makowiecki
Date: Tue, 27 Mar 2007 10:27
34 lines
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!
Technical Details
Message-ID: <1174991222.912076.19680@p77g2000hsh.googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!t-online.de!border2.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!postnews.google.com!p77g2000hsh.googlegroups.com!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!t-online.de!border2.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!postnews.google.com!p77g2000hsh.googlegroups.com!not-for-mail
From: Miroslaw.Makowiecki@gmail.com
Newsgroups: pl.comp.objects
Subject: Strumień tworzony dwuetapowo przy pomocy
 boost.IOStreams
Date: 27 Mar 2007 03:27:02 -0700
Organization: http://groups.google.com
Lines: 36
Message-ID: <1174991222.912076.19680@p77g2000hsh.googlegroups.com>
NNTP-Posting-Host: 83.18.174.178
Mime-Version: 1.0
X-Trace: posting.google.com 1174991224 26624 127.0.0.1 (27 Mar 2007 10:27:04 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Tue, 27 Mar 2007 10:27:04 +0000 (UTC)
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (compatible; Konqueror/3.5; Linux 2.6.18-1-686; X11; i686; pl) KHTML/3.5.5 (like Gecko) (Debian package 4:3.5.5a.dfsg.1-6),gzip(gfe),gzip(gfe)
X-HTTP-Via: 1.0 HAVP, 1.0 zwolen:8080 (squid/2.5.STABLE9)
Complaints-To: groups-abuse@google.com
Injection-Info: p77g2000hsh.googlegroups.com; posting-host=83.18.174.178;   posting-account=ZtCzpw0AAAB7bcDRjtJwIIcbCszsYq0O
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit