| # This file was automatically generated by SWIG (http://www.swig.org). |
| # Version 1.3.40 |
| # |
| # Do not make changes to this file unless you know what you are doing--modify |
| # the SWIG interface file instead. |
| |
| package marisa; |
| use base qw(Exporter); |
| use base qw(DynaLoader); |
| package marisac; |
| bootstrap marisa; |
| package marisa; |
| @EXPORT = qw(); |
| |
| # ---------- BASE METHODS ------------- |
| |
| package marisa; |
| |
| sub TIEHASH { |
| my ($classname,$obj) = @_; |
| return bless $obj, $classname; |
| } |
| |
| sub CLEAR { } |
| |
| sub FIRSTKEY { } |
| |
| sub NEXTKEY { } |
| |
| sub FETCH { |
| my ($self,$field) = @_; |
| my $member_func = "swig_${field}_get"; |
| $self->$member_func(); |
| } |
| |
| sub STORE { |
| my ($self,$field,$newval) = @_; |
| my $member_func = "swig_${field}_set"; |
| $self->$member_func($newval); |
| } |
| |
| sub this { |
| my $ptr = shift; |
| return tied(%$ptr); |
| } |
| |
| |
| # ------- FUNCTION WRAPPERS -------- |
| |
| package marisa; |
| |
| |
| ############# Class : marisa::Key ############## |
| |
| package marisa::Key; |
| use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); |
| @ISA = qw( marisa ); |
| %OWNER = (); |
| %ITERATORS = (); |
| *str = *marisac::Key_str; |
| *id = *marisac::Key_id; |
| *weight = *marisac::Key_weight; |
| sub DESTROY { |
| return unless $_[0]->isa('HASH'); |
| my $self = tied(%{$_[0]}); |
| return unless defined $self; |
| delete $ITERATORS{$self}; |
| if (exists $OWNER{$self}) { |
| marisac::delete_Key($self); |
| delete $OWNER{$self}; |
| } |
| } |
| |
| sub DISOWN { |
| my $self = shift; |
| my $ptr = tied(%$self); |
| delete $OWNER{$ptr}; |
| } |
| |
| sub ACQUIRE { |
| my $self = shift; |
| my $ptr = tied(%$self); |
| $OWNER{$ptr} = 1; |
| } |
| |
| |
| ############# Class : marisa::Query ############## |
| |
| package marisa::Query; |
| use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); |
| @ISA = qw( marisa ); |
| %OWNER = (); |
| %ITERATORS = (); |
| *str = *marisac::Query_str; |
| *id = *marisac::Query_id; |
| sub DESTROY { |
| return unless $_[0]->isa('HASH'); |
| my $self = tied(%{$_[0]}); |
| return unless defined $self; |
| delete $ITERATORS{$self}; |
| if (exists $OWNER{$self}) { |
| marisac::delete_Query($self); |
| delete $OWNER{$self}; |
| } |
| } |
| |
| sub DISOWN { |
| my $self = shift; |
| my $ptr = tied(%$self); |
| delete $OWNER{$ptr}; |
| } |
| |
| sub ACQUIRE { |
| my $self = shift; |
| my $ptr = tied(%$self); |
| $OWNER{$ptr} = 1; |
| } |
| |
| |
| ############# Class : marisa::Keyset ############## |
| |
| package marisa::Keyset; |
| use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); |
| @ISA = qw( marisa ); |
| %OWNER = (); |
| %ITERATORS = (); |
| sub new { |
| my $pkg = shift; |
| my $self = marisac::new_Keyset(@_); |
| bless $self, $pkg if defined($self); |
| } |
| |
| sub DESTROY { |
| return unless $_[0]->isa('HASH'); |
| my $self = tied(%{$_[0]}); |
| return unless defined $self; |
| delete $ITERATORS{$self}; |
| if (exists $OWNER{$self}) { |
| marisac::delete_Keyset($self); |
| delete $OWNER{$self}; |
| } |
| } |
| |
| *push_back = *marisac::Keyset_push_back; |
| *key = *marisac::Keyset_key; |
| *key_str = *marisac::Keyset_key_str; |
| *key_id = *marisac::Keyset_key_id; |
| *num_keys = *marisac::Keyset_num_keys; |
| *empty = *marisac::Keyset_empty; |
| *size = *marisac::Keyset_size; |
| *total_length = *marisac::Keyset_total_length; |
| *reset = *marisac::Keyset_reset; |
| *clear = *marisac::Keyset_clear; |
| sub DISOWN { |
| my $self = shift; |
| my $ptr = tied(%$self); |
| delete $OWNER{$ptr}; |
| } |
| |
| sub ACQUIRE { |
| my $self = shift; |
| my $ptr = tied(%$self); |
| $OWNER{$ptr} = 1; |
| } |
| |
| |
| ############# Class : marisa::Agent ############## |
| |
| package marisa::Agent; |
| use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); |
| @ISA = qw( marisa ); |
| %OWNER = (); |
| %ITERATORS = (); |
| sub new { |
| my $pkg = shift; |
| my $self = marisac::new_Agent(@_); |
| bless $self, $pkg if defined($self); |
| } |
| |
| sub DESTROY { |
| return unless $_[0]->isa('HASH'); |
| my $self = tied(%{$_[0]}); |
| return unless defined $self; |
| delete $ITERATORS{$self}; |
| if (exists $OWNER{$self}) { |
| marisac::delete_Agent($self); |
| delete $OWNER{$self}; |
| } |
| } |
| |
| *set_query = *marisac::Agent_set_query; |
| *key = *marisac::Agent_key; |
| *query = *marisac::Agent_query; |
| *key_str = *marisac::Agent_key_str; |
| *key_id = *marisac::Agent_key_id; |
| *query_str = *marisac::Agent_query_str; |
| *query_id = *marisac::Agent_query_id; |
| sub DISOWN { |
| my $self = shift; |
| my $ptr = tied(%$self); |
| delete $OWNER{$ptr}; |
| } |
| |
| sub ACQUIRE { |
| my $self = shift; |
| my $ptr = tied(%$self); |
| $OWNER{$ptr} = 1; |
| } |
| |
| |
| ############# Class : marisa::Trie ############## |
| |
| package marisa::Trie; |
| use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); |
| @ISA = qw( marisa ); |
| %OWNER = (); |
| %ITERATORS = (); |
| sub new { |
| my $pkg = shift; |
| my $self = marisac::new_Trie(@_); |
| bless $self, $pkg if defined($self); |
| } |
| |
| sub DESTROY { |
| return unless $_[0]->isa('HASH'); |
| my $self = tied(%{$_[0]}); |
| return unless defined $self; |
| delete $ITERATORS{$self}; |
| if (exists $OWNER{$self}) { |
| marisac::delete_Trie($self); |
| delete $OWNER{$self}; |
| } |
| } |
| |
| *build = *marisac::Trie_build; |
| *mmap = *marisac::Trie_mmap; |
| *load = *marisac::Trie_load; |
| *save = *marisac::Trie_save; |
| *common_prefix_search = *marisac::Trie_common_prefix_search; |
| *predictive_search = *marisac::Trie_predictive_search; |
| *lookup = *marisac::Trie_lookup; |
| *reverse_lookup = *marisac::Trie_reverse_lookup; |
| *num_tries = *marisac::Trie_num_tries; |
| *num_keys = *marisac::Trie_num_keys; |
| *num_nodes = *marisac::Trie_num_nodes; |
| *tail_mode = *marisac::Trie_tail_mode; |
| *node_order = *marisac::Trie_node_order; |
| *empty = *marisac::Trie_empty; |
| *size = *marisac::Trie_size; |
| *total_size = *marisac::Trie_total_size; |
| *io_size = *marisac::Trie_io_size; |
| *clear = *marisac::Trie_clear; |
| sub DISOWN { |
| my $self = shift; |
| my $ptr = tied(%$self); |
| delete $OWNER{$ptr}; |
| } |
| |
| sub ACQUIRE { |
| my $self = shift; |
| my $ptr = tied(%$self); |
| $OWNER{$ptr} = 1; |
| } |
| |
| |
| # ------- VARIABLE STUBS -------- |
| |
| package marisa; |
| |
| *OK = *marisac::OK; |
| *STATE_ERROR = *marisac::STATE_ERROR; |
| *NULL_ERROR = *marisac::NULL_ERROR; |
| *BOUND_ERROR = *marisac::BOUND_ERROR; |
| *RANGE_ERROR = *marisac::RANGE_ERROR; |
| *CODE_ERROR = *marisac::CODE_ERROR; |
| *RESET_ERROR = *marisac::RESET_ERROR; |
| *SIZE_ERROR = *marisac::SIZE_ERROR; |
| *MEMORY_ERROR = *marisac::MEMORY_ERROR; |
| *IO_ERROR = *marisac::IO_ERROR; |
| *FORMAT_ERROR = *marisac::FORMAT_ERROR; |
| *MIN_NUM_TRIES = *marisac::MIN_NUM_TRIES; |
| *MAX_NUM_TRIES = *marisac::MAX_NUM_TRIES; |
| *DEFAULT_NUM_TRIES = *marisac::DEFAULT_NUM_TRIES; |
| *HUGE_CACHE = *marisac::HUGE_CACHE; |
| *LARGE_CACHE = *marisac::LARGE_CACHE; |
| *NORMAL_CACHE = *marisac::NORMAL_CACHE; |
| *SMALL_CACHE = *marisac::SMALL_CACHE; |
| *TINY_CACHE = *marisac::TINY_CACHE; |
| *DEFAULT_CACHE = *marisac::DEFAULT_CACHE; |
| *TEXT_TAIL = *marisac::TEXT_TAIL; |
| *BINARY_TAIL = *marisac::BINARY_TAIL; |
| *DEFAULT_TAIL = *marisac::DEFAULT_TAIL; |
| *LABEL_ORDER = *marisac::LABEL_ORDER; |
| *WEIGHT_ORDER = *marisac::WEIGHT_ORDER; |
| *DEFAULT_ORDER = *marisac::DEFAULT_ORDER; |
| *INVALID_KEY_ID = *marisac::INVALID_KEY_ID; |
| 1; |