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

import _vaucanswig_boolean_automaton_context
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


import vaucanswig_core
class boolean_automaton_alphabet_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, boolean_automaton_alphabet_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, boolean_automaton_alphabet_t, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _vaucanswig_boolean_automaton_context.new_boolean_automaton_alphabet_t(*args)
        try: self.this.append(this)
        except: self.this = this
    def describe(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_alphabet_t_describe(*args)
    __swig_destroy__ = _vaucanswig_boolean_automaton_context.delete_boolean_automaton_alphabet_t
    __del__ = lambda self : None;
boolean_automaton_alphabet_t_swigregister = _vaucanswig_boolean_automaton_context.boolean_automaton_alphabet_t_swigregister
boolean_automaton_alphabet_t_swigregister(boolean_automaton_alphabet_t)

class boolean_automaton_monoid_elt_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, boolean_automaton_monoid_elt_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, boolean_automaton_monoid_elt_t, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _vaucanswig_boolean_automaton_context.new_boolean_automaton_monoid_elt_t(*args)
        try: self.this.append(this)
        except: self.this = this
    def describe(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_monoid_elt_t_describe(*args)
    def structure(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_monoid_elt_t_structure(*args)
    def __imul__(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_monoid_elt_t___imul__(*args)
    def __mul__(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_monoid_elt_t___mul__(*args)
    def __eq__(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_monoid_elt_t___eq__(*args)
    def __ne__(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_monoid_elt_t___ne__(*args)
    __swig_destroy__ = _vaucanswig_boolean_automaton_context.delete_boolean_automaton_monoid_elt_t
    __del__ = lambda self : None;
boolean_automaton_monoid_elt_t_swigregister = _vaucanswig_boolean_automaton_context.boolean_automaton_monoid_elt_t_swigregister
boolean_automaton_monoid_elt_t_swigregister(boolean_automaton_monoid_elt_t)

class boolean_automaton_monoid_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, boolean_automaton_monoid_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, boolean_automaton_monoid_t, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _vaucanswig_boolean_automaton_context.new_boolean_automaton_monoid_t(*args)
        try: self.this.append(this)
        except: self.this = this
    def alphabet(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_monoid_t_alphabet(*args)
    def describe(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_monoid_t_describe(*args)
    def make(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_monoid_t_make(*args)
    def identity(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_monoid_t_identity(*args)
    __swig_destroy__ = _vaucanswig_boolean_automaton_context.delete_boolean_automaton_monoid_t
    __del__ = lambda self : None;
boolean_automaton_monoid_t_swigregister = _vaucanswig_boolean_automaton_context.boolean_automaton_monoid_t_swigregister
boolean_automaton_monoid_t_swigregister(boolean_automaton_monoid_t)

class boolean_automaton_semiring_elt_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, boolean_automaton_semiring_elt_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, boolean_automaton_semiring_elt_t, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _vaucanswig_boolean_automaton_context.new_boolean_automaton_semiring_elt_t(*args)
        try: self.this.append(this)
        except: self.this = this
    def structure(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_semiring_elt_t_structure(*args)
    def describe(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_semiring_elt_t_describe(*args)
    def __imul__(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_semiring_elt_t___imul__(*args)
    def __mul__(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_semiring_elt_t___mul__(*args)
    def __eq__(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_semiring_elt_t___eq__(*args)
    def __ne__(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_semiring_elt_t___ne__(*args)
    def __iadd__(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_semiring_elt_t___iadd__(*args)
    def __add__(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_semiring_elt_t___add__(*args)
    __swig_destroy__ = _vaucanswig_boolean_automaton_context.delete_boolean_automaton_semiring_elt_t
    __del__ = lambda self : None;
boolean_automaton_semiring_elt_t_swigregister = _vaucanswig_boolean_automaton_context.boolean_automaton_semiring_elt_t_swigregister
boolean_automaton_semiring_elt_t_swigregister(boolean_automaton_semiring_elt_t)

class boolean_automaton_semiring_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, boolean_automaton_semiring_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, boolean_automaton_semiring_t, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _vaucanswig_boolean_automaton_context.new_boolean_automaton_semiring_t(*args)
        try: self.this.append(this)
        except: self.this = this
    def describe(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_semiring_t_describe(*args)
    def make(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_semiring_t_make(*args)
    def identity(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_semiring_t_identity(*args)
    def zero(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_semiring_t_zero(*args)
    __swig_destroy__ = _vaucanswig_boolean_automaton_context.delete_boolean_automaton_semiring_t
    __del__ = lambda self : None;
boolean_automaton_semiring_t_swigregister = _vaucanswig_boolean_automaton_context.boolean_automaton_semiring_t_swigregister
boolean_automaton_semiring_t_swigregister(boolean_automaton_semiring_t)

class boolean_automaton_series_set_elt_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, boolean_automaton_series_set_elt_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, boolean_automaton_series_set_elt_t, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _vaucanswig_boolean_automaton_context.new_boolean_automaton_series_set_elt_t(*args)
        try: self.this.append(this)
        except: self.this = this
    def structure(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_series_set_elt_t_structure(*args)
    def describe(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_series_set_elt_t_describe(*args)
    def __eq__(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_series_set_elt_t___eq__(*args)
    def __ne__(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_series_set_elt_t___ne__(*args)
    def __imul__(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_series_set_elt_t___imul__(*args)
    def __mul__(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_series_set_elt_t___mul__(*args)
    def lmul(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_series_set_elt_t_lmul(*args)
    def __iadd__(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_series_set_elt_t___iadd__(*args)
    def __add__(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_series_set_elt_t___add__(*args)
    def ladd(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_series_set_elt_t_ladd(*args)
    __swig_destroy__ = _vaucanswig_boolean_automaton_context.delete_boolean_automaton_series_set_elt_t
    __del__ = lambda self : None;
boolean_automaton_series_set_elt_t_swigregister = _vaucanswig_boolean_automaton_context.boolean_automaton_series_set_elt_t_swigregister
boolean_automaton_series_set_elt_t_swigregister(boolean_automaton_series_set_elt_t)

class boolean_automaton_exp_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, boolean_automaton_exp_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, boolean_automaton_exp_t, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _vaucanswig_boolean_automaton_context.new_boolean_automaton_exp_t(*args)
        try: self.this.append(this)
        except: self.this = this
    def star(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_exp_t_star(*args)
    def structure(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_exp_t_structure(*args)
    def describe(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_exp_t_describe(*args)
    def __eq__(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_exp_t___eq__(*args)
    def __ne__(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_exp_t___ne__(*args)
    def __imul__(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_exp_t___imul__(*args)
    def __mul__(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_exp_t___mul__(*args)
    def lmul(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_exp_t_lmul(*args)
    def __iadd__(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_exp_t___iadd__(*args)
    def __add__(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_exp_t___add__(*args)
    def ladd(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_exp_t_ladd(*args)
    __swig_destroy__ = _vaucanswig_boolean_automaton_context.delete_boolean_automaton_exp_t
    __del__ = lambda self : None;
boolean_automaton_exp_t_swigregister = _vaucanswig_boolean_automaton_context.boolean_automaton_exp_t_swigregister
boolean_automaton_exp_t_swigregister(boolean_automaton_exp_t)

class boolean_automaton_series_set_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, boolean_automaton_series_set_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, boolean_automaton_series_set_t, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _vaucanswig_boolean_automaton_context.new_boolean_automaton_series_set_t(*args)
        try: self.this.append(this)
        except: self.this = this
    def monoid(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_series_set_t_monoid(*args)
    def semiring(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_series_set_t_semiring(*args)
    def describe(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_series_set_t_describe(*args)
    def make(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_series_set_t_make(*args)
    def identity(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_series_set_t_identity(*args)
    def zero(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_series_set_t_zero(*args)
    def exp_identity(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_series_set_t_exp_identity(*args)
    def exp_zero(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_series_set_t_exp_zero(*args)
    __swig_destroy__ = _vaucanswig_boolean_automaton_context.delete_boolean_automaton_series_set_t
    __del__ = lambda self : None;
boolean_automaton_series_set_t_swigregister = _vaucanswig_boolean_automaton_context.boolean_automaton_series_set_t_swigregister
boolean_automaton_series_set_t_swigregister(boolean_automaton_series_set_t)

class boolean_automaton_automata_set_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, boolean_automaton_automata_set_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, boolean_automaton_automata_set_t, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _vaucanswig_boolean_automaton_context.new_boolean_automaton_automata_set_t(*args)
        try: self.this.append(this)
        except: self.this = this
    def series(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_automata_set_t_series(*args)
    def describe(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_automata_set_t_describe(*args)
    __swig_destroy__ = _vaucanswig_boolean_automaton_context.delete_boolean_automaton_automata_set_t
    __del__ = lambda self : None;
boolean_automaton_automata_set_t_swigregister = _vaucanswig_boolean_automaton_context.boolean_automaton_automata_set_t_swigregister
boolean_automaton_automata_set_t_swigregister(boolean_automaton_automata_set_t)

class boolean_automaton_context(vaucanswig_core.virtual_context):
    __swig_setmethods__ = {}
    for _s in [vaucanswig_core.virtual_context]: __swig_setmethods__.update(getattr(_s,'__swig_setmethods__',{}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, boolean_automaton_context, name, value)
    __swig_getmethods__ = {}
    for _s in [vaucanswig_core.virtual_context]: __swig_getmethods__.update(getattr(_s,'__swig_getmethods__',{}))
    __getattr__ = lambda self, name: _swig_getattr(self, boolean_automaton_context, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _vaucanswig_boolean_automaton_context.new_boolean_automaton_context(*args)
        try: self.this.append(this)
        except: self.this = this
    def automata_structure(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_context_automata_structure(*args)
    def monoid(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_context_monoid(*args)
    def alphabet(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_context_alphabet(*args)
    def semiring(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_context_semiring(*args)
    def describe_alphabet(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_context_describe_alphabet(*args)
    def describe_semiring(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_context_describe_semiring(*args)
    def describe_monoid(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_context_describe_monoid(*args)
    def describe_series(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_context_describe_series(*args)
    def describe_automata_structure(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_context_describe_automata_structure(*args)
    __swig_destroy__ = _vaucanswig_boolean_automaton_context.delete_boolean_automaton_context
    __del__ = lambda self : None;
    def semiring_elt(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_context_semiring_elt(*args)
    def word(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_context_word(*args)
    def series(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_context_series(*args)
    def exp(*args): return _vaucanswig_boolean_automaton_context.boolean_automaton_context_exp(*args)
boolean_automaton_context_swigregister = _vaucanswig_boolean_automaton_context.boolean_automaton_context_swigregister
boolean_automaton_context_swigregister(boolean_automaton_context)

make_context = _vaucanswig_boolean_automaton_context.make_context


