298 lines
6.6 KiB
Perl
298 lines
6.6 KiB
Perl
# 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;
|