1*ab8db090SAndroid Build Coastguard Worker# This file was automatically generated by SWIG (http://www.swig.org). 2*ab8db090SAndroid Build Coastguard Worker# Version 1.3.40 3*ab8db090SAndroid Build Coastguard Worker# 4*ab8db090SAndroid Build Coastguard Worker# Do not make changes to this file unless you know what you are doing--modify 5*ab8db090SAndroid Build Coastguard Worker# the SWIG interface file instead. 6*ab8db090SAndroid Build Coastguard Worker 7*ab8db090SAndroid Build Coastguard Workerpackage marisa; 8*ab8db090SAndroid Build Coastguard Workeruse base qw(Exporter); 9*ab8db090SAndroid Build Coastguard Workeruse base qw(DynaLoader); 10*ab8db090SAndroid Build Coastguard Workerpackage marisac; 11*ab8db090SAndroid Build Coastguard Workerbootstrap marisa; 12*ab8db090SAndroid Build Coastguard Workerpackage marisa; 13*ab8db090SAndroid Build Coastguard Worker@EXPORT = qw(); 14*ab8db090SAndroid Build Coastguard Worker 15*ab8db090SAndroid Build Coastguard Worker# ---------- BASE METHODS ------------- 16*ab8db090SAndroid Build Coastguard Worker 17*ab8db090SAndroid Build Coastguard Workerpackage marisa; 18*ab8db090SAndroid Build Coastguard Worker 19*ab8db090SAndroid Build Coastguard Workersub TIEHASH { 20*ab8db090SAndroid Build Coastguard Worker my ($classname,$obj) = @_; 21*ab8db090SAndroid Build Coastguard Worker return bless $obj, $classname; 22*ab8db090SAndroid Build Coastguard Worker} 23*ab8db090SAndroid Build Coastguard Worker 24*ab8db090SAndroid Build Coastguard Workersub CLEAR { } 25*ab8db090SAndroid Build Coastguard Worker 26*ab8db090SAndroid Build Coastguard Workersub FIRSTKEY { } 27*ab8db090SAndroid Build Coastguard Worker 28*ab8db090SAndroid Build Coastguard Workersub NEXTKEY { } 29*ab8db090SAndroid Build Coastguard Worker 30*ab8db090SAndroid Build Coastguard Workersub FETCH { 31*ab8db090SAndroid Build Coastguard Worker my ($self,$field) = @_; 32*ab8db090SAndroid Build Coastguard Worker my $member_func = "swig_${field}_get"; 33*ab8db090SAndroid Build Coastguard Worker $self->$member_func(); 34*ab8db090SAndroid Build Coastguard Worker} 35*ab8db090SAndroid Build Coastguard Worker 36*ab8db090SAndroid Build Coastguard Workersub STORE { 37*ab8db090SAndroid Build Coastguard Worker my ($self,$field,$newval) = @_; 38*ab8db090SAndroid Build Coastguard Worker my $member_func = "swig_${field}_set"; 39*ab8db090SAndroid Build Coastguard Worker $self->$member_func($newval); 40*ab8db090SAndroid Build Coastguard Worker} 41*ab8db090SAndroid Build Coastguard Worker 42*ab8db090SAndroid Build Coastguard Workersub this { 43*ab8db090SAndroid Build Coastguard Worker my $ptr = shift; 44*ab8db090SAndroid Build Coastguard Worker return tied(%$ptr); 45*ab8db090SAndroid Build Coastguard Worker} 46*ab8db090SAndroid Build Coastguard Worker 47*ab8db090SAndroid Build Coastguard Worker 48*ab8db090SAndroid Build Coastguard Worker# ------- FUNCTION WRAPPERS -------- 49*ab8db090SAndroid Build Coastguard Worker 50*ab8db090SAndroid Build Coastguard Workerpackage marisa; 51*ab8db090SAndroid Build Coastguard Worker 52*ab8db090SAndroid Build Coastguard Worker 53*ab8db090SAndroid Build Coastguard Worker############# Class : marisa::Key ############## 54*ab8db090SAndroid Build Coastguard Worker 55*ab8db090SAndroid Build Coastguard Workerpackage marisa::Key; 56*ab8db090SAndroid Build Coastguard Workeruse vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 57*ab8db090SAndroid Build Coastguard Worker@ISA = qw( marisa ); 58*ab8db090SAndroid Build Coastguard Worker%OWNER = (); 59*ab8db090SAndroid Build Coastguard Worker%ITERATORS = (); 60*ab8db090SAndroid Build Coastguard Worker*str = *marisac::Key_str; 61*ab8db090SAndroid Build Coastguard Worker*id = *marisac::Key_id; 62*ab8db090SAndroid Build Coastguard Worker*weight = *marisac::Key_weight; 63*ab8db090SAndroid Build Coastguard Workersub DESTROY { 64*ab8db090SAndroid Build Coastguard Worker return unless $_[0]->isa('HASH'); 65*ab8db090SAndroid Build Coastguard Worker my $self = tied(%{$_[0]}); 66*ab8db090SAndroid Build Coastguard Worker return unless defined $self; 67*ab8db090SAndroid Build Coastguard Worker delete $ITERATORS{$self}; 68*ab8db090SAndroid Build Coastguard Worker if (exists $OWNER{$self}) { 69*ab8db090SAndroid Build Coastguard Worker marisac::delete_Key($self); 70*ab8db090SAndroid Build Coastguard Worker delete $OWNER{$self}; 71*ab8db090SAndroid Build Coastguard Worker } 72*ab8db090SAndroid Build Coastguard Worker} 73*ab8db090SAndroid Build Coastguard Worker 74*ab8db090SAndroid Build Coastguard Workersub DISOWN { 75*ab8db090SAndroid Build Coastguard Worker my $self = shift; 76*ab8db090SAndroid Build Coastguard Worker my $ptr = tied(%$self); 77*ab8db090SAndroid Build Coastguard Worker delete $OWNER{$ptr}; 78*ab8db090SAndroid Build Coastguard Worker} 79*ab8db090SAndroid Build Coastguard Worker 80*ab8db090SAndroid Build Coastguard Workersub ACQUIRE { 81*ab8db090SAndroid Build Coastguard Worker my $self = shift; 82*ab8db090SAndroid Build Coastguard Worker my $ptr = tied(%$self); 83*ab8db090SAndroid Build Coastguard Worker $OWNER{$ptr} = 1; 84*ab8db090SAndroid Build Coastguard Worker} 85*ab8db090SAndroid Build Coastguard Worker 86*ab8db090SAndroid Build Coastguard Worker 87*ab8db090SAndroid Build Coastguard Worker############# Class : marisa::Query ############## 88*ab8db090SAndroid Build Coastguard Worker 89*ab8db090SAndroid Build Coastguard Workerpackage marisa::Query; 90*ab8db090SAndroid Build Coastguard Workeruse vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 91*ab8db090SAndroid Build Coastguard Worker@ISA = qw( marisa ); 92*ab8db090SAndroid Build Coastguard Worker%OWNER = (); 93*ab8db090SAndroid Build Coastguard Worker%ITERATORS = (); 94*ab8db090SAndroid Build Coastguard Worker*str = *marisac::Query_str; 95*ab8db090SAndroid Build Coastguard Worker*id = *marisac::Query_id; 96*ab8db090SAndroid Build Coastguard Workersub DESTROY { 97*ab8db090SAndroid Build Coastguard Worker return unless $_[0]->isa('HASH'); 98*ab8db090SAndroid Build Coastguard Worker my $self = tied(%{$_[0]}); 99*ab8db090SAndroid Build Coastguard Worker return unless defined $self; 100*ab8db090SAndroid Build Coastguard Worker delete $ITERATORS{$self}; 101*ab8db090SAndroid Build Coastguard Worker if (exists $OWNER{$self}) { 102*ab8db090SAndroid Build Coastguard Worker marisac::delete_Query($self); 103*ab8db090SAndroid Build Coastguard Worker delete $OWNER{$self}; 104*ab8db090SAndroid Build Coastguard Worker } 105*ab8db090SAndroid Build Coastguard Worker} 106*ab8db090SAndroid Build Coastguard Worker 107*ab8db090SAndroid Build Coastguard Workersub DISOWN { 108*ab8db090SAndroid Build Coastguard Worker my $self = shift; 109*ab8db090SAndroid Build Coastguard Worker my $ptr = tied(%$self); 110*ab8db090SAndroid Build Coastguard Worker delete $OWNER{$ptr}; 111*ab8db090SAndroid Build Coastguard Worker} 112*ab8db090SAndroid Build Coastguard Worker 113*ab8db090SAndroid Build Coastguard Workersub ACQUIRE { 114*ab8db090SAndroid Build Coastguard Worker my $self = shift; 115*ab8db090SAndroid Build Coastguard Worker my $ptr = tied(%$self); 116*ab8db090SAndroid Build Coastguard Worker $OWNER{$ptr} = 1; 117*ab8db090SAndroid Build Coastguard Worker} 118*ab8db090SAndroid Build Coastguard Worker 119*ab8db090SAndroid Build Coastguard Worker 120*ab8db090SAndroid Build Coastguard Worker############# Class : marisa::Keyset ############## 121*ab8db090SAndroid Build Coastguard Worker 122*ab8db090SAndroid Build Coastguard Workerpackage marisa::Keyset; 123*ab8db090SAndroid Build Coastguard Workeruse vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 124*ab8db090SAndroid Build Coastguard Worker@ISA = qw( marisa ); 125*ab8db090SAndroid Build Coastguard Worker%OWNER = (); 126*ab8db090SAndroid Build Coastguard Worker%ITERATORS = (); 127*ab8db090SAndroid Build Coastguard Workersub new { 128*ab8db090SAndroid Build Coastguard Worker my $pkg = shift; 129*ab8db090SAndroid Build Coastguard Worker my $self = marisac::new_Keyset(@_); 130*ab8db090SAndroid Build Coastguard Worker bless $self, $pkg if defined($self); 131*ab8db090SAndroid Build Coastguard Worker} 132*ab8db090SAndroid Build Coastguard Worker 133*ab8db090SAndroid Build Coastguard Workersub DESTROY { 134*ab8db090SAndroid Build Coastguard Worker return unless $_[0]->isa('HASH'); 135*ab8db090SAndroid Build Coastguard Worker my $self = tied(%{$_[0]}); 136*ab8db090SAndroid Build Coastguard Worker return unless defined $self; 137*ab8db090SAndroid Build Coastguard Worker delete $ITERATORS{$self}; 138*ab8db090SAndroid Build Coastguard Worker if (exists $OWNER{$self}) { 139*ab8db090SAndroid Build Coastguard Worker marisac::delete_Keyset($self); 140*ab8db090SAndroid Build Coastguard Worker delete $OWNER{$self}; 141*ab8db090SAndroid Build Coastguard Worker } 142*ab8db090SAndroid Build Coastguard Worker} 143*ab8db090SAndroid Build Coastguard Worker 144*ab8db090SAndroid Build Coastguard Worker*push_back = *marisac::Keyset_push_back; 145*ab8db090SAndroid Build Coastguard Worker*key = *marisac::Keyset_key; 146*ab8db090SAndroid Build Coastguard Worker*key_str = *marisac::Keyset_key_str; 147*ab8db090SAndroid Build Coastguard Worker*key_id = *marisac::Keyset_key_id; 148*ab8db090SAndroid Build Coastguard Worker*num_keys = *marisac::Keyset_num_keys; 149*ab8db090SAndroid Build Coastguard Worker*empty = *marisac::Keyset_empty; 150*ab8db090SAndroid Build Coastguard Worker*size = *marisac::Keyset_size; 151*ab8db090SAndroid Build Coastguard Worker*total_length = *marisac::Keyset_total_length; 152*ab8db090SAndroid Build Coastguard Worker*reset = *marisac::Keyset_reset; 153*ab8db090SAndroid Build Coastguard Worker*clear = *marisac::Keyset_clear; 154*ab8db090SAndroid Build Coastguard Workersub DISOWN { 155*ab8db090SAndroid Build Coastguard Worker my $self = shift; 156*ab8db090SAndroid Build Coastguard Worker my $ptr = tied(%$self); 157*ab8db090SAndroid Build Coastguard Worker delete $OWNER{$ptr}; 158*ab8db090SAndroid Build Coastguard Worker} 159*ab8db090SAndroid Build Coastguard Worker 160*ab8db090SAndroid Build Coastguard Workersub ACQUIRE { 161*ab8db090SAndroid Build Coastguard Worker my $self = shift; 162*ab8db090SAndroid Build Coastguard Worker my $ptr = tied(%$self); 163*ab8db090SAndroid Build Coastguard Worker $OWNER{$ptr} = 1; 164*ab8db090SAndroid Build Coastguard Worker} 165*ab8db090SAndroid Build Coastguard Worker 166*ab8db090SAndroid Build Coastguard Worker 167*ab8db090SAndroid Build Coastguard Worker############# Class : marisa::Agent ############## 168*ab8db090SAndroid Build Coastguard Worker 169*ab8db090SAndroid Build Coastguard Workerpackage marisa::Agent; 170*ab8db090SAndroid Build Coastguard Workeruse vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 171*ab8db090SAndroid Build Coastguard Worker@ISA = qw( marisa ); 172*ab8db090SAndroid Build Coastguard Worker%OWNER = (); 173*ab8db090SAndroid Build Coastguard Worker%ITERATORS = (); 174*ab8db090SAndroid Build Coastguard Workersub new { 175*ab8db090SAndroid Build Coastguard Worker my $pkg = shift; 176*ab8db090SAndroid Build Coastguard Worker my $self = marisac::new_Agent(@_); 177*ab8db090SAndroid Build Coastguard Worker bless $self, $pkg if defined($self); 178*ab8db090SAndroid Build Coastguard Worker} 179*ab8db090SAndroid Build Coastguard Worker 180*ab8db090SAndroid Build Coastguard Workersub DESTROY { 181*ab8db090SAndroid Build Coastguard Worker return unless $_[0]->isa('HASH'); 182*ab8db090SAndroid Build Coastguard Worker my $self = tied(%{$_[0]}); 183*ab8db090SAndroid Build Coastguard Worker return unless defined $self; 184*ab8db090SAndroid Build Coastguard Worker delete $ITERATORS{$self}; 185*ab8db090SAndroid Build Coastguard Worker if (exists $OWNER{$self}) { 186*ab8db090SAndroid Build Coastguard Worker marisac::delete_Agent($self); 187*ab8db090SAndroid Build Coastguard Worker delete $OWNER{$self}; 188*ab8db090SAndroid Build Coastguard Worker } 189*ab8db090SAndroid Build Coastguard Worker} 190*ab8db090SAndroid Build Coastguard Worker 191*ab8db090SAndroid Build Coastguard Worker*set_query = *marisac::Agent_set_query; 192*ab8db090SAndroid Build Coastguard Worker*key = *marisac::Agent_key; 193*ab8db090SAndroid Build Coastguard Worker*query = *marisac::Agent_query; 194*ab8db090SAndroid Build Coastguard Worker*key_str = *marisac::Agent_key_str; 195*ab8db090SAndroid Build Coastguard Worker*key_id = *marisac::Agent_key_id; 196*ab8db090SAndroid Build Coastguard Worker*query_str = *marisac::Agent_query_str; 197*ab8db090SAndroid Build Coastguard Worker*query_id = *marisac::Agent_query_id; 198*ab8db090SAndroid Build Coastguard Workersub DISOWN { 199*ab8db090SAndroid Build Coastguard Worker my $self = shift; 200*ab8db090SAndroid Build Coastguard Worker my $ptr = tied(%$self); 201*ab8db090SAndroid Build Coastguard Worker delete $OWNER{$ptr}; 202*ab8db090SAndroid Build Coastguard Worker} 203*ab8db090SAndroid Build Coastguard Worker 204*ab8db090SAndroid Build Coastguard Workersub ACQUIRE { 205*ab8db090SAndroid Build Coastguard Worker my $self = shift; 206*ab8db090SAndroid Build Coastguard Worker my $ptr = tied(%$self); 207*ab8db090SAndroid Build Coastguard Worker $OWNER{$ptr} = 1; 208*ab8db090SAndroid Build Coastguard Worker} 209*ab8db090SAndroid Build Coastguard Worker 210*ab8db090SAndroid Build Coastguard Worker 211*ab8db090SAndroid Build Coastguard Worker############# Class : marisa::Trie ############## 212*ab8db090SAndroid Build Coastguard Worker 213*ab8db090SAndroid Build Coastguard Workerpackage marisa::Trie; 214*ab8db090SAndroid Build Coastguard Workeruse vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 215*ab8db090SAndroid Build Coastguard Worker@ISA = qw( marisa ); 216*ab8db090SAndroid Build Coastguard Worker%OWNER = (); 217*ab8db090SAndroid Build Coastguard Worker%ITERATORS = (); 218*ab8db090SAndroid Build Coastguard Workersub new { 219*ab8db090SAndroid Build Coastguard Worker my $pkg = shift; 220*ab8db090SAndroid Build Coastguard Worker my $self = marisac::new_Trie(@_); 221*ab8db090SAndroid Build Coastguard Worker bless $self, $pkg if defined($self); 222*ab8db090SAndroid Build Coastguard Worker} 223*ab8db090SAndroid Build Coastguard Worker 224*ab8db090SAndroid Build Coastguard Workersub DESTROY { 225*ab8db090SAndroid Build Coastguard Worker return unless $_[0]->isa('HASH'); 226*ab8db090SAndroid Build Coastguard Worker my $self = tied(%{$_[0]}); 227*ab8db090SAndroid Build Coastguard Worker return unless defined $self; 228*ab8db090SAndroid Build Coastguard Worker delete $ITERATORS{$self}; 229*ab8db090SAndroid Build Coastguard Worker if (exists $OWNER{$self}) { 230*ab8db090SAndroid Build Coastguard Worker marisac::delete_Trie($self); 231*ab8db090SAndroid Build Coastguard Worker delete $OWNER{$self}; 232*ab8db090SAndroid Build Coastguard Worker } 233*ab8db090SAndroid Build Coastguard Worker} 234*ab8db090SAndroid Build Coastguard Worker 235*ab8db090SAndroid Build Coastguard Worker*build = *marisac::Trie_build; 236*ab8db090SAndroid Build Coastguard Worker*mmap = *marisac::Trie_mmap; 237*ab8db090SAndroid Build Coastguard Worker*load = *marisac::Trie_load; 238*ab8db090SAndroid Build Coastguard Worker*save = *marisac::Trie_save; 239*ab8db090SAndroid Build Coastguard Worker*common_prefix_search = *marisac::Trie_common_prefix_search; 240*ab8db090SAndroid Build Coastguard Worker*predictive_search = *marisac::Trie_predictive_search; 241*ab8db090SAndroid Build Coastguard Worker*lookup = *marisac::Trie_lookup; 242*ab8db090SAndroid Build Coastguard Worker*reverse_lookup = *marisac::Trie_reverse_lookup; 243*ab8db090SAndroid Build Coastguard Worker*num_tries = *marisac::Trie_num_tries; 244*ab8db090SAndroid Build Coastguard Worker*num_keys = *marisac::Trie_num_keys; 245*ab8db090SAndroid Build Coastguard Worker*num_nodes = *marisac::Trie_num_nodes; 246*ab8db090SAndroid Build Coastguard Worker*tail_mode = *marisac::Trie_tail_mode; 247*ab8db090SAndroid Build Coastguard Worker*node_order = *marisac::Trie_node_order; 248*ab8db090SAndroid Build Coastguard Worker*empty = *marisac::Trie_empty; 249*ab8db090SAndroid Build Coastguard Worker*size = *marisac::Trie_size; 250*ab8db090SAndroid Build Coastguard Worker*total_size = *marisac::Trie_total_size; 251*ab8db090SAndroid Build Coastguard Worker*io_size = *marisac::Trie_io_size; 252*ab8db090SAndroid Build Coastguard Worker*clear = *marisac::Trie_clear; 253*ab8db090SAndroid Build Coastguard Workersub DISOWN { 254*ab8db090SAndroid Build Coastguard Worker my $self = shift; 255*ab8db090SAndroid Build Coastguard Worker my $ptr = tied(%$self); 256*ab8db090SAndroid Build Coastguard Worker delete $OWNER{$ptr}; 257*ab8db090SAndroid Build Coastguard Worker} 258*ab8db090SAndroid Build Coastguard Worker 259*ab8db090SAndroid Build Coastguard Workersub ACQUIRE { 260*ab8db090SAndroid Build Coastguard Worker my $self = shift; 261*ab8db090SAndroid Build Coastguard Worker my $ptr = tied(%$self); 262*ab8db090SAndroid Build Coastguard Worker $OWNER{$ptr} = 1; 263*ab8db090SAndroid Build Coastguard Worker} 264*ab8db090SAndroid Build Coastguard Worker 265*ab8db090SAndroid Build Coastguard Worker 266*ab8db090SAndroid Build Coastguard Worker# ------- VARIABLE STUBS -------- 267*ab8db090SAndroid Build Coastguard Worker 268*ab8db090SAndroid Build Coastguard Workerpackage marisa; 269*ab8db090SAndroid Build Coastguard Worker 270*ab8db090SAndroid Build Coastguard Worker*OK = *marisac::OK; 271*ab8db090SAndroid Build Coastguard Worker*STATE_ERROR = *marisac::STATE_ERROR; 272*ab8db090SAndroid Build Coastguard Worker*NULL_ERROR = *marisac::NULL_ERROR; 273*ab8db090SAndroid Build Coastguard Worker*BOUND_ERROR = *marisac::BOUND_ERROR; 274*ab8db090SAndroid Build Coastguard Worker*RANGE_ERROR = *marisac::RANGE_ERROR; 275*ab8db090SAndroid Build Coastguard Worker*CODE_ERROR = *marisac::CODE_ERROR; 276*ab8db090SAndroid Build Coastguard Worker*RESET_ERROR = *marisac::RESET_ERROR; 277*ab8db090SAndroid Build Coastguard Worker*SIZE_ERROR = *marisac::SIZE_ERROR; 278*ab8db090SAndroid Build Coastguard Worker*MEMORY_ERROR = *marisac::MEMORY_ERROR; 279*ab8db090SAndroid Build Coastguard Worker*IO_ERROR = *marisac::IO_ERROR; 280*ab8db090SAndroid Build Coastguard Worker*FORMAT_ERROR = *marisac::FORMAT_ERROR; 281*ab8db090SAndroid Build Coastguard Worker*MIN_NUM_TRIES = *marisac::MIN_NUM_TRIES; 282*ab8db090SAndroid Build Coastguard Worker*MAX_NUM_TRIES = *marisac::MAX_NUM_TRIES; 283*ab8db090SAndroid Build Coastguard Worker*DEFAULT_NUM_TRIES = *marisac::DEFAULT_NUM_TRIES; 284*ab8db090SAndroid Build Coastguard Worker*HUGE_CACHE = *marisac::HUGE_CACHE; 285*ab8db090SAndroid Build Coastguard Worker*LARGE_CACHE = *marisac::LARGE_CACHE; 286*ab8db090SAndroid Build Coastguard Worker*NORMAL_CACHE = *marisac::NORMAL_CACHE; 287*ab8db090SAndroid Build Coastguard Worker*SMALL_CACHE = *marisac::SMALL_CACHE; 288*ab8db090SAndroid Build Coastguard Worker*TINY_CACHE = *marisac::TINY_CACHE; 289*ab8db090SAndroid Build Coastguard Worker*DEFAULT_CACHE = *marisac::DEFAULT_CACHE; 290*ab8db090SAndroid Build Coastguard Worker*TEXT_TAIL = *marisac::TEXT_TAIL; 291*ab8db090SAndroid Build Coastguard Worker*BINARY_TAIL = *marisac::BINARY_TAIL; 292*ab8db090SAndroid Build Coastguard Worker*DEFAULT_TAIL = *marisac::DEFAULT_TAIL; 293*ab8db090SAndroid Build Coastguard Worker*LABEL_ORDER = *marisac::LABEL_ORDER; 294*ab8db090SAndroid Build Coastguard Worker*WEIGHT_ORDER = *marisac::WEIGHT_ORDER; 295*ab8db090SAndroid Build Coastguard Worker*DEFAULT_ORDER = *marisac::DEFAULT_ORDER; 296*ab8db090SAndroid Build Coastguard Worker*INVALID_KEY_ID = *marisac::INVALID_KEY_ID; 297*ab8db090SAndroid Build Coastguard Worker1; 298