/*
  $Id: wrappersimple.h 4025 2008-10-01 00:01:14Z abehm $

  Copyright (C) 2007 by The Regents of the University of California
	
  Redistribution of this file is permitted under
  the terms of the BSD license
    
  Date: 09/19/2007
  Author: Alexander Behm <abehm (at) ics.uci.edu>
*/

#ifndef _wrappersimple_h_
#define _wrappersimple_h_

#include "wrapperabs.h"

template <class SimilarityMetric = SimMetricEd>
class WrapperSimple : public WrapperAbs<FtIndexerSimple<>, FtSearcherMem<>, SimilarityMetric> {  
public:  
  WrapperSimple(StringContainerVector* strContainer, const unsigned gramLength = 3, const bool usePrePost = true) {
    this->gramGen = new GramGenFixedLen(gramLength, usePrePost);
    this->indexer = new FtIndexerSimple<>(strContainer, this->gramGen);
    this->indexer->addFilter(new LengthFilter(150));    
    this->searcher = new FtSearcherMem<>(&this->merger, this->indexer);   
    this->simMetric = new SimilarityMetric(*(this->gramGen));
  }
};

#endif
