summaryrefslogtreecommitdiff
path: root/decoder/forest_writer.cc
blob: cc9094d7bb361286a458ceb39986a72e6bf44dba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "forest_writer.h"

#include <iostream>

#include "fast_lexical_cast.hpp"

#include "filelib.h"
#include "hg_io.h"
#include "hg.h"

using namespace std;

ForestWriter::ForestWriter(const std::string& path, int num) :
  fname_(path + '/' + boost::lexical_cast<string>(num) + ".bin.gz"), used_(false) {}

bool ForestWriter::Write(const Hypergraph& forest) {
  assert(!used_);
  used_ = true;
  cerr << "  Writing forest to " << fname_ << endl;
  WriteFile wf(fname_);
  return HypergraphIO::WriteToBinary(forest, wf.stream());
}