# This file was automatically generated by SWIG (http://www.swig.org).
# Version 1.3.36
#
# Don't modify this file, modify the SWIG interface instead.
# This file is compatible with both classic and new-style classes.

import _simstring
import new
new_instancemethod = new.instancemethod
try:
    _swig_property = property
except NameError:
    pass # Python < 2.2 doesn't have 'property'.
def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
    if (name == "thisown"): return self.this.own(value)
    if (name == "this"):
        if type(value).__name__ == 'PySwigObject':
            self.__dict__[name] = value
            return
    method = class_type.__swig_setmethods__.get(name,None)
    if method: return method(self,value)
    if (not static) or hasattr(self,name):
        self.__dict__[name] = value
    else:
        raise AttributeError("You cannot add attributes to %s" % self)

def _swig_setattr(self,class_type,name,value):
    return _swig_setattr_nondynamic(self,class_type,name,value,0)

def _swig_getattr(self,class_type,name):
    if (name == "thisown"): return self.this.own()
    method = class_type.__swig_getmethods__.get(name,None)
    if method: return method(self)
    raise AttributeError,name

def _swig_repr(self):
    try: strthis = "proxy of " + self.this.__repr__()
    except: strthis = ""
    return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)

import types
try:
    _object = types.ObjectType
    _newclass = 1
except AttributeError:
    class _object : pass
    _newclass = 0
del types


class PySwigIterator(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, PySwigIterator, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, PySwigIterator, name)
    def __init__(self, *args, **kwargs): raise AttributeError, "No constructor defined"
    __repr__ = _swig_repr
    __swig_destroy__ = _simstring.delete_PySwigIterator
    __del__ = lambda self : None;
    def value(*args): return _simstring.PySwigIterator_value(*args)
    def incr(*args): return _simstring.PySwigIterator_incr(*args)
    def decr(*args): return _simstring.PySwigIterator_decr(*args)
    def distance(*args): return _simstring.PySwigIterator_distance(*args)
    def equal(*args): return _simstring.PySwigIterator_equal(*args)
    def copy(*args): return _simstring.PySwigIterator_copy(*args)
    def next(*args): return _simstring.PySwigIterator_next(*args)
    def previous(*args): return _simstring.PySwigIterator_previous(*args)
    def advance(*args): return _simstring.PySwigIterator_advance(*args)
    def __eq__(*args): return _simstring.PySwigIterator___eq__(*args)
    def __ne__(*args): return _simstring.PySwigIterator___ne__(*args)
    def __iadd__(*args): return _simstring.PySwigIterator___iadd__(*args)
    def __isub__(*args): return _simstring.PySwigIterator___isub__(*args)
    def __add__(*args): return _simstring.PySwigIterator___add__(*args)
    def __sub__(*args): return _simstring.PySwigIterator___sub__(*args)
    def __iter__(self): return self
PySwigIterator_swigregister = _simstring.PySwigIterator_swigregister
PySwigIterator_swigregister(PySwigIterator)

class StringVector(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, StringVector, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, StringVector, name)
    __repr__ = _swig_repr
    def iterator(*args): return _simstring.StringVector_iterator(*args)
    def __iter__(self): return self.iterator()
    def __nonzero__(*args): return _simstring.StringVector___nonzero__(*args)
    def __len__(*args): return _simstring.StringVector___len__(*args)
    def pop(*args): return _simstring.StringVector_pop(*args)
    def __getslice__(*args): return _simstring.StringVector___getslice__(*args)
    def __setslice__(*args): return _simstring.StringVector___setslice__(*args)
    def __delslice__(*args): return _simstring.StringVector___delslice__(*args)
    def __delitem__(*args): return _simstring.StringVector___delitem__(*args)
    def __getitem__(*args): return _simstring.StringVector___getitem__(*args)
    def __setitem__(*args): return _simstring.StringVector___setitem__(*args)
    def append(*args): return _simstring.StringVector_append(*args)
    def empty(*args): return _simstring.StringVector_empty(*args)
    def size(*args): return _simstring.StringVector_size(*args)
    def clear(*args): return _simstring.StringVector_clear(*args)
    def swap(*args): return _simstring.StringVector_swap(*args)
    def get_allocator(*args): return _simstring.StringVector_get_allocator(*args)
    def begin(*args): return _simstring.StringVector_begin(*args)
    def end(*args): return _simstring.StringVector_end(*args)
    def rbegin(*args): return _simstring.StringVector_rbegin(*args)
    def rend(*args): return _simstring.StringVector_rend(*args)
    def pop_back(*args): return _simstring.StringVector_pop_back(*args)
    def erase(*args): return _simstring.StringVector_erase(*args)
    def __init__(self, *args): 
        this = _simstring.new_StringVector(*args)
        try: self.this.append(this)
        except: self.this = this
    def push_back(*args): return _simstring.StringVector_push_back(*args)
    def front(*args): return _simstring.StringVector_front(*args)
    def back(*args): return _simstring.StringVector_back(*args)
    def assign(*args): return _simstring.StringVector_assign(*args)
    def resize(*args): return _simstring.StringVector_resize(*args)
    def insert(*args): return _simstring.StringVector_insert(*args)
    def reserve(*args): return _simstring.StringVector_reserve(*args)
    def capacity(*args): return _simstring.StringVector_capacity(*args)
    __swig_destroy__ = _simstring.delete_StringVector
    __del__ = lambda self : None;
StringVector_swigregister = _simstring.StringVector_swigregister
StringVector_swigregister(StringVector)

exact = _simstring.exact
dice = _simstring.dice
cosine = _simstring.cosine
jaccard = _simstring.jaccard
overlap = _simstring.overlap
class writer(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, writer, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, writer, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _simstring.new_writer(*args)
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _simstring.delete_writer
    __del__ = lambda self : None;
    def insert(*args): return _simstring.writer_insert(*args)
    def close(*args): return _simstring.writer_close(*args)
writer_swigregister = _simstring.writer_swigregister
writer_swigregister(writer)

class reader(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, reader, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, reader, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _simstring.new_reader(*args)
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _simstring.delete_reader
    __del__ = lambda self : None;
    def retrieve(*args): return _simstring.reader_retrieve(*args)
    def close(*args): return _simstring.reader_close(*args)
    __swig_setmethods__["measure"] = _simstring.reader_measure_set
    __swig_getmethods__["measure"] = _simstring.reader_measure_get
    if _newclass:measure = _swig_property(_simstring.reader_measure_get, _simstring.reader_measure_set)
    __swig_setmethods__["threshold"] = _simstring.reader_threshold_set
    __swig_getmethods__["threshold"] = _simstring.reader_threshold_get
    if _newclass:threshold = _swig_property(_simstring.reader_threshold_get, _simstring.reader_threshold_set)
reader_swigregister = _simstring.reader_swigregister
reader_swigregister(reader)



