Home | History | Annotate | Download | only in lib

Lines Matching full:strm

68   static ConstFstImpl<A> *Read(istream &strm, const FstReadOptions &opts);
70 bool Write(ostream &strm, const FstWriteOptions &opts) const;
161 ConstFstImpl<A> *ConstFstImpl<A>::Read(istream &strm,
165 if (!impl->ReadHeaderAndSymbols(strm, opts, kMinFileVersion, &hdr))
174 for (int i = 0; i < kFileAlign && strm.tellg() % kFileAlign; ++i)
175 strm.read(&c, 1);
178 strm.read(reinterpret_cast<char *>(impl->states_), b);
179 if (!strm) {
185 for (int i = 0; i < kFileAlign && strm.tellg() % kFileAlign; ++i)
186 strm.read(&c, 1);
187 strm.read(reinterpret_cast<char *>(impl->arcs_), b);
188 if (!strm) {
196 bool ConstFstImpl<A>::Write(ostream &strm,
202 WriteHeaderAndSymbols(strm, opts, kFileVersion, &hdr);
203 if (!strm)
206 for (int i = 0; i < kFileAlign && strm.tellp() % kFileAlign; ++i)
207 strm.write("", 1);
208 strm.write(reinterpret_cast<char *>(states_),
210 for (int i = 0; i < kFileAlign && strm.tellp() % kFileAlign; ++i)
211 strm.write("", 1);
212 strm.write(reinterpret_cast<char *>(arcs_), narcs_ * sizeof(A));
213 strm.flush();
214 if (!strm)
216 return strm;
276 static ConstFst<A> *Read(istream &strm, const FstReadOptions &opts) {
277 ConstFstImpl<A>* impl = ConstFstImpl<A>::Read(strm, opts);
283 ifstream strm(filename.c_str());
284 if (!strm) {
288 return Read(strm, FstReadOptions(filename));
292 virtual bool Write(ostream &strm, const FstWriteOptions &opts) const {
293 return impl_->Write(strm, opts);
299 ofstream strm(filename.c_str());
300 if (!strm) {
304 return Write(strm, FstWriteOptions(filename));