blob: 434a439f69109b91f96bb7801634291bf2d1a7de [file] [log] [blame]
# 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;