summaryrefslogtreecommitdiff
path: root/decoder/forest_writer.cc
blob: 6e4cccb379df2f7cac58e3876f7ecac14616085d (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) + ".json.gz"), used_(false) {}

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