summaryrefslogtreecommitdiff
path: root/gi/pyp-topics/src/contexts_lexer.h
blob: 1b79c6fd8599c7eafef10dc9908c32716b4d3ba2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#ifndef _CONTEXTS_LEXER_H_
#define _CONTEXTS_LEXER_H_ 

#include <iostream>
#include <vector>
#include <string>

#include "../../../decoder/dict.h" 

struct ContextsLexer {
  typedef std::vector<std::string> Context;
  struct PhraseContextsType {
    std::string          phrase;
    std::vector<Context> contexts;
    std::vector< std::pair<int,int> >     counts;
  };

  typedef void (*ContextsCallback)(const PhraseContextsType& new_contexts, void* extra);
  static void ReadContexts(std::istream* in, ContextsCallback func, void* extra);
};

#endif