edu.berkeley.nlp.lm.map
Class NgramsForOrderIterableWrapper<W,V>

java.lang.Object
  extended by edu.berkeley.nlp.lm.map.NgramsForOrderIterableWrapper<W,V>
Type Parameters:
V -
W -
All Implemented Interfaces:
Iterable<Map.Entry<List<W>,V>>

public class NgramsForOrderIterableWrapper<W,V>
extends Object
implements Iterable<Map.Entry<List<W>,V>>

Wraps an NgramMap as an Iterable, so it is easy to iterate over the n-grams of a particular order. Using this interface is a little inefficient due to the boxing and temporary object allocation necessary to conform to Java's interfaces.

Author:
adampauls

Constructor Summary
NgramsForOrderIterableWrapper(NgramMap<V> map, WordIndexer<W> wordIndexer, int ngramOrder)
           
 
Method Summary
 Iterator<Map.Entry<List<W>,V>> iterator()
           
 long size()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NgramsForOrderIterableWrapper

public NgramsForOrderIterableWrapper(NgramMap<V> map,
                                     WordIndexer<W> wordIndexer,
                                     int ngramOrder)
Parameters:
map -
ngramOrder - 0-based, i.e. 0 means unigrams
Method Detail

iterator

public Iterator<Map.Entry<List<W>,V>> iterator()
Specified by:
iterator in interface Iterable<Map.Entry<List<W>,V>>

size

public long size()