summaryrefslogtreecommitdiff
path: root/decoder/forest_writer.cc
blob: a9117d18cc543ffca495652fceae1b93a77ae2de (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 <boost/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());
}