xref: /aosp_15_r20/external/marisa-trie/bindings/perl/marisa-swig_wrap.cxx (revision ab8db090fce404b23716c4c9194221ee27efe31c)
1*ab8db090SAndroid Build Coastguard Worker /* ----------------------------------------------------------------------------
2*ab8db090SAndroid Build Coastguard Worker  * This file was automatically generated by SWIG (http://www.swig.org).
3*ab8db090SAndroid Build Coastguard Worker  * Version 1.3.40
4*ab8db090SAndroid Build Coastguard Worker  *
5*ab8db090SAndroid Build Coastguard Worker  * This file is not intended to be easily readable and contains a number of
6*ab8db090SAndroid Build Coastguard Worker  * coding conventions designed to improve portability and efficiency. Do not make
7*ab8db090SAndroid Build Coastguard Worker  * changes to this file unless you know what you are doing--modify the SWIG
8*ab8db090SAndroid Build Coastguard Worker  * interface file instead.
9*ab8db090SAndroid Build Coastguard Worker  * ----------------------------------------------------------------------------- */
10*ab8db090SAndroid Build Coastguard Worker 
11*ab8db090SAndroid Build Coastguard Worker #define SWIGPERL
12*ab8db090SAndroid Build Coastguard Worker #define SWIG_CASTRANK_MODE
13*ab8db090SAndroid Build Coastguard Worker 
14*ab8db090SAndroid Build Coastguard Worker 
15*ab8db090SAndroid Build Coastguard Worker #ifdef __cplusplus
16*ab8db090SAndroid Build Coastguard Worker /* SwigValueWrapper is described in swig.swg */
17*ab8db090SAndroid Build Coastguard Worker template<typename T> class SwigValueWrapper {
18*ab8db090SAndroid Build Coastguard Worker   struct SwigMovePointer {
19*ab8db090SAndroid Build Coastguard Worker     T *ptr;
SwigMovePointerSwigValueWrapper::SwigMovePointer20*ab8db090SAndroid Build Coastguard Worker     SwigMovePointer(T *p) : ptr(p) { }
~SwigMovePointerSwigValueWrapper::SwigMovePointer21*ab8db090SAndroid Build Coastguard Worker     ~SwigMovePointer() { delete ptr; }
operator =SwigValueWrapper::SwigMovePointer22*ab8db090SAndroid Build Coastguard Worker     SwigMovePointer& operator=(SwigMovePointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; }
23*ab8db090SAndroid Build Coastguard Worker   } pointer;
24*ab8db090SAndroid Build Coastguard Worker   SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
25*ab8db090SAndroid Build Coastguard Worker   SwigValueWrapper(const SwigValueWrapper<T>& rhs);
26*ab8db090SAndroid Build Coastguard Worker public:
SwigValueWrapper()27*ab8db090SAndroid Build Coastguard Worker   SwigValueWrapper() : pointer(0) { }
operator =(const T & t)28*ab8db090SAndroid Build Coastguard Worker   SwigValueWrapper& operator=(const T& t) { SwigMovePointer tmp(new T(t)); pointer = tmp; return *this; }
operator T&() const29*ab8db090SAndroid Build Coastguard Worker   operator T&() const { return *pointer.ptr; }
operator &()30*ab8db090SAndroid Build Coastguard Worker   T *operator&() { return pointer.ptr; }
31*ab8db090SAndroid Build Coastguard Worker };
32*ab8db090SAndroid Build Coastguard Worker 
SwigValueInit()33*ab8db090SAndroid Build Coastguard Worker template <typename T> T SwigValueInit() {
34*ab8db090SAndroid Build Coastguard Worker   return T();
35*ab8db090SAndroid Build Coastguard Worker }
36*ab8db090SAndroid Build Coastguard Worker #endif
37*ab8db090SAndroid Build Coastguard Worker 
38*ab8db090SAndroid Build Coastguard Worker /* -----------------------------------------------------------------------------
39*ab8db090SAndroid Build Coastguard Worker  *  This section contains generic SWIG labels for method/variable
40*ab8db090SAndroid Build Coastguard Worker  *  declarations/attributes, and other compiler dependent labels.
41*ab8db090SAndroid Build Coastguard Worker  * ----------------------------------------------------------------------------- */
42*ab8db090SAndroid Build Coastguard Worker 
43*ab8db090SAndroid Build Coastguard Worker /* template workaround for compilers that cannot correctly implement the C++ standard */
44*ab8db090SAndroid Build Coastguard Worker #ifndef SWIGTEMPLATEDISAMBIGUATOR
45*ab8db090SAndroid Build Coastguard Worker # if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
46*ab8db090SAndroid Build Coastguard Worker #  define SWIGTEMPLATEDISAMBIGUATOR template
47*ab8db090SAndroid Build Coastguard Worker # elif defined(__HP_aCC)
48*ab8db090SAndroid Build Coastguard Worker /* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
49*ab8db090SAndroid Build Coastguard Worker /* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
50*ab8db090SAndroid Build Coastguard Worker #  define SWIGTEMPLATEDISAMBIGUATOR template
51*ab8db090SAndroid Build Coastguard Worker # else
52*ab8db090SAndroid Build Coastguard Worker #  define SWIGTEMPLATEDISAMBIGUATOR
53*ab8db090SAndroid Build Coastguard Worker # endif
54*ab8db090SAndroid Build Coastguard Worker #endif
55*ab8db090SAndroid Build Coastguard Worker 
56*ab8db090SAndroid Build Coastguard Worker /* inline attribute */
57*ab8db090SAndroid Build Coastguard Worker #ifndef SWIGINLINE
58*ab8db090SAndroid Build Coastguard Worker # if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
59*ab8db090SAndroid Build Coastguard Worker #   define SWIGINLINE inline
60*ab8db090SAndroid Build Coastguard Worker # else
61*ab8db090SAndroid Build Coastguard Worker #   define SWIGINLINE
62*ab8db090SAndroid Build Coastguard Worker # endif
63*ab8db090SAndroid Build Coastguard Worker #endif
64*ab8db090SAndroid Build Coastguard Worker 
65*ab8db090SAndroid Build Coastguard Worker /* attribute recognised by some compilers to avoid 'unused' warnings */
66*ab8db090SAndroid Build Coastguard Worker #ifndef SWIGUNUSED
67*ab8db090SAndroid Build Coastguard Worker # if defined(__GNUC__)
68*ab8db090SAndroid Build Coastguard Worker #   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
69*ab8db090SAndroid Build Coastguard Worker #     define SWIGUNUSED __attribute__ ((__unused__))
70*ab8db090SAndroid Build Coastguard Worker #   else
71*ab8db090SAndroid Build Coastguard Worker #     define SWIGUNUSED
72*ab8db090SAndroid Build Coastguard Worker #   endif
73*ab8db090SAndroid Build Coastguard Worker # elif defined(__ICC)
74*ab8db090SAndroid Build Coastguard Worker #   define SWIGUNUSED __attribute__ ((__unused__))
75*ab8db090SAndroid Build Coastguard Worker # else
76*ab8db090SAndroid Build Coastguard Worker #   define SWIGUNUSED
77*ab8db090SAndroid Build Coastguard Worker # endif
78*ab8db090SAndroid Build Coastguard Worker #endif
79*ab8db090SAndroid Build Coastguard Worker 
80*ab8db090SAndroid Build Coastguard Worker #ifndef SWIG_MSC_UNSUPPRESS_4505
81*ab8db090SAndroid Build Coastguard Worker # if defined(_MSC_VER)
82*ab8db090SAndroid Build Coastguard Worker #   pragma warning(disable : 4505) /* unreferenced local function has been removed */
83*ab8db090SAndroid Build Coastguard Worker # endif
84*ab8db090SAndroid Build Coastguard Worker #endif
85*ab8db090SAndroid Build Coastguard Worker 
86*ab8db090SAndroid Build Coastguard Worker #ifndef SWIGUNUSEDPARM
87*ab8db090SAndroid Build Coastguard Worker # ifdef __cplusplus
88*ab8db090SAndroid Build Coastguard Worker #   define SWIGUNUSEDPARM(p)
89*ab8db090SAndroid Build Coastguard Worker # else
90*ab8db090SAndroid Build Coastguard Worker #   define SWIGUNUSEDPARM(p) p SWIGUNUSED
91*ab8db090SAndroid Build Coastguard Worker # endif
92*ab8db090SAndroid Build Coastguard Worker #endif
93*ab8db090SAndroid Build Coastguard Worker 
94*ab8db090SAndroid Build Coastguard Worker /* internal SWIG method */
95*ab8db090SAndroid Build Coastguard Worker #ifndef SWIGINTERN
96*ab8db090SAndroid Build Coastguard Worker # define SWIGINTERN static SWIGUNUSED
97*ab8db090SAndroid Build Coastguard Worker #endif
98*ab8db090SAndroid Build Coastguard Worker 
99*ab8db090SAndroid Build Coastguard Worker /* internal inline SWIG method */
100*ab8db090SAndroid Build Coastguard Worker #ifndef SWIGINTERNINLINE
101*ab8db090SAndroid Build Coastguard Worker # define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
102*ab8db090SAndroid Build Coastguard Worker #endif
103*ab8db090SAndroid Build Coastguard Worker 
104*ab8db090SAndroid Build Coastguard Worker /* exporting methods */
105*ab8db090SAndroid Build Coastguard Worker #if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
106*ab8db090SAndroid Build Coastguard Worker #  ifndef GCC_HASCLASSVISIBILITY
107*ab8db090SAndroid Build Coastguard Worker #    define GCC_HASCLASSVISIBILITY
108*ab8db090SAndroid Build Coastguard Worker #  endif
109*ab8db090SAndroid Build Coastguard Worker #endif
110*ab8db090SAndroid Build Coastguard Worker 
111*ab8db090SAndroid Build Coastguard Worker #ifndef SWIGEXPORT
112*ab8db090SAndroid Build Coastguard Worker # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
113*ab8db090SAndroid Build Coastguard Worker #   if defined(STATIC_LINKED)
114*ab8db090SAndroid Build Coastguard Worker #     define SWIGEXPORT
115*ab8db090SAndroid Build Coastguard Worker #   else
116*ab8db090SAndroid Build Coastguard Worker #     define SWIGEXPORT __declspec(dllexport)
117*ab8db090SAndroid Build Coastguard Worker #   endif
118*ab8db090SAndroid Build Coastguard Worker # else
119*ab8db090SAndroid Build Coastguard Worker #   if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
120*ab8db090SAndroid Build Coastguard Worker #     define SWIGEXPORT __attribute__ ((visibility("default")))
121*ab8db090SAndroid Build Coastguard Worker #   else
122*ab8db090SAndroid Build Coastguard Worker #     define SWIGEXPORT
123*ab8db090SAndroid Build Coastguard Worker #   endif
124*ab8db090SAndroid Build Coastguard Worker # endif
125*ab8db090SAndroid Build Coastguard Worker #endif
126*ab8db090SAndroid Build Coastguard Worker 
127*ab8db090SAndroid Build Coastguard Worker /* calling conventions for Windows */
128*ab8db090SAndroid Build Coastguard Worker #ifndef SWIGSTDCALL
129*ab8db090SAndroid Build Coastguard Worker # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
130*ab8db090SAndroid Build Coastguard Worker #   define SWIGSTDCALL __stdcall
131*ab8db090SAndroid Build Coastguard Worker # else
132*ab8db090SAndroid Build Coastguard Worker #   define SWIGSTDCALL
133*ab8db090SAndroid Build Coastguard Worker # endif
134*ab8db090SAndroid Build Coastguard Worker #endif
135*ab8db090SAndroid Build Coastguard Worker 
136*ab8db090SAndroid Build Coastguard Worker /* Deal with Microsoft's attempt at deprecating C standard runtime functions */
137*ab8db090SAndroid Build Coastguard Worker #if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
138*ab8db090SAndroid Build Coastguard Worker # define _CRT_SECURE_NO_DEPRECATE
139*ab8db090SAndroid Build Coastguard Worker #endif
140*ab8db090SAndroid Build Coastguard Worker 
141*ab8db090SAndroid Build Coastguard Worker /* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
142*ab8db090SAndroid Build Coastguard Worker #if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
143*ab8db090SAndroid Build Coastguard Worker # define _SCL_SECURE_NO_DEPRECATE
144*ab8db090SAndroid Build Coastguard Worker #endif
145*ab8db090SAndroid Build Coastguard Worker 
146*ab8db090SAndroid Build Coastguard Worker 
147*ab8db090SAndroid Build Coastguard Worker /* -----------------------------------------------------------------------------
148*ab8db090SAndroid Build Coastguard Worker  * swigrun.swg
149*ab8db090SAndroid Build Coastguard Worker  *
150*ab8db090SAndroid Build Coastguard Worker  * This file contains generic C API SWIG runtime support for pointer
151*ab8db090SAndroid Build Coastguard Worker  * type checking.
152*ab8db090SAndroid Build Coastguard Worker  * ----------------------------------------------------------------------------- */
153*ab8db090SAndroid Build Coastguard Worker 
154*ab8db090SAndroid Build Coastguard Worker /* This should only be incremented when either the layout of swig_type_info changes,
155*ab8db090SAndroid Build Coastguard Worker    or for whatever reason, the runtime changes incompatibly */
156*ab8db090SAndroid Build Coastguard Worker #define SWIG_RUNTIME_VERSION "4"
157*ab8db090SAndroid Build Coastguard Worker 
158*ab8db090SAndroid Build Coastguard Worker /* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
159*ab8db090SAndroid Build Coastguard Worker #ifdef SWIG_TYPE_TABLE
160*ab8db090SAndroid Build Coastguard Worker # define SWIG_QUOTE_STRING(x) #x
161*ab8db090SAndroid Build Coastguard Worker # define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x)
162*ab8db090SAndroid Build Coastguard Worker # define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE)
163*ab8db090SAndroid Build Coastguard Worker #else
164*ab8db090SAndroid Build Coastguard Worker # define SWIG_TYPE_TABLE_NAME
165*ab8db090SAndroid Build Coastguard Worker #endif
166*ab8db090SAndroid Build Coastguard Worker 
167*ab8db090SAndroid Build Coastguard Worker /*
168*ab8db090SAndroid Build Coastguard Worker   You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for
169*ab8db090SAndroid Build Coastguard Worker   creating a static or dynamic library from the SWIG runtime code.
170*ab8db090SAndroid Build Coastguard Worker   In 99.9% of the cases, SWIG just needs to declare them as 'static'.
171*ab8db090SAndroid Build Coastguard Worker 
172*ab8db090SAndroid Build Coastguard Worker   But only do this if strictly necessary, ie, if you have problems
173*ab8db090SAndroid Build Coastguard Worker   with your compiler or suchlike.
174*ab8db090SAndroid Build Coastguard Worker */
175*ab8db090SAndroid Build Coastguard Worker 
176*ab8db090SAndroid Build Coastguard Worker #ifndef SWIGRUNTIME
177*ab8db090SAndroid Build Coastguard Worker # define SWIGRUNTIME SWIGINTERN
178*ab8db090SAndroid Build Coastguard Worker #endif
179*ab8db090SAndroid Build Coastguard Worker 
180*ab8db090SAndroid Build Coastguard Worker #ifndef SWIGRUNTIMEINLINE
181*ab8db090SAndroid Build Coastguard Worker # define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE
182*ab8db090SAndroid Build Coastguard Worker #endif
183*ab8db090SAndroid Build Coastguard Worker 
184*ab8db090SAndroid Build Coastguard Worker /*  Generic buffer size */
185*ab8db090SAndroid Build Coastguard Worker #ifndef SWIG_BUFFER_SIZE
186*ab8db090SAndroid Build Coastguard Worker # define SWIG_BUFFER_SIZE 1024
187*ab8db090SAndroid Build Coastguard Worker #endif
188*ab8db090SAndroid Build Coastguard Worker 
189*ab8db090SAndroid Build Coastguard Worker /* Flags for pointer conversions */
190*ab8db090SAndroid Build Coastguard Worker #define SWIG_POINTER_DISOWN        0x1
191*ab8db090SAndroid Build Coastguard Worker #define SWIG_CAST_NEW_MEMORY       0x2
192*ab8db090SAndroid Build Coastguard Worker 
193*ab8db090SAndroid Build Coastguard Worker /* Flags for new pointer objects */
194*ab8db090SAndroid Build Coastguard Worker #define SWIG_POINTER_OWN           0x1
195*ab8db090SAndroid Build Coastguard Worker 
196*ab8db090SAndroid Build Coastguard Worker 
197*ab8db090SAndroid Build Coastguard Worker /*
198*ab8db090SAndroid Build Coastguard Worker    Flags/methods for returning states.
199*ab8db090SAndroid Build Coastguard Worker 
200*ab8db090SAndroid Build Coastguard Worker    The SWIG conversion methods, as ConvertPtr, return and integer
201*ab8db090SAndroid Build Coastguard Worker    that tells if the conversion was successful or not. And if not,
202*ab8db090SAndroid Build Coastguard Worker    an error code can be returned (see swigerrors.swg for the codes).
203*ab8db090SAndroid Build Coastguard Worker 
204*ab8db090SAndroid Build Coastguard Worker    Use the following macros/flags to set or process the returning
205*ab8db090SAndroid Build Coastguard Worker    states.
206*ab8db090SAndroid Build Coastguard Worker 
207*ab8db090SAndroid Build Coastguard Worker    In old versions of SWIG, code such as the following was usually written:
208*ab8db090SAndroid Build Coastguard Worker 
209*ab8db090SAndroid Build Coastguard Worker      if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) {
210*ab8db090SAndroid Build Coastguard Worker        // success code
211*ab8db090SAndroid Build Coastguard Worker      } else {
212*ab8db090SAndroid Build Coastguard Worker        //fail code
213*ab8db090SAndroid Build Coastguard Worker      }
214*ab8db090SAndroid Build Coastguard Worker 
215*ab8db090SAndroid Build Coastguard Worker    Now you can be more explicit:
216*ab8db090SAndroid Build Coastguard Worker 
217*ab8db090SAndroid Build Coastguard Worker     int res = SWIG_ConvertPtr(obj,vptr,ty.flags);
218*ab8db090SAndroid Build Coastguard Worker     if (SWIG_IsOK(res)) {
219*ab8db090SAndroid Build Coastguard Worker       // success code
220*ab8db090SAndroid Build Coastguard Worker     } else {
221*ab8db090SAndroid Build Coastguard Worker       // fail code
222*ab8db090SAndroid Build Coastguard Worker     }
223*ab8db090SAndroid Build Coastguard Worker 
224*ab8db090SAndroid Build Coastguard Worker    which is the same really, but now you can also do
225*ab8db090SAndroid Build Coastguard Worker 
226*ab8db090SAndroid Build Coastguard Worker     Type *ptr;
227*ab8db090SAndroid Build Coastguard Worker     int res = SWIG_ConvertPtr(obj,(void **)(&ptr),ty.flags);
228*ab8db090SAndroid Build Coastguard Worker     if (SWIG_IsOK(res)) {
229*ab8db090SAndroid Build Coastguard Worker       // success code
230*ab8db090SAndroid Build Coastguard Worker       if (SWIG_IsNewObj(res) {
231*ab8db090SAndroid Build Coastguard Worker         ...
232*ab8db090SAndroid Build Coastguard Worker 	delete *ptr;
233*ab8db090SAndroid Build Coastguard Worker       } else {
234*ab8db090SAndroid Build Coastguard Worker         ...
235*ab8db090SAndroid Build Coastguard Worker       }
236*ab8db090SAndroid Build Coastguard Worker     } else {
237*ab8db090SAndroid Build Coastguard Worker       // fail code
238*ab8db090SAndroid Build Coastguard Worker     }
239*ab8db090SAndroid Build Coastguard Worker 
240*ab8db090SAndroid Build Coastguard Worker    I.e., now SWIG_ConvertPtr can return new objects and you can
241*ab8db090SAndroid Build Coastguard Worker    identify the case and take care of the deallocation. Of course that
242*ab8db090SAndroid Build Coastguard Worker    also requires SWIG_ConvertPtr to return new result values, such as
243*ab8db090SAndroid Build Coastguard Worker 
244*ab8db090SAndroid Build Coastguard Worker       int SWIG_ConvertPtr(obj, ptr,...) {
245*ab8db090SAndroid Build Coastguard Worker         if (<obj is ok>) {
246*ab8db090SAndroid Build Coastguard Worker           if (<need new object>) {
247*ab8db090SAndroid Build Coastguard Worker             *ptr = <ptr to new allocated object>;
248*ab8db090SAndroid Build Coastguard Worker             return SWIG_NEWOBJ;
249*ab8db090SAndroid Build Coastguard Worker           } else {
250*ab8db090SAndroid Build Coastguard Worker             *ptr = <ptr to old object>;
251*ab8db090SAndroid Build Coastguard Worker             return SWIG_OLDOBJ;
252*ab8db090SAndroid Build Coastguard Worker           }
253*ab8db090SAndroid Build Coastguard Worker         } else {
254*ab8db090SAndroid Build Coastguard Worker           return SWIG_BADOBJ;
255*ab8db090SAndroid Build Coastguard Worker         }
256*ab8db090SAndroid Build Coastguard Worker       }
257*ab8db090SAndroid Build Coastguard Worker 
258*ab8db090SAndroid Build Coastguard Worker    Of course, returning the plain '0(success)/-1(fail)' still works, but you can be
259*ab8db090SAndroid Build Coastguard Worker    more explicit by returning SWIG_BADOBJ, SWIG_ERROR or any of the
260*ab8db090SAndroid Build Coastguard Worker    SWIG errors code.
261*ab8db090SAndroid Build Coastguard Worker 
262*ab8db090SAndroid Build Coastguard Worker    Finally, if the SWIG_CASTRANK_MODE is enabled, the result code
263*ab8db090SAndroid Build Coastguard Worker    allows to return the 'cast rank', for example, if you have this
264*ab8db090SAndroid Build Coastguard Worker 
265*ab8db090SAndroid Build Coastguard Worker        int food(double)
266*ab8db090SAndroid Build Coastguard Worker        int fooi(int);
267*ab8db090SAndroid Build Coastguard Worker 
268*ab8db090SAndroid Build Coastguard Worker    and you call
269*ab8db090SAndroid Build Coastguard Worker 
270*ab8db090SAndroid Build Coastguard Worker       food(1)   // cast rank '1'  (1 -> 1.0)
271*ab8db090SAndroid Build Coastguard Worker       fooi(1)   // cast rank '0'
272*ab8db090SAndroid Build Coastguard Worker 
273*ab8db090SAndroid Build Coastguard Worker    just use the SWIG_AddCast()/SWIG_CheckState()
274*ab8db090SAndroid Build Coastguard Worker */
275*ab8db090SAndroid Build Coastguard Worker 
276*ab8db090SAndroid Build Coastguard Worker #define SWIG_OK                    (0)
277*ab8db090SAndroid Build Coastguard Worker #define SWIG_ERROR                 (-1)
278*ab8db090SAndroid Build Coastguard Worker #define SWIG_IsOK(r)               (r >= 0)
279*ab8db090SAndroid Build Coastguard Worker #define SWIG_ArgError(r)           ((r != SWIG_ERROR) ? r : SWIG_TypeError)
280*ab8db090SAndroid Build Coastguard Worker 
281*ab8db090SAndroid Build Coastguard Worker /* The CastRankLimit says how many bits are used for the cast rank */
282*ab8db090SAndroid Build Coastguard Worker #define SWIG_CASTRANKLIMIT         (1 << 8)
283*ab8db090SAndroid Build Coastguard Worker /* The NewMask denotes the object was created (using new/malloc) */
284*ab8db090SAndroid Build Coastguard Worker #define SWIG_NEWOBJMASK            (SWIG_CASTRANKLIMIT  << 1)
285*ab8db090SAndroid Build Coastguard Worker /* The TmpMask is for in/out typemaps that use temporal objects */
286*ab8db090SAndroid Build Coastguard Worker #define SWIG_TMPOBJMASK            (SWIG_NEWOBJMASK << 1)
287*ab8db090SAndroid Build Coastguard Worker /* Simple returning values */
288*ab8db090SAndroid Build Coastguard Worker #define SWIG_BADOBJ                (SWIG_ERROR)
289*ab8db090SAndroid Build Coastguard Worker #define SWIG_OLDOBJ                (SWIG_OK)
290*ab8db090SAndroid Build Coastguard Worker #define SWIG_NEWOBJ                (SWIG_OK | SWIG_NEWOBJMASK)
291*ab8db090SAndroid Build Coastguard Worker #define SWIG_TMPOBJ                (SWIG_OK | SWIG_TMPOBJMASK)
292*ab8db090SAndroid Build Coastguard Worker /* Check, add and del mask methods */
293*ab8db090SAndroid Build Coastguard Worker #define SWIG_AddNewMask(r)         (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r)
294*ab8db090SAndroid Build Coastguard Worker #define SWIG_DelNewMask(r)         (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r)
295*ab8db090SAndroid Build Coastguard Worker #define SWIG_IsNewObj(r)           (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK))
296*ab8db090SAndroid Build Coastguard Worker #define SWIG_AddTmpMask(r)         (SWIG_IsOK(r) ? (r | SWIG_TMPOBJMASK) : r)
297*ab8db090SAndroid Build Coastguard Worker #define SWIG_DelTmpMask(r)         (SWIG_IsOK(r) ? (r & ~SWIG_TMPOBJMASK) : r)
298*ab8db090SAndroid Build Coastguard Worker #define SWIG_IsTmpObj(r)           (SWIG_IsOK(r) && (r & SWIG_TMPOBJMASK))
299*ab8db090SAndroid Build Coastguard Worker 
300*ab8db090SAndroid Build Coastguard Worker /* Cast-Rank Mode */
301*ab8db090SAndroid Build Coastguard Worker #if defined(SWIG_CASTRANK_MODE)
302*ab8db090SAndroid Build Coastguard Worker #  ifndef SWIG_TypeRank
303*ab8db090SAndroid Build Coastguard Worker #    define SWIG_TypeRank             unsigned long
304*ab8db090SAndroid Build Coastguard Worker #  endif
305*ab8db090SAndroid Build Coastguard Worker #  ifndef SWIG_MAXCASTRANK            /* Default cast allowed */
306*ab8db090SAndroid Build Coastguard Worker #    define SWIG_MAXCASTRANK          (2)
307*ab8db090SAndroid Build Coastguard Worker #  endif
308*ab8db090SAndroid Build Coastguard Worker #  define SWIG_CASTRANKMASK          ((SWIG_CASTRANKLIMIT) -1)
309*ab8db090SAndroid Build Coastguard Worker #  define SWIG_CastRank(r)           (r & SWIG_CASTRANKMASK)
SWIG_AddCast(int r)310*ab8db090SAndroid Build Coastguard Worker SWIGINTERNINLINE int SWIG_AddCast(int r) {
311*ab8db090SAndroid Build Coastguard Worker   return SWIG_IsOK(r) ? ((SWIG_CastRank(r) < SWIG_MAXCASTRANK) ? (r + 1) : SWIG_ERROR) : r;
312*ab8db090SAndroid Build Coastguard Worker }
SWIG_CheckState(int r)313*ab8db090SAndroid Build Coastguard Worker SWIGINTERNINLINE int SWIG_CheckState(int r) {
314*ab8db090SAndroid Build Coastguard Worker   return SWIG_IsOK(r) ? SWIG_CastRank(r) + 1 : 0;
315*ab8db090SAndroid Build Coastguard Worker }
316*ab8db090SAndroid Build Coastguard Worker #else /* no cast-rank mode */
317*ab8db090SAndroid Build Coastguard Worker #  define SWIG_AddCast
318*ab8db090SAndroid Build Coastguard Worker #  define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0)
319*ab8db090SAndroid Build Coastguard Worker #endif
320*ab8db090SAndroid Build Coastguard Worker 
321*ab8db090SAndroid Build Coastguard Worker 
322*ab8db090SAndroid Build Coastguard Worker #include <string.h>
323*ab8db090SAndroid Build Coastguard Worker 
324*ab8db090SAndroid Build Coastguard Worker #ifdef __cplusplus
325*ab8db090SAndroid Build Coastguard Worker extern "C" {
326*ab8db090SAndroid Build Coastguard Worker #endif
327*ab8db090SAndroid Build Coastguard Worker 
328*ab8db090SAndroid Build Coastguard Worker typedef void *(*swig_converter_func)(void *, int *);
329*ab8db090SAndroid Build Coastguard Worker typedef struct swig_type_info *(*swig_dycast_func)(void **);
330*ab8db090SAndroid Build Coastguard Worker 
331*ab8db090SAndroid Build Coastguard Worker /* Structure to store information on one type */
332*ab8db090SAndroid Build Coastguard Worker typedef struct swig_type_info {
333*ab8db090SAndroid Build Coastguard Worker   const char             *name;			/* mangled name of this type */
334*ab8db090SAndroid Build Coastguard Worker   const char             *str;			/* human readable name of this type */
335*ab8db090SAndroid Build Coastguard Worker   swig_dycast_func        dcast;		/* dynamic cast function down a hierarchy */
336*ab8db090SAndroid Build Coastguard Worker   struct swig_cast_info  *cast;			/* linked list of types that can cast into this type */
337*ab8db090SAndroid Build Coastguard Worker   void                   *clientdata;		/* language specific type data */
338*ab8db090SAndroid Build Coastguard Worker   int                    owndata;		/* flag if the structure owns the clientdata */
339*ab8db090SAndroid Build Coastguard Worker } swig_type_info;
340*ab8db090SAndroid Build Coastguard Worker 
341*ab8db090SAndroid Build Coastguard Worker /* Structure to store a type and conversion function used for casting */
342*ab8db090SAndroid Build Coastguard Worker typedef struct swig_cast_info {
343*ab8db090SAndroid Build Coastguard Worker   swig_type_info         *type;			/* pointer to type that is equivalent to this type */
344*ab8db090SAndroid Build Coastguard Worker   swig_converter_func     converter;		/* function to cast the void pointers */
345*ab8db090SAndroid Build Coastguard Worker   struct swig_cast_info  *next;			/* pointer to next cast in linked list */
346*ab8db090SAndroid Build Coastguard Worker   struct swig_cast_info  *prev;			/* pointer to the previous cast */
347*ab8db090SAndroid Build Coastguard Worker } swig_cast_info;
348*ab8db090SAndroid Build Coastguard Worker 
349*ab8db090SAndroid Build Coastguard Worker /* Structure used to store module information
350*ab8db090SAndroid Build Coastguard Worker  * Each module generates one structure like this, and the runtime collects
351*ab8db090SAndroid Build Coastguard Worker  * all of these structures and stores them in a circularly linked list.*/
352*ab8db090SAndroid Build Coastguard Worker typedef struct swig_module_info {
353*ab8db090SAndroid Build Coastguard Worker   swig_type_info         **types;		/* Array of pointers to swig_type_info structures that are in this module */
354*ab8db090SAndroid Build Coastguard Worker   size_t                 size;		        /* Number of types in this module */
355*ab8db090SAndroid Build Coastguard Worker   struct swig_module_info *next;		/* Pointer to next element in circularly linked list */
356*ab8db090SAndroid Build Coastguard Worker   swig_type_info         **type_initial;	/* Array of initially generated type structures */
357*ab8db090SAndroid Build Coastguard Worker   swig_cast_info         **cast_initial;	/* Array of initially generated casting structures */
358*ab8db090SAndroid Build Coastguard Worker   void                    *clientdata;		/* Language specific module data */
359*ab8db090SAndroid Build Coastguard Worker } swig_module_info;
360*ab8db090SAndroid Build Coastguard Worker 
361*ab8db090SAndroid Build Coastguard Worker /*
362*ab8db090SAndroid Build Coastguard Worker   Compare two type names skipping the space characters, therefore
363*ab8db090SAndroid Build Coastguard Worker   "char*" == "char *" and "Class<int>" == "Class<int >", etc.
364*ab8db090SAndroid Build Coastguard Worker 
365*ab8db090SAndroid Build Coastguard Worker   Return 0 when the two name types are equivalent, as in
366*ab8db090SAndroid Build Coastguard Worker   strncmp, but skipping ' '.
367*ab8db090SAndroid Build Coastguard Worker */
368*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME int
SWIG_TypeNameComp(const char * f1,const char * l1,const char * f2,const char * l2)369*ab8db090SAndroid Build Coastguard Worker SWIG_TypeNameComp(const char *f1, const char *l1,
370*ab8db090SAndroid Build Coastguard Worker 		  const char *f2, const char *l2) {
371*ab8db090SAndroid Build Coastguard Worker   for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) {
372*ab8db090SAndroid Build Coastguard Worker     while ((*f1 == ' ') && (f1 != l1)) ++f1;
373*ab8db090SAndroid Build Coastguard Worker     while ((*f2 == ' ') && (f2 != l2)) ++f2;
374*ab8db090SAndroid Build Coastguard Worker     if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1;
375*ab8db090SAndroid Build Coastguard Worker   }
376*ab8db090SAndroid Build Coastguard Worker   return (int)((l1 - f1) - (l2 - f2));
377*ab8db090SAndroid Build Coastguard Worker }
378*ab8db090SAndroid Build Coastguard Worker 
379*ab8db090SAndroid Build Coastguard Worker /*
380*ab8db090SAndroid Build Coastguard Worker   Check type equivalence in a name list like <name1>|<name2>|...
381*ab8db090SAndroid Build Coastguard Worker   Return 0 if not equal, 1 if equal
382*ab8db090SAndroid Build Coastguard Worker */
383*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME int
SWIG_TypeEquiv(const char * nb,const char * tb)384*ab8db090SAndroid Build Coastguard Worker SWIG_TypeEquiv(const char *nb, const char *tb) {
385*ab8db090SAndroid Build Coastguard Worker   int equiv = 0;
386*ab8db090SAndroid Build Coastguard Worker   const char* te = tb + strlen(tb);
387*ab8db090SAndroid Build Coastguard Worker   const char* ne = nb;
388*ab8db090SAndroid Build Coastguard Worker   while (!equiv && *ne) {
389*ab8db090SAndroid Build Coastguard Worker     for (nb = ne; *ne; ++ne) {
390*ab8db090SAndroid Build Coastguard Worker       if (*ne == '|') break;
391*ab8db090SAndroid Build Coastguard Worker     }
392*ab8db090SAndroid Build Coastguard Worker     equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0;
393*ab8db090SAndroid Build Coastguard Worker     if (*ne) ++ne;
394*ab8db090SAndroid Build Coastguard Worker   }
395*ab8db090SAndroid Build Coastguard Worker   return equiv;
396*ab8db090SAndroid Build Coastguard Worker }
397*ab8db090SAndroid Build Coastguard Worker 
398*ab8db090SAndroid Build Coastguard Worker /*
399*ab8db090SAndroid Build Coastguard Worker   Check type equivalence in a name list like <name1>|<name2>|...
400*ab8db090SAndroid Build Coastguard Worker   Return 0 if equal, -1 if nb < tb, 1 if nb > tb
401*ab8db090SAndroid Build Coastguard Worker */
402*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME int
SWIG_TypeCompare(const char * nb,const char * tb)403*ab8db090SAndroid Build Coastguard Worker SWIG_TypeCompare(const char *nb, const char *tb) {
404*ab8db090SAndroid Build Coastguard Worker   int equiv = 0;
405*ab8db090SAndroid Build Coastguard Worker   const char* te = tb + strlen(tb);
406*ab8db090SAndroid Build Coastguard Worker   const char* ne = nb;
407*ab8db090SAndroid Build Coastguard Worker   while (!equiv && *ne) {
408*ab8db090SAndroid Build Coastguard Worker     for (nb = ne; *ne; ++ne) {
409*ab8db090SAndroid Build Coastguard Worker       if (*ne == '|') break;
410*ab8db090SAndroid Build Coastguard Worker     }
411*ab8db090SAndroid Build Coastguard Worker     equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0;
412*ab8db090SAndroid Build Coastguard Worker     if (*ne) ++ne;
413*ab8db090SAndroid Build Coastguard Worker   }
414*ab8db090SAndroid Build Coastguard Worker   return equiv;
415*ab8db090SAndroid Build Coastguard Worker }
416*ab8db090SAndroid Build Coastguard Worker 
417*ab8db090SAndroid Build Coastguard Worker 
418*ab8db090SAndroid Build Coastguard Worker /*
419*ab8db090SAndroid Build Coastguard Worker   Check the typename
420*ab8db090SAndroid Build Coastguard Worker */
421*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME swig_cast_info *
SWIG_TypeCheck(const char * c,swig_type_info * ty)422*ab8db090SAndroid Build Coastguard Worker SWIG_TypeCheck(const char *c, swig_type_info *ty) {
423*ab8db090SAndroid Build Coastguard Worker   if (ty) {
424*ab8db090SAndroid Build Coastguard Worker     swig_cast_info *iter = ty->cast;
425*ab8db090SAndroid Build Coastguard Worker     while (iter) {
426*ab8db090SAndroid Build Coastguard Worker       if (strcmp(iter->type->name, c) == 0) {
427*ab8db090SAndroid Build Coastguard Worker         if (iter == ty->cast)
428*ab8db090SAndroid Build Coastguard Worker           return iter;
429*ab8db090SAndroid Build Coastguard Worker         /* Move iter to the top of the linked list */
430*ab8db090SAndroid Build Coastguard Worker         iter->prev->next = iter->next;
431*ab8db090SAndroid Build Coastguard Worker         if (iter->next)
432*ab8db090SAndroid Build Coastguard Worker           iter->next->prev = iter->prev;
433*ab8db090SAndroid Build Coastguard Worker         iter->next = ty->cast;
434*ab8db090SAndroid Build Coastguard Worker         iter->prev = 0;
435*ab8db090SAndroid Build Coastguard Worker         if (ty->cast) ty->cast->prev = iter;
436*ab8db090SAndroid Build Coastguard Worker         ty->cast = iter;
437*ab8db090SAndroid Build Coastguard Worker         return iter;
438*ab8db090SAndroid Build Coastguard Worker       }
439*ab8db090SAndroid Build Coastguard Worker       iter = iter->next;
440*ab8db090SAndroid Build Coastguard Worker     }
441*ab8db090SAndroid Build Coastguard Worker   }
442*ab8db090SAndroid Build Coastguard Worker   return 0;
443*ab8db090SAndroid Build Coastguard Worker }
444*ab8db090SAndroid Build Coastguard Worker 
445*ab8db090SAndroid Build Coastguard Worker /*
446*ab8db090SAndroid Build Coastguard Worker   Identical to SWIG_TypeCheck, except strcmp is replaced with a pointer comparison
447*ab8db090SAndroid Build Coastguard Worker */
448*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME swig_cast_info *
SWIG_TypeCheckStruct(swig_type_info * from,swig_type_info * ty)449*ab8db090SAndroid Build Coastguard Worker SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *ty) {
450*ab8db090SAndroid Build Coastguard Worker   if (ty) {
451*ab8db090SAndroid Build Coastguard Worker     swig_cast_info *iter = ty->cast;
452*ab8db090SAndroid Build Coastguard Worker     while (iter) {
453*ab8db090SAndroid Build Coastguard Worker       if (iter->type == from) {
454*ab8db090SAndroid Build Coastguard Worker         if (iter == ty->cast)
455*ab8db090SAndroid Build Coastguard Worker           return iter;
456*ab8db090SAndroid Build Coastguard Worker         /* Move iter to the top of the linked list */
457*ab8db090SAndroid Build Coastguard Worker         iter->prev->next = iter->next;
458*ab8db090SAndroid Build Coastguard Worker         if (iter->next)
459*ab8db090SAndroid Build Coastguard Worker           iter->next->prev = iter->prev;
460*ab8db090SAndroid Build Coastguard Worker         iter->next = ty->cast;
461*ab8db090SAndroid Build Coastguard Worker         iter->prev = 0;
462*ab8db090SAndroid Build Coastguard Worker         if (ty->cast) ty->cast->prev = iter;
463*ab8db090SAndroid Build Coastguard Worker         ty->cast = iter;
464*ab8db090SAndroid Build Coastguard Worker         return iter;
465*ab8db090SAndroid Build Coastguard Worker       }
466*ab8db090SAndroid Build Coastguard Worker       iter = iter->next;
467*ab8db090SAndroid Build Coastguard Worker     }
468*ab8db090SAndroid Build Coastguard Worker   }
469*ab8db090SAndroid Build Coastguard Worker   return 0;
470*ab8db090SAndroid Build Coastguard Worker }
471*ab8db090SAndroid Build Coastguard Worker 
472*ab8db090SAndroid Build Coastguard Worker /*
473*ab8db090SAndroid Build Coastguard Worker   Cast a pointer up an inheritance hierarchy
474*ab8db090SAndroid Build Coastguard Worker */
475*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIMEINLINE void *
SWIG_TypeCast(swig_cast_info * ty,void * ptr,int * newmemory)476*ab8db090SAndroid Build Coastguard Worker SWIG_TypeCast(swig_cast_info *ty, void *ptr, int *newmemory) {
477*ab8db090SAndroid Build Coastguard Worker   return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr, newmemory);
478*ab8db090SAndroid Build Coastguard Worker }
479*ab8db090SAndroid Build Coastguard Worker 
480*ab8db090SAndroid Build Coastguard Worker /*
481*ab8db090SAndroid Build Coastguard Worker    Dynamic pointer casting. Down an inheritance hierarchy
482*ab8db090SAndroid Build Coastguard Worker */
483*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME swig_type_info *
SWIG_TypeDynamicCast(swig_type_info * ty,void ** ptr)484*ab8db090SAndroid Build Coastguard Worker SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) {
485*ab8db090SAndroid Build Coastguard Worker   swig_type_info *lastty = ty;
486*ab8db090SAndroid Build Coastguard Worker   if (!ty || !ty->dcast) return ty;
487*ab8db090SAndroid Build Coastguard Worker   while (ty && (ty->dcast)) {
488*ab8db090SAndroid Build Coastguard Worker     ty = (*ty->dcast)(ptr);
489*ab8db090SAndroid Build Coastguard Worker     if (ty) lastty = ty;
490*ab8db090SAndroid Build Coastguard Worker   }
491*ab8db090SAndroid Build Coastguard Worker   return lastty;
492*ab8db090SAndroid Build Coastguard Worker }
493*ab8db090SAndroid Build Coastguard Worker 
494*ab8db090SAndroid Build Coastguard Worker /*
495*ab8db090SAndroid Build Coastguard Worker   Return the name associated with this type
496*ab8db090SAndroid Build Coastguard Worker */
497*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIMEINLINE const char *
SWIG_TypeName(const swig_type_info * ty)498*ab8db090SAndroid Build Coastguard Worker SWIG_TypeName(const swig_type_info *ty) {
499*ab8db090SAndroid Build Coastguard Worker   return ty->name;
500*ab8db090SAndroid Build Coastguard Worker }
501*ab8db090SAndroid Build Coastguard Worker 
502*ab8db090SAndroid Build Coastguard Worker /*
503*ab8db090SAndroid Build Coastguard Worker   Return the pretty name associated with this type,
504*ab8db090SAndroid Build Coastguard Worker   that is an unmangled type name in a form presentable to the user.
505*ab8db090SAndroid Build Coastguard Worker */
506*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME const char *
SWIG_TypePrettyName(const swig_type_info * type)507*ab8db090SAndroid Build Coastguard Worker SWIG_TypePrettyName(const swig_type_info *type) {
508*ab8db090SAndroid Build Coastguard Worker   /* The "str" field contains the equivalent pretty names of the
509*ab8db090SAndroid Build Coastguard Worker      type, separated by vertical-bar characters.  We choose
510*ab8db090SAndroid Build Coastguard Worker      to print the last name, as it is often (?) the most
511*ab8db090SAndroid Build Coastguard Worker      specific. */
512*ab8db090SAndroid Build Coastguard Worker   if (!type) return NULL;
513*ab8db090SAndroid Build Coastguard Worker   if (type->str != NULL) {
514*ab8db090SAndroid Build Coastguard Worker     const char *last_name = type->str;
515*ab8db090SAndroid Build Coastguard Worker     const char *s;
516*ab8db090SAndroid Build Coastguard Worker     for (s = type->str; *s; s++)
517*ab8db090SAndroid Build Coastguard Worker       if (*s == '|') last_name = s+1;
518*ab8db090SAndroid Build Coastguard Worker     return last_name;
519*ab8db090SAndroid Build Coastguard Worker   }
520*ab8db090SAndroid Build Coastguard Worker   else
521*ab8db090SAndroid Build Coastguard Worker     return type->name;
522*ab8db090SAndroid Build Coastguard Worker }
523*ab8db090SAndroid Build Coastguard Worker 
524*ab8db090SAndroid Build Coastguard Worker /*
525*ab8db090SAndroid Build Coastguard Worker    Set the clientdata field for a type
526*ab8db090SAndroid Build Coastguard Worker */
527*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME void
SWIG_TypeClientData(swig_type_info * ti,void * clientdata)528*ab8db090SAndroid Build Coastguard Worker SWIG_TypeClientData(swig_type_info *ti, void *clientdata) {
529*ab8db090SAndroid Build Coastguard Worker   swig_cast_info *cast = ti->cast;
530*ab8db090SAndroid Build Coastguard Worker   /* if (ti->clientdata == clientdata) return; */
531*ab8db090SAndroid Build Coastguard Worker   ti->clientdata = clientdata;
532*ab8db090SAndroid Build Coastguard Worker 
533*ab8db090SAndroid Build Coastguard Worker   while (cast) {
534*ab8db090SAndroid Build Coastguard Worker     if (!cast->converter) {
535*ab8db090SAndroid Build Coastguard Worker       swig_type_info *tc = cast->type;
536*ab8db090SAndroid Build Coastguard Worker       if (!tc->clientdata) {
537*ab8db090SAndroid Build Coastguard Worker 	SWIG_TypeClientData(tc, clientdata);
538*ab8db090SAndroid Build Coastguard Worker       }
539*ab8db090SAndroid Build Coastguard Worker     }
540*ab8db090SAndroid Build Coastguard Worker     cast = cast->next;
541*ab8db090SAndroid Build Coastguard Worker   }
542*ab8db090SAndroid Build Coastguard Worker }
543*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME void
SWIG_TypeNewClientData(swig_type_info * ti,void * clientdata)544*ab8db090SAndroid Build Coastguard Worker SWIG_TypeNewClientData(swig_type_info *ti, void *clientdata) {
545*ab8db090SAndroid Build Coastguard Worker   SWIG_TypeClientData(ti, clientdata);
546*ab8db090SAndroid Build Coastguard Worker   ti->owndata = 1;
547*ab8db090SAndroid Build Coastguard Worker }
548*ab8db090SAndroid Build Coastguard Worker 
549*ab8db090SAndroid Build Coastguard Worker /*
550*ab8db090SAndroid Build Coastguard Worker   Search for a swig_type_info structure only by mangled name
551*ab8db090SAndroid Build Coastguard Worker   Search is a O(log #types)
552*ab8db090SAndroid Build Coastguard Worker 
553*ab8db090SAndroid Build Coastguard Worker   We start searching at module start, and finish searching when start == end.
554*ab8db090SAndroid Build Coastguard Worker   Note: if start == end at the beginning of the function, we go all the way around
555*ab8db090SAndroid Build Coastguard Worker   the circular list.
556*ab8db090SAndroid Build Coastguard Worker */
557*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME swig_type_info *
SWIG_MangledTypeQueryModule(swig_module_info * start,swig_module_info * end,const char * name)558*ab8db090SAndroid Build Coastguard Worker SWIG_MangledTypeQueryModule(swig_module_info *start,
559*ab8db090SAndroid Build Coastguard Worker                             swig_module_info *end,
560*ab8db090SAndroid Build Coastguard Worker 		            const char *name) {
561*ab8db090SAndroid Build Coastguard Worker   swig_module_info *iter = start;
562*ab8db090SAndroid Build Coastguard Worker   do {
563*ab8db090SAndroid Build Coastguard Worker     if (iter->size) {
564*ab8db090SAndroid Build Coastguard Worker       register size_t l = 0;
565*ab8db090SAndroid Build Coastguard Worker       register size_t r = iter->size - 1;
566*ab8db090SAndroid Build Coastguard Worker       do {
567*ab8db090SAndroid Build Coastguard Worker 	/* since l+r >= 0, we can (>> 1) instead (/ 2) */
568*ab8db090SAndroid Build Coastguard Worker 	register size_t i = (l + r) >> 1;
569*ab8db090SAndroid Build Coastguard Worker 	const char *iname = iter->types[i]->name;
570*ab8db090SAndroid Build Coastguard Worker 	if (iname) {
571*ab8db090SAndroid Build Coastguard Worker 	  register int compare = strcmp(name, iname);
572*ab8db090SAndroid Build Coastguard Worker 	  if (compare == 0) {
573*ab8db090SAndroid Build Coastguard Worker 	    return iter->types[i];
574*ab8db090SAndroid Build Coastguard Worker 	  } else if (compare < 0) {
575*ab8db090SAndroid Build Coastguard Worker 	    if (i) {
576*ab8db090SAndroid Build Coastguard Worker 	      r = i - 1;
577*ab8db090SAndroid Build Coastguard Worker 	    } else {
578*ab8db090SAndroid Build Coastguard Worker 	      break;
579*ab8db090SAndroid Build Coastguard Worker 	    }
580*ab8db090SAndroid Build Coastguard Worker 	  } else if (compare > 0) {
581*ab8db090SAndroid Build Coastguard Worker 	    l = i + 1;
582*ab8db090SAndroid Build Coastguard Worker 	  }
583*ab8db090SAndroid Build Coastguard Worker 	} else {
584*ab8db090SAndroid Build Coastguard Worker 	  break; /* should never happen */
585*ab8db090SAndroid Build Coastguard Worker 	}
586*ab8db090SAndroid Build Coastguard Worker       } while (l <= r);
587*ab8db090SAndroid Build Coastguard Worker     }
588*ab8db090SAndroid Build Coastguard Worker     iter = iter->next;
589*ab8db090SAndroid Build Coastguard Worker   } while (iter != end);
590*ab8db090SAndroid Build Coastguard Worker   return 0;
591*ab8db090SAndroid Build Coastguard Worker }
592*ab8db090SAndroid Build Coastguard Worker 
593*ab8db090SAndroid Build Coastguard Worker /*
594*ab8db090SAndroid Build Coastguard Worker   Search for a swig_type_info structure for either a mangled name or a human readable name.
595*ab8db090SAndroid Build Coastguard Worker   It first searches the mangled names of the types, which is a O(log #types)
596*ab8db090SAndroid Build Coastguard Worker   If a type is not found it then searches the human readable names, which is O(#types).
597*ab8db090SAndroid Build Coastguard Worker 
598*ab8db090SAndroid Build Coastguard Worker   We start searching at module start, and finish searching when start == end.
599*ab8db090SAndroid Build Coastguard Worker   Note: if start == end at the beginning of the function, we go all the way around
600*ab8db090SAndroid Build Coastguard Worker   the circular list.
601*ab8db090SAndroid Build Coastguard Worker */
602*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME swig_type_info *
SWIG_TypeQueryModule(swig_module_info * start,swig_module_info * end,const char * name)603*ab8db090SAndroid Build Coastguard Worker SWIG_TypeQueryModule(swig_module_info *start,
604*ab8db090SAndroid Build Coastguard Worker                      swig_module_info *end,
605*ab8db090SAndroid Build Coastguard Worker 		     const char *name) {
606*ab8db090SAndroid Build Coastguard Worker   /* STEP 1: Search the name field using binary search */
607*ab8db090SAndroid Build Coastguard Worker   swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name);
608*ab8db090SAndroid Build Coastguard Worker   if (ret) {
609*ab8db090SAndroid Build Coastguard Worker     return ret;
610*ab8db090SAndroid Build Coastguard Worker   } else {
611*ab8db090SAndroid Build Coastguard Worker     /* STEP 2: If the type hasn't been found, do a complete search
612*ab8db090SAndroid Build Coastguard Worker        of the str field (the human readable name) */
613*ab8db090SAndroid Build Coastguard Worker     swig_module_info *iter = start;
614*ab8db090SAndroid Build Coastguard Worker     do {
615*ab8db090SAndroid Build Coastguard Worker       register size_t i = 0;
616*ab8db090SAndroid Build Coastguard Worker       for (; i < iter->size; ++i) {
617*ab8db090SAndroid Build Coastguard Worker 	if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name)))
618*ab8db090SAndroid Build Coastguard Worker 	  return iter->types[i];
619*ab8db090SAndroid Build Coastguard Worker       }
620*ab8db090SAndroid Build Coastguard Worker       iter = iter->next;
621*ab8db090SAndroid Build Coastguard Worker     } while (iter != end);
622*ab8db090SAndroid Build Coastguard Worker   }
623*ab8db090SAndroid Build Coastguard Worker 
624*ab8db090SAndroid Build Coastguard Worker   /* neither found a match */
625*ab8db090SAndroid Build Coastguard Worker   return 0;
626*ab8db090SAndroid Build Coastguard Worker }
627*ab8db090SAndroid Build Coastguard Worker 
628*ab8db090SAndroid Build Coastguard Worker /*
629*ab8db090SAndroid Build Coastguard Worker    Pack binary data into a string
630*ab8db090SAndroid Build Coastguard Worker */
631*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME char *
SWIG_PackData(char * c,void * ptr,size_t sz)632*ab8db090SAndroid Build Coastguard Worker SWIG_PackData(char *c, void *ptr, size_t sz) {
633*ab8db090SAndroid Build Coastguard Worker   static const char hex[17] = "0123456789abcdef";
634*ab8db090SAndroid Build Coastguard Worker   register const unsigned char *u = (unsigned char *) ptr;
635*ab8db090SAndroid Build Coastguard Worker   register const unsigned char *eu =  u + sz;
636*ab8db090SAndroid Build Coastguard Worker   for (; u != eu; ++u) {
637*ab8db090SAndroid Build Coastguard Worker     register unsigned char uu = *u;
638*ab8db090SAndroid Build Coastguard Worker     *(c++) = hex[(uu & 0xf0) >> 4];
639*ab8db090SAndroid Build Coastguard Worker     *(c++) = hex[uu & 0xf];
640*ab8db090SAndroid Build Coastguard Worker   }
641*ab8db090SAndroid Build Coastguard Worker   return c;
642*ab8db090SAndroid Build Coastguard Worker }
643*ab8db090SAndroid Build Coastguard Worker 
644*ab8db090SAndroid Build Coastguard Worker /*
645*ab8db090SAndroid Build Coastguard Worker    Unpack binary data from a string
646*ab8db090SAndroid Build Coastguard Worker */
647*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME const char *
SWIG_UnpackData(const char * c,void * ptr,size_t sz)648*ab8db090SAndroid Build Coastguard Worker SWIG_UnpackData(const char *c, void *ptr, size_t sz) {
649*ab8db090SAndroid Build Coastguard Worker   register unsigned char *u = (unsigned char *) ptr;
650*ab8db090SAndroid Build Coastguard Worker   register const unsigned char *eu = u + sz;
651*ab8db090SAndroid Build Coastguard Worker   for (; u != eu; ++u) {
652*ab8db090SAndroid Build Coastguard Worker     register char d = *(c++);
653*ab8db090SAndroid Build Coastguard Worker     register unsigned char uu;
654*ab8db090SAndroid Build Coastguard Worker     if ((d >= '0') && (d <= '9'))
655*ab8db090SAndroid Build Coastguard Worker       uu = ((d - '0') << 4);
656*ab8db090SAndroid Build Coastguard Worker     else if ((d >= 'a') && (d <= 'f'))
657*ab8db090SAndroid Build Coastguard Worker       uu = ((d - ('a'-10)) << 4);
658*ab8db090SAndroid Build Coastguard Worker     else
659*ab8db090SAndroid Build Coastguard Worker       return (char *) 0;
660*ab8db090SAndroid Build Coastguard Worker     d = *(c++);
661*ab8db090SAndroid Build Coastguard Worker     if ((d >= '0') && (d <= '9'))
662*ab8db090SAndroid Build Coastguard Worker       uu |= (d - '0');
663*ab8db090SAndroid Build Coastguard Worker     else if ((d >= 'a') && (d <= 'f'))
664*ab8db090SAndroid Build Coastguard Worker       uu |= (d - ('a'-10));
665*ab8db090SAndroid Build Coastguard Worker     else
666*ab8db090SAndroid Build Coastguard Worker       return (char *) 0;
667*ab8db090SAndroid Build Coastguard Worker     *u = uu;
668*ab8db090SAndroid Build Coastguard Worker   }
669*ab8db090SAndroid Build Coastguard Worker   return c;
670*ab8db090SAndroid Build Coastguard Worker }
671*ab8db090SAndroid Build Coastguard Worker 
672*ab8db090SAndroid Build Coastguard Worker /*
673*ab8db090SAndroid Build Coastguard Worker    Pack 'void *' into a string buffer.
674*ab8db090SAndroid Build Coastguard Worker */
675*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME char *
SWIG_PackVoidPtr(char * buff,void * ptr,const char * name,size_t bsz)676*ab8db090SAndroid Build Coastguard Worker SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) {
677*ab8db090SAndroid Build Coastguard Worker   char *r = buff;
678*ab8db090SAndroid Build Coastguard Worker   if ((2*sizeof(void *) + 2) > bsz) return 0;
679*ab8db090SAndroid Build Coastguard Worker   *(r++) = '_';
680*ab8db090SAndroid Build Coastguard Worker   r = SWIG_PackData(r,&ptr,sizeof(void *));
681*ab8db090SAndroid Build Coastguard Worker   if (strlen(name) + 1 > (bsz - (r - buff))) return 0;
682*ab8db090SAndroid Build Coastguard Worker   strcpy(r,name);
683*ab8db090SAndroid Build Coastguard Worker   return buff;
684*ab8db090SAndroid Build Coastguard Worker }
685*ab8db090SAndroid Build Coastguard Worker 
686*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME const char *
SWIG_UnpackVoidPtr(const char * c,void ** ptr,const char * name)687*ab8db090SAndroid Build Coastguard Worker SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) {
688*ab8db090SAndroid Build Coastguard Worker   if (*c != '_') {
689*ab8db090SAndroid Build Coastguard Worker     if (strcmp(c,"NULL") == 0) {
690*ab8db090SAndroid Build Coastguard Worker       *ptr = (void *) 0;
691*ab8db090SAndroid Build Coastguard Worker       return name;
692*ab8db090SAndroid Build Coastguard Worker     } else {
693*ab8db090SAndroid Build Coastguard Worker       return 0;
694*ab8db090SAndroid Build Coastguard Worker     }
695*ab8db090SAndroid Build Coastguard Worker   }
696*ab8db090SAndroid Build Coastguard Worker   return SWIG_UnpackData(++c,ptr,sizeof(void *));
697*ab8db090SAndroid Build Coastguard Worker }
698*ab8db090SAndroid Build Coastguard Worker 
699*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME char *
SWIG_PackDataName(char * buff,void * ptr,size_t sz,const char * name,size_t bsz)700*ab8db090SAndroid Build Coastguard Worker SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) {
701*ab8db090SAndroid Build Coastguard Worker   char *r = buff;
702*ab8db090SAndroid Build Coastguard Worker   size_t lname = (name ? strlen(name) : 0);
703*ab8db090SAndroid Build Coastguard Worker   if ((2*sz + 2 + lname) > bsz) return 0;
704*ab8db090SAndroid Build Coastguard Worker   *(r++) = '_';
705*ab8db090SAndroid Build Coastguard Worker   r = SWIG_PackData(r,ptr,sz);
706*ab8db090SAndroid Build Coastguard Worker   if (lname) {
707*ab8db090SAndroid Build Coastguard Worker     strncpy(r,name,lname+1);
708*ab8db090SAndroid Build Coastguard Worker   } else {
709*ab8db090SAndroid Build Coastguard Worker     *r = 0;
710*ab8db090SAndroid Build Coastguard Worker   }
711*ab8db090SAndroid Build Coastguard Worker   return buff;
712*ab8db090SAndroid Build Coastguard Worker }
713*ab8db090SAndroid Build Coastguard Worker 
714*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME const char *
SWIG_UnpackDataName(const char * c,void * ptr,size_t sz,const char * name)715*ab8db090SAndroid Build Coastguard Worker SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
716*ab8db090SAndroid Build Coastguard Worker   if (*c != '_') {
717*ab8db090SAndroid Build Coastguard Worker     if (strcmp(c,"NULL") == 0) {
718*ab8db090SAndroid Build Coastguard Worker       memset(ptr,0,sz);
719*ab8db090SAndroid Build Coastguard Worker       return name;
720*ab8db090SAndroid Build Coastguard Worker     } else {
721*ab8db090SAndroid Build Coastguard Worker       return 0;
722*ab8db090SAndroid Build Coastguard Worker     }
723*ab8db090SAndroid Build Coastguard Worker   }
724*ab8db090SAndroid Build Coastguard Worker   return SWIG_UnpackData(++c,ptr,sz);
725*ab8db090SAndroid Build Coastguard Worker }
726*ab8db090SAndroid Build Coastguard Worker 
727*ab8db090SAndroid Build Coastguard Worker #ifdef __cplusplus
728*ab8db090SAndroid Build Coastguard Worker }
729*ab8db090SAndroid Build Coastguard Worker #endif
730*ab8db090SAndroid Build Coastguard Worker 
731*ab8db090SAndroid Build Coastguard Worker /*  Errors in SWIG */
732*ab8db090SAndroid Build Coastguard Worker #define  SWIG_UnknownError    	   -1
733*ab8db090SAndroid Build Coastguard Worker #define  SWIG_IOError        	   -2
734*ab8db090SAndroid Build Coastguard Worker #define  SWIG_RuntimeError   	   -3
735*ab8db090SAndroid Build Coastguard Worker #define  SWIG_IndexError     	   -4
736*ab8db090SAndroid Build Coastguard Worker #define  SWIG_TypeError      	   -5
737*ab8db090SAndroid Build Coastguard Worker #define  SWIG_DivisionByZero 	   -6
738*ab8db090SAndroid Build Coastguard Worker #define  SWIG_OverflowError  	   -7
739*ab8db090SAndroid Build Coastguard Worker #define  SWIG_SyntaxError    	   -8
740*ab8db090SAndroid Build Coastguard Worker #define  SWIG_ValueError     	   -9
741*ab8db090SAndroid Build Coastguard Worker #define  SWIG_SystemError    	   -10
742*ab8db090SAndroid Build Coastguard Worker #define  SWIG_AttributeError 	   -11
743*ab8db090SAndroid Build Coastguard Worker #define  SWIG_MemoryError    	   -12
744*ab8db090SAndroid Build Coastguard Worker #define  SWIG_NullReferenceError   -13
745*ab8db090SAndroid Build Coastguard Worker 
746*ab8db090SAndroid Build Coastguard Worker 
747*ab8db090SAndroid Build Coastguard Worker 
748*ab8db090SAndroid Build Coastguard Worker #ifdef __cplusplus
749*ab8db090SAndroid Build Coastguard Worker /* Needed on some windows machines---since MS plays funny games with the header files under C++ */
750*ab8db090SAndroid Build Coastguard Worker #include <math.h>
751*ab8db090SAndroid Build Coastguard Worker #include <stdlib.h>
752*ab8db090SAndroid Build Coastguard Worker extern "C" {
753*ab8db090SAndroid Build Coastguard Worker #endif
754*ab8db090SAndroid Build Coastguard Worker #include "EXTERN.h"
755*ab8db090SAndroid Build Coastguard Worker #include "perl.h"
756*ab8db090SAndroid Build Coastguard Worker #include "XSUB.h"
757*ab8db090SAndroid Build Coastguard Worker 
758*ab8db090SAndroid Build Coastguard Worker /* Add in functionality missing in older versions of Perl. Much of this is based on Devel-PPPort on cpan. */
759*ab8db090SAndroid Build Coastguard Worker 
760*ab8db090SAndroid Build Coastguard Worker /* Add PERL_REVISION, PERL_VERSION, PERL_SUBVERSION if missing */
761*ab8db090SAndroid Build Coastguard Worker #ifndef PERL_REVISION
762*ab8db090SAndroid Build Coastguard Worker #  if !defined(__PATCHLEVEL_H_INCLUDED__) && !(defined(PATCHLEVEL) && defined(SUBVERSION))
763*ab8db090SAndroid Build Coastguard Worker #    define PERL_PATCHLEVEL_H_IMPLICIT
764*ab8db090SAndroid Build Coastguard Worker #    include <patchlevel.h>
765*ab8db090SAndroid Build Coastguard Worker #  endif
766*ab8db090SAndroid Build Coastguard Worker #  if !(defined(PERL_VERSION) || (defined(SUBVERSION) && defined(PATCHLEVEL)))
767*ab8db090SAndroid Build Coastguard Worker #    include <could_not_find_Perl_patchlevel.h>
768*ab8db090SAndroid Build Coastguard Worker #  endif
769*ab8db090SAndroid Build Coastguard Worker #  ifndef PERL_REVISION
770*ab8db090SAndroid Build Coastguard Worker #    define PERL_REVISION       (5)
771*ab8db090SAndroid Build Coastguard Worker #    define PERL_VERSION        PATCHLEVEL
772*ab8db090SAndroid Build Coastguard Worker #    define PERL_SUBVERSION     SUBVERSION
773*ab8db090SAndroid Build Coastguard Worker #  endif
774*ab8db090SAndroid Build Coastguard Worker #endif
775*ab8db090SAndroid Build Coastguard Worker 
776*ab8db090SAndroid Build Coastguard Worker #if defined(WIN32) && defined(PERL_OBJECT) && !defined(PerlIO_exportFILE)
777*ab8db090SAndroid Build Coastguard Worker #define PerlIO_exportFILE(fh,fl) (FILE*)(fh)
778*ab8db090SAndroid Build Coastguard Worker #endif
779*ab8db090SAndroid Build Coastguard Worker 
780*ab8db090SAndroid Build Coastguard Worker #ifndef SvIOK_UV
781*ab8db090SAndroid Build Coastguard Worker # define SvIOK_UV(sv)       (SvIOK(sv) && (SvUVX(sv) == SvIVX(sv)))
782*ab8db090SAndroid Build Coastguard Worker #endif
783*ab8db090SAndroid Build Coastguard Worker 
784*ab8db090SAndroid Build Coastguard Worker #ifndef SvUOK
785*ab8db090SAndroid Build Coastguard Worker # define SvUOK(sv)           SvIOK_UV(sv)
786*ab8db090SAndroid Build Coastguard Worker #endif
787*ab8db090SAndroid Build Coastguard Worker 
788*ab8db090SAndroid Build Coastguard Worker #if ((PERL_VERSION < 4) || ((PERL_VERSION == 4) && (PERL_SUBVERSION <= 5)))
789*ab8db090SAndroid Build Coastguard Worker #  define PL_sv_undef               sv_undef
790*ab8db090SAndroid Build Coastguard Worker #  define PL_na	                    na
791*ab8db090SAndroid Build Coastguard Worker #  define PL_errgv                  errgv
792*ab8db090SAndroid Build Coastguard Worker #  define PL_sv_no                  sv_no
793*ab8db090SAndroid Build Coastguard Worker #  define PL_sv_yes                 sv_yes
794*ab8db090SAndroid Build Coastguard Worker #  define PL_markstack_ptr          markstack_ptr
795*ab8db090SAndroid Build Coastguard Worker #endif
796*ab8db090SAndroid Build Coastguard Worker 
797*ab8db090SAndroid Build Coastguard Worker #ifndef IVSIZE
798*ab8db090SAndroid Build Coastguard Worker #  ifdef LONGSIZE
799*ab8db090SAndroid Build Coastguard Worker #    define IVSIZE LONGSIZE
800*ab8db090SAndroid Build Coastguard Worker #  else
801*ab8db090SAndroid Build Coastguard Worker #    define IVSIZE 4 /* A bold guess, but the best we can make. */
802*ab8db090SAndroid Build Coastguard Worker #  endif
803*ab8db090SAndroid Build Coastguard Worker #endif
804*ab8db090SAndroid Build Coastguard Worker 
805*ab8db090SAndroid Build Coastguard Worker #ifndef INT2PTR
806*ab8db090SAndroid Build Coastguard Worker #  if (IVSIZE == PTRSIZE) && (UVSIZE == PTRSIZE)
807*ab8db090SAndroid Build Coastguard Worker #    define PTRV                  UV
808*ab8db090SAndroid Build Coastguard Worker #    define INT2PTR(any,d)        (any)(d)
809*ab8db090SAndroid Build Coastguard Worker #  else
810*ab8db090SAndroid Build Coastguard Worker #    if PTRSIZE == LONGSIZE
811*ab8db090SAndroid Build Coastguard Worker #      define PTRV                unsigned long
812*ab8db090SAndroid Build Coastguard Worker #    else
813*ab8db090SAndroid Build Coastguard Worker #      define PTRV                unsigned
814*ab8db090SAndroid Build Coastguard Worker #    endif
815*ab8db090SAndroid Build Coastguard Worker #    define INT2PTR(any,d)        (any)(PTRV)(d)
816*ab8db090SAndroid Build Coastguard Worker #  endif
817*ab8db090SAndroid Build Coastguard Worker 
818*ab8db090SAndroid Build Coastguard Worker #  define NUM2PTR(any,d)  (any)(PTRV)(d)
819*ab8db090SAndroid Build Coastguard Worker #  define PTR2IV(p)       INT2PTR(IV,p)
820*ab8db090SAndroid Build Coastguard Worker #  define PTR2UV(p)       INT2PTR(UV,p)
821*ab8db090SAndroid Build Coastguard Worker #  define PTR2NV(p)       NUM2PTR(NV,p)
822*ab8db090SAndroid Build Coastguard Worker 
823*ab8db090SAndroid Build Coastguard Worker #  if PTRSIZE == LONGSIZE
824*ab8db090SAndroid Build Coastguard Worker #    define PTR2ul(p)     (unsigned long)(p)
825*ab8db090SAndroid Build Coastguard Worker #  else
826*ab8db090SAndroid Build Coastguard Worker #    define PTR2ul(p)     INT2PTR(unsigned long,p)
827*ab8db090SAndroid Build Coastguard Worker #  endif
828*ab8db090SAndroid Build Coastguard Worker #endif /* !INT2PTR */
829*ab8db090SAndroid Build Coastguard Worker 
830*ab8db090SAndroid Build Coastguard Worker #ifndef SvPV_nolen
831*ab8db090SAndroid Build Coastguard Worker # define SvPV_nolen(x) SvPV(x,PL_na)
832*ab8db090SAndroid Build Coastguard Worker #endif
833*ab8db090SAndroid Build Coastguard Worker 
834*ab8db090SAndroid Build Coastguard Worker #ifndef get_sv
835*ab8db090SAndroid Build Coastguard Worker #  define get_sv perl_get_sv
836*ab8db090SAndroid Build Coastguard Worker #endif
837*ab8db090SAndroid Build Coastguard Worker 
838*ab8db090SAndroid Build Coastguard Worker #ifndef ERRSV
839*ab8db090SAndroid Build Coastguard Worker #  define ERRSV get_sv("@",FALSE)
840*ab8db090SAndroid Build Coastguard Worker #endif
841*ab8db090SAndroid Build Coastguard Worker 
842*ab8db090SAndroid Build Coastguard Worker #ifndef pTHX_
843*ab8db090SAndroid Build Coastguard Worker #define pTHX_
844*ab8db090SAndroid Build Coastguard Worker #endif
845*ab8db090SAndroid Build Coastguard Worker 
846*ab8db090SAndroid Build Coastguard Worker #include <string.h>
847*ab8db090SAndroid Build Coastguard Worker #ifdef __cplusplus
848*ab8db090SAndroid Build Coastguard Worker }
849*ab8db090SAndroid Build Coastguard Worker #endif
850*ab8db090SAndroid Build Coastguard Worker 
851*ab8db090SAndroid Build Coastguard Worker /* -----------------------------------------------------------------------------
852*ab8db090SAndroid Build Coastguard Worker  * error manipulation
853*ab8db090SAndroid Build Coastguard Worker  * ----------------------------------------------------------------------------- */
854*ab8db090SAndroid Build Coastguard Worker 
855*ab8db090SAndroid Build Coastguard Worker SWIGINTERN const char*
SWIG_Perl_ErrorType(int code)856*ab8db090SAndroid Build Coastguard Worker SWIG_Perl_ErrorType(int code) {
857*ab8db090SAndroid Build Coastguard Worker   const char* type = 0;
858*ab8db090SAndroid Build Coastguard Worker   switch(code) {
859*ab8db090SAndroid Build Coastguard Worker   case SWIG_MemoryError:
860*ab8db090SAndroid Build Coastguard Worker     type = "MemoryError";
861*ab8db090SAndroid Build Coastguard Worker     break;
862*ab8db090SAndroid Build Coastguard Worker   case SWIG_IOError:
863*ab8db090SAndroid Build Coastguard Worker     type = "IOError";
864*ab8db090SAndroid Build Coastguard Worker     break;
865*ab8db090SAndroid Build Coastguard Worker   case SWIG_RuntimeError:
866*ab8db090SAndroid Build Coastguard Worker     type = "RuntimeError";
867*ab8db090SAndroid Build Coastguard Worker     break;
868*ab8db090SAndroid Build Coastguard Worker   case SWIG_IndexError:
869*ab8db090SAndroid Build Coastguard Worker     type = "IndexError";
870*ab8db090SAndroid Build Coastguard Worker     break;
871*ab8db090SAndroid Build Coastguard Worker   case SWIG_TypeError:
872*ab8db090SAndroid Build Coastguard Worker     type = "TypeError";
873*ab8db090SAndroid Build Coastguard Worker     break;
874*ab8db090SAndroid Build Coastguard Worker   case SWIG_DivisionByZero:
875*ab8db090SAndroid Build Coastguard Worker     type = "ZeroDivisionError";
876*ab8db090SAndroid Build Coastguard Worker     break;
877*ab8db090SAndroid Build Coastguard Worker   case SWIG_OverflowError:
878*ab8db090SAndroid Build Coastguard Worker     type = "OverflowError";
879*ab8db090SAndroid Build Coastguard Worker     break;
880*ab8db090SAndroid Build Coastguard Worker   case SWIG_SyntaxError:
881*ab8db090SAndroid Build Coastguard Worker     type = "SyntaxError";
882*ab8db090SAndroid Build Coastguard Worker     break;
883*ab8db090SAndroid Build Coastguard Worker   case SWIG_ValueError:
884*ab8db090SAndroid Build Coastguard Worker     type = "ValueError";
885*ab8db090SAndroid Build Coastguard Worker     break;
886*ab8db090SAndroid Build Coastguard Worker   case SWIG_SystemError:
887*ab8db090SAndroid Build Coastguard Worker     type = "SystemError";
888*ab8db090SAndroid Build Coastguard Worker     break;
889*ab8db090SAndroid Build Coastguard Worker   case SWIG_AttributeError:
890*ab8db090SAndroid Build Coastguard Worker     type = "AttributeError";
891*ab8db090SAndroid Build Coastguard Worker     break;
892*ab8db090SAndroid Build Coastguard Worker   default:
893*ab8db090SAndroid Build Coastguard Worker     type = "RuntimeError";
894*ab8db090SAndroid Build Coastguard Worker   }
895*ab8db090SAndroid Build Coastguard Worker   return type;
896*ab8db090SAndroid Build Coastguard Worker }
897*ab8db090SAndroid Build Coastguard Worker 
898*ab8db090SAndroid Build Coastguard Worker 
899*ab8db090SAndroid Build Coastguard Worker 
900*ab8db090SAndroid Build Coastguard Worker 
901*ab8db090SAndroid Build Coastguard Worker /* -----------------------------------------------------------------------------
902*ab8db090SAndroid Build Coastguard Worker  * perlrun.swg
903*ab8db090SAndroid Build Coastguard Worker  *
904*ab8db090SAndroid Build Coastguard Worker  * This file contains the runtime support for Perl modules
905*ab8db090SAndroid Build Coastguard Worker  * and includes code for managing global variables and pointer
906*ab8db090SAndroid Build Coastguard Worker  * type checking.
907*ab8db090SAndroid Build Coastguard Worker  * ----------------------------------------------------------------------------- */
908*ab8db090SAndroid Build Coastguard Worker 
909*ab8db090SAndroid Build Coastguard Worker #ifdef PERL_OBJECT
910*ab8db090SAndroid Build Coastguard Worker #define SWIG_PERL_OBJECT_DECL CPerlObj *SWIGUNUSEDPARM(pPerl),
911*ab8db090SAndroid Build Coastguard Worker #define SWIG_PERL_OBJECT_CALL pPerl,
912*ab8db090SAndroid Build Coastguard Worker #else
913*ab8db090SAndroid Build Coastguard Worker #define SWIG_PERL_OBJECT_DECL
914*ab8db090SAndroid Build Coastguard Worker #define SWIG_PERL_OBJECT_CALL
915*ab8db090SAndroid Build Coastguard Worker #endif
916*ab8db090SAndroid Build Coastguard Worker 
917*ab8db090SAndroid Build Coastguard Worker /* Common SWIG API */
918*ab8db090SAndroid Build Coastguard Worker 
919*ab8db090SAndroid Build Coastguard Worker /* for raw pointers */
920*ab8db090SAndroid Build Coastguard Worker #define SWIG_ConvertPtr(obj, pp, type, flags)           SWIG_Perl_ConvertPtr(SWIG_PERL_OBJECT_CALL obj, pp, type, flags)
921*ab8db090SAndroid Build Coastguard Worker #define SWIG_ConvertPtrAndOwn(obj, pp, type, flags,own) SWIG_Perl_ConvertPtrAndOwn(SWIG_PERL_OBJECT_CALL obj, pp, type, flags, own)
922*ab8db090SAndroid Build Coastguard Worker #define SWIG_NewPointerObj(p, type, flags)              SWIG_Perl_NewPointerObj(SWIG_PERL_OBJECT_CALL p, type, flags)
923*ab8db090SAndroid Build Coastguard Worker 
924*ab8db090SAndroid Build Coastguard Worker /* for raw packed data */
925*ab8db090SAndroid Build Coastguard Worker #define SWIG_ConvertPacked(obj, p, s, type)             SWIG_Perl_ConvertPacked(SWIG_PERL_OBJECT_CALL obj, p, s, type)
926*ab8db090SAndroid Build Coastguard Worker #define SWIG_NewPackedObj(p, s, type)	                SWIG_Perl_NewPackedObj(SWIG_PERL_OBJECT_CALL p, s, type)
927*ab8db090SAndroid Build Coastguard Worker 
928*ab8db090SAndroid Build Coastguard Worker /* for class or struct pointers */
929*ab8db090SAndroid Build Coastguard Worker #define SWIG_ConvertInstance(obj, pptr, type, flags)    SWIG_ConvertPtr(obj, pptr, type, flags)
930*ab8db090SAndroid Build Coastguard Worker #define SWIG_NewInstanceObj(ptr, type, flags)           SWIG_NewPointerObj(ptr, type, flags)
931*ab8db090SAndroid Build Coastguard Worker 
932*ab8db090SAndroid Build Coastguard Worker /* for C or C++ function pointers */
933*ab8db090SAndroid Build Coastguard Worker #define SWIG_ConvertFunctionPtr(obj, pptr, type)        SWIG_ConvertPtr(obj, pptr, type, 0)
934*ab8db090SAndroid Build Coastguard Worker #define SWIG_NewFunctionPtrObj(ptr, type)               SWIG_NewPointerObj(ptr, type, 0)
935*ab8db090SAndroid Build Coastguard Worker 
936*ab8db090SAndroid Build Coastguard Worker /* for C++ member pointers, ie, member methods */
937*ab8db090SAndroid Build Coastguard Worker #define SWIG_ConvertMember(obj, ptr, sz, ty)            SWIG_ConvertPacked(obj, ptr, sz, ty)
938*ab8db090SAndroid Build Coastguard Worker #define SWIG_NewMemberObj(ptr, sz, type)                SWIG_NewPackedObj(ptr, sz, type)
939*ab8db090SAndroid Build Coastguard Worker 
940*ab8db090SAndroid Build Coastguard Worker 
941*ab8db090SAndroid Build Coastguard Worker /* Runtime API */
942*ab8db090SAndroid Build Coastguard Worker 
943*ab8db090SAndroid Build Coastguard Worker #define SWIG_GetModule(clientdata)                      SWIG_Perl_GetModule()
944*ab8db090SAndroid Build Coastguard Worker #define SWIG_SetModule(clientdata, pointer)             SWIG_Perl_SetModule(pointer)
945*ab8db090SAndroid Build Coastguard Worker 
946*ab8db090SAndroid Build Coastguard Worker 
947*ab8db090SAndroid Build Coastguard Worker /* Error manipulation */
948*ab8db090SAndroid Build Coastguard Worker 
949*ab8db090SAndroid Build Coastguard Worker #define SWIG_ErrorType(code)                            SWIG_Perl_ErrorType(code)
950*ab8db090SAndroid Build Coastguard Worker #define SWIG_Error(code, msg)            		sv_setpvf(GvSV(PL_errgv),"%s %s\n", SWIG_ErrorType(code), msg)
951*ab8db090SAndroid Build Coastguard Worker #define SWIG_fail                        		goto fail
952*ab8db090SAndroid Build Coastguard Worker 
953*ab8db090SAndroid Build Coastguard Worker /* Perl-specific SWIG API */
954*ab8db090SAndroid Build Coastguard Worker 
955*ab8db090SAndroid Build Coastguard Worker #define SWIG_MakePtr(sv, ptr, type, flags)              SWIG_Perl_MakePtr(SWIG_PERL_OBJECT_CALL sv, ptr, type, flags)
956*ab8db090SAndroid Build Coastguard Worker #define SWIG_MakePackedObj(sv, p, s, type)	        SWIG_Perl_MakePackedObj(SWIG_PERL_OBJECT_CALL sv, p, s, type)
957*ab8db090SAndroid Build Coastguard Worker #define SWIG_SetError(str)                              SWIG_Error(SWIG_RuntimeError, str)
958*ab8db090SAndroid Build Coastguard Worker 
959*ab8db090SAndroid Build Coastguard Worker 
960*ab8db090SAndroid Build Coastguard Worker #define SWIG_PERL_DECL_ARGS_1(arg1)                     (SWIG_PERL_OBJECT_DECL arg1)
961*ab8db090SAndroid Build Coastguard Worker #define SWIG_PERL_CALL_ARGS_1(arg1)                     (SWIG_PERL_OBJECT_CALL arg1)
962*ab8db090SAndroid Build Coastguard Worker #define SWIG_PERL_DECL_ARGS_2(arg1, arg2)               (SWIG_PERL_OBJECT_DECL arg1, arg2)
963*ab8db090SAndroid Build Coastguard Worker #define SWIG_PERL_CALL_ARGS_2(arg1, arg2)               (SWIG_PERL_OBJECT_CALL arg1, arg2)
964*ab8db090SAndroid Build Coastguard Worker 
965*ab8db090SAndroid Build Coastguard Worker /* -----------------------------------------------------------------------------
966*ab8db090SAndroid Build Coastguard Worker  * pointers/data manipulation
967*ab8db090SAndroid Build Coastguard Worker  * ----------------------------------------------------------------------------- */
968*ab8db090SAndroid Build Coastguard Worker 
969*ab8db090SAndroid Build Coastguard Worker /* For backward compatibility only */
970*ab8db090SAndroid Build Coastguard Worker #define SWIG_POINTER_EXCEPTION  0
971*ab8db090SAndroid Build Coastguard Worker 
972*ab8db090SAndroid Build Coastguard Worker #ifdef __cplusplus
973*ab8db090SAndroid Build Coastguard Worker extern "C" {
974*ab8db090SAndroid Build Coastguard Worker #endif
975*ab8db090SAndroid Build Coastguard Worker 
976*ab8db090SAndroid Build Coastguard Worker #define SWIG_OWNER   SWIG_POINTER_OWN
977*ab8db090SAndroid Build Coastguard Worker #define SWIG_SHADOW  SWIG_OWNER << 1
978*ab8db090SAndroid Build Coastguard Worker 
979*ab8db090SAndroid Build Coastguard Worker #define SWIG_MAYBE_PERL_OBJECT SWIG_PERL_OBJECT_DECL
980*ab8db090SAndroid Build Coastguard Worker 
981*ab8db090SAndroid Build Coastguard Worker /* SWIG Perl macros */
982*ab8db090SAndroid Build Coastguard Worker 
983*ab8db090SAndroid Build Coastguard Worker /* Macro to declare an XS function */
984*ab8db090SAndroid Build Coastguard Worker #ifndef XSPROTO
985*ab8db090SAndroid Build Coastguard Worker #   define XSPROTO(name) void name(pTHX_ CV* cv)
986*ab8db090SAndroid Build Coastguard Worker #endif
987*ab8db090SAndroid Build Coastguard Worker 
988*ab8db090SAndroid Build Coastguard Worker /* Macro to call an XS function */
989*ab8db090SAndroid Build Coastguard Worker #ifdef PERL_OBJECT
990*ab8db090SAndroid Build Coastguard Worker #  define SWIG_CALLXS(_name) _name(cv,pPerl)
991*ab8db090SAndroid Build Coastguard Worker #else
992*ab8db090SAndroid Build Coastguard Worker #  ifndef MULTIPLICITY
993*ab8db090SAndroid Build Coastguard Worker #    define SWIG_CALLXS(_name) _name(cv)
994*ab8db090SAndroid Build Coastguard Worker #  else
995*ab8db090SAndroid Build Coastguard Worker #    define SWIG_CALLXS(_name) _name(PERL_GET_THX, cv)
996*ab8db090SAndroid Build Coastguard Worker #  endif
997*ab8db090SAndroid Build Coastguard Worker #endif
998*ab8db090SAndroid Build Coastguard Worker 
999*ab8db090SAndroid Build Coastguard Worker #ifdef PERL_OBJECT
1000*ab8db090SAndroid Build Coastguard Worker #define MAGIC_PPERL  CPerlObj *pPerl = (CPerlObj *) this;
1001*ab8db090SAndroid Build Coastguard Worker 
1002*ab8db090SAndroid Build Coastguard Worker #ifdef __cplusplus
1003*ab8db090SAndroid Build Coastguard Worker extern "C" {
1004*ab8db090SAndroid Build Coastguard Worker #endif
1005*ab8db090SAndroid Build Coastguard Worker typedef int (CPerlObj::*SwigMagicFunc)(SV *, MAGIC *);
1006*ab8db090SAndroid Build Coastguard Worker #ifdef __cplusplus
1007*ab8db090SAndroid Build Coastguard Worker }
1008*ab8db090SAndroid Build Coastguard Worker #endif
1009*ab8db090SAndroid Build Coastguard Worker 
1010*ab8db090SAndroid Build Coastguard Worker #define SWIG_MAGIC(a,b) (SV *a, MAGIC *b)
1011*ab8db090SAndroid Build Coastguard Worker #define SWIGCLASS_STATIC
1012*ab8db090SAndroid Build Coastguard Worker 
1013*ab8db090SAndroid Build Coastguard Worker #else /* PERL_OBJECT */
1014*ab8db090SAndroid Build Coastguard Worker 
1015*ab8db090SAndroid Build Coastguard Worker #define MAGIC_PPERL
1016*ab8db090SAndroid Build Coastguard Worker #define SWIGCLASS_STATIC static SWIGUNUSED
1017*ab8db090SAndroid Build Coastguard Worker 
1018*ab8db090SAndroid Build Coastguard Worker #ifndef MULTIPLICITY
1019*ab8db090SAndroid Build Coastguard Worker #define SWIG_MAGIC(a,b) (SV *a, MAGIC *b)
1020*ab8db090SAndroid Build Coastguard Worker 
1021*ab8db090SAndroid Build Coastguard Worker #ifdef __cplusplus
1022*ab8db090SAndroid Build Coastguard Worker extern "C" {
1023*ab8db090SAndroid Build Coastguard Worker #endif
1024*ab8db090SAndroid Build Coastguard Worker typedef int (*SwigMagicFunc)(SV *, MAGIC *);
1025*ab8db090SAndroid Build Coastguard Worker #ifdef __cplusplus
1026*ab8db090SAndroid Build Coastguard Worker }
1027*ab8db090SAndroid Build Coastguard Worker #endif
1028*ab8db090SAndroid Build Coastguard Worker 
1029*ab8db090SAndroid Build Coastguard Worker #else /* MULTIPLICITY */
1030*ab8db090SAndroid Build Coastguard Worker 
1031*ab8db090SAndroid Build Coastguard Worker #define SWIG_MAGIC(a,b) (struct interpreter *interp, SV *a, MAGIC *b)
1032*ab8db090SAndroid Build Coastguard Worker 
1033*ab8db090SAndroid Build Coastguard Worker #ifdef __cplusplus
1034*ab8db090SAndroid Build Coastguard Worker extern "C" {
1035*ab8db090SAndroid Build Coastguard Worker #endif
1036*ab8db090SAndroid Build Coastguard Worker typedef int (*SwigMagicFunc)(struct interpreter *, SV *, MAGIC *);
1037*ab8db090SAndroid Build Coastguard Worker #ifdef __cplusplus
1038*ab8db090SAndroid Build Coastguard Worker }
1039*ab8db090SAndroid Build Coastguard Worker #endif
1040*ab8db090SAndroid Build Coastguard Worker 
1041*ab8db090SAndroid Build Coastguard Worker #endif /* MULTIPLICITY */
1042*ab8db090SAndroid Build Coastguard Worker #endif /* PERL_OBJECT */
1043*ab8db090SAndroid Build Coastguard Worker 
1044*ab8db090SAndroid Build Coastguard Worker /* Workaround for bug in perl 5.6.x croak and earlier */
1045*ab8db090SAndroid Build Coastguard Worker #if (PERL_VERSION < 8)
1046*ab8db090SAndroid Build Coastguard Worker #  ifdef PERL_OBJECT
1047*ab8db090SAndroid Build Coastguard Worker #    define SWIG_croak_null() SWIG_Perl_croak_null(pPerl)
SWIG_Perl_croak_null(CPerlObj * pPerl)1048*ab8db090SAndroid Build Coastguard Worker static void SWIG_Perl_croak_null(CPerlObj *pPerl)
1049*ab8db090SAndroid Build Coastguard Worker #  else
1050*ab8db090SAndroid Build Coastguard Worker static void SWIG_croak_null()
1051*ab8db090SAndroid Build Coastguard Worker #  endif
1052*ab8db090SAndroid Build Coastguard Worker {
1053*ab8db090SAndroid Build Coastguard Worker   SV *err=ERRSV;
1054*ab8db090SAndroid Build Coastguard Worker #  if (PERL_VERSION < 6)
1055*ab8db090SAndroid Build Coastguard Worker   croak("%_", err);
1056*ab8db090SAndroid Build Coastguard Worker #  else
1057*ab8db090SAndroid Build Coastguard Worker   if (SvOK(err) && !SvROK(err)) croak("%_", err);
1058*ab8db090SAndroid Build Coastguard Worker   croak(Nullch);
1059*ab8db090SAndroid Build Coastguard Worker #  endif
1060*ab8db090SAndroid Build Coastguard Worker }
1061*ab8db090SAndroid Build Coastguard Worker #else
1062*ab8db090SAndroid Build Coastguard Worker #  define SWIG_croak_null() croak(Nullch)
1063*ab8db090SAndroid Build Coastguard Worker #endif
1064*ab8db090SAndroid Build Coastguard Worker 
1065*ab8db090SAndroid Build Coastguard Worker 
1066*ab8db090SAndroid Build Coastguard Worker /*
1067*ab8db090SAndroid Build Coastguard Worker    Define how strict is the cast between strings and integers/doubles
1068*ab8db090SAndroid Build Coastguard Worker    when overloading between these types occurs.
1069*ab8db090SAndroid Build Coastguard Worker 
1070*ab8db090SAndroid Build Coastguard Worker    The default is making it as strict as possible by using SWIG_AddCast
1071*ab8db090SAndroid Build Coastguard Worker    when needed.
1072*ab8db090SAndroid Build Coastguard Worker 
1073*ab8db090SAndroid Build Coastguard Worker    You can use -DSWIG_PERL_NO_STRICT_STR2NUM at compilation time to
1074*ab8db090SAndroid Build Coastguard Worker    disable the SWIG_AddCast, making the casting between string and
1075*ab8db090SAndroid Build Coastguard Worker    numbers less strict.
1076*ab8db090SAndroid Build Coastguard Worker 
1077*ab8db090SAndroid Build Coastguard Worker    In the end, we try to solve the overloading between strings and
1078*ab8db090SAndroid Build Coastguard Worker    numerical types in the more natural way, but if you can avoid it,
1079*ab8db090SAndroid Build Coastguard Worker    well, avoid it using %rename, for example.
1080*ab8db090SAndroid Build Coastguard Worker */
1081*ab8db090SAndroid Build Coastguard Worker #ifndef SWIG_PERL_NO_STRICT_STR2NUM
1082*ab8db090SAndroid Build Coastguard Worker # ifndef SWIG_PERL_STRICT_STR2NUM
1083*ab8db090SAndroid Build Coastguard Worker #  define SWIG_PERL_STRICT_STR2NUM
1084*ab8db090SAndroid Build Coastguard Worker # endif
1085*ab8db090SAndroid Build Coastguard Worker #endif
1086*ab8db090SAndroid Build Coastguard Worker #ifdef SWIG_PERL_STRICT_STR2NUM
1087*ab8db090SAndroid Build Coastguard Worker /* string takes precedence */
1088*ab8db090SAndroid Build Coastguard Worker #define SWIG_Str2NumCast(x) SWIG_AddCast(x)
1089*ab8db090SAndroid Build Coastguard Worker #else
1090*ab8db090SAndroid Build Coastguard Worker /* number takes precedence */
1091*ab8db090SAndroid Build Coastguard Worker #define SWIG_Str2NumCast(x) x
1092*ab8db090SAndroid Build Coastguard Worker #endif
1093*ab8db090SAndroid Build Coastguard Worker 
1094*ab8db090SAndroid Build Coastguard Worker 
1095*ab8db090SAndroid Build Coastguard Worker 
1096*ab8db090SAndroid Build Coastguard Worker #include <stdlib.h>
1097*ab8db090SAndroid Build Coastguard Worker 
1098*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME const char *
SWIG_Perl_TypeProxyName(const swig_type_info * type)1099*ab8db090SAndroid Build Coastguard Worker SWIG_Perl_TypeProxyName(const swig_type_info *type) {
1100*ab8db090SAndroid Build Coastguard Worker   if (!type) return NULL;
1101*ab8db090SAndroid Build Coastguard Worker   if (type->clientdata != NULL) {
1102*ab8db090SAndroid Build Coastguard Worker     return (const char*) type->clientdata;
1103*ab8db090SAndroid Build Coastguard Worker   }
1104*ab8db090SAndroid Build Coastguard Worker   else {
1105*ab8db090SAndroid Build Coastguard Worker     return type->name;
1106*ab8db090SAndroid Build Coastguard Worker   }
1107*ab8db090SAndroid Build Coastguard Worker }
1108*ab8db090SAndroid Build Coastguard Worker 
1109*ab8db090SAndroid Build Coastguard Worker /* Identical to SWIG_TypeCheck, except for strcmp comparison */
1110*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME swig_cast_info *
SWIG_TypeProxyCheck(const char * c,swig_type_info * ty)1111*ab8db090SAndroid Build Coastguard Worker SWIG_TypeProxyCheck(const char *c, swig_type_info *ty) {
1112*ab8db090SAndroid Build Coastguard Worker   if (ty) {
1113*ab8db090SAndroid Build Coastguard Worker     swig_cast_info *iter = ty->cast;
1114*ab8db090SAndroid Build Coastguard Worker     while (iter) {
1115*ab8db090SAndroid Build Coastguard Worker       if ( (!iter->type->clientdata && (strcmp(iter->type->name, c) == 0)) ||
1116*ab8db090SAndroid Build Coastguard Worker             (iter->type->clientdata && (strcmp((char*)iter->type->clientdata, c) == 0)) ) {
1117*ab8db090SAndroid Build Coastguard Worker         if (iter == ty->cast)
1118*ab8db090SAndroid Build Coastguard Worker           return iter;
1119*ab8db090SAndroid Build Coastguard Worker         /* Move iter to the top of the linked list */
1120*ab8db090SAndroid Build Coastguard Worker         iter->prev->next = iter->next;
1121*ab8db090SAndroid Build Coastguard Worker         if (iter->next)
1122*ab8db090SAndroid Build Coastguard Worker           iter->next->prev = iter->prev;
1123*ab8db090SAndroid Build Coastguard Worker         iter->next = ty->cast;
1124*ab8db090SAndroid Build Coastguard Worker         iter->prev = 0;
1125*ab8db090SAndroid Build Coastguard Worker         if (ty->cast) ty->cast->prev = iter;
1126*ab8db090SAndroid Build Coastguard Worker         ty->cast = iter;
1127*ab8db090SAndroid Build Coastguard Worker         return iter;
1128*ab8db090SAndroid Build Coastguard Worker       }
1129*ab8db090SAndroid Build Coastguard Worker       iter = iter->next;
1130*ab8db090SAndroid Build Coastguard Worker     }
1131*ab8db090SAndroid Build Coastguard Worker   }
1132*ab8db090SAndroid Build Coastguard Worker   return 0;
1133*ab8db090SAndroid Build Coastguard Worker }
1134*ab8db090SAndroid Build Coastguard Worker 
1135*ab8db090SAndroid Build Coastguard Worker /* Function for getting a pointer value */
1136*ab8db090SAndroid Build Coastguard Worker 
1137*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME int
SWIG_Perl_ConvertPtrAndOwn(SWIG_MAYBE_PERL_OBJECT SV * sv,void ** ptr,swig_type_info * _t,int flags,int * own)1138*ab8db090SAndroid Build Coastguard Worker SWIG_Perl_ConvertPtrAndOwn(SWIG_MAYBE_PERL_OBJECT SV *sv, void **ptr, swig_type_info *_t, int flags, int *own) {
1139*ab8db090SAndroid Build Coastguard Worker   swig_cast_info *tc;
1140*ab8db090SAndroid Build Coastguard Worker   void *voidptr = (void *)0;
1141*ab8db090SAndroid Build Coastguard Worker   SV *tsv = 0;
1142*ab8db090SAndroid Build Coastguard Worker 
1143*ab8db090SAndroid Build Coastguard Worker   if (own)
1144*ab8db090SAndroid Build Coastguard Worker     *own = 0;
1145*ab8db090SAndroid Build Coastguard Worker 
1146*ab8db090SAndroid Build Coastguard Worker   /* If magical, apply more magic */
1147*ab8db090SAndroid Build Coastguard Worker   if (SvGMAGICAL(sv))
1148*ab8db090SAndroid Build Coastguard Worker     mg_get(sv);
1149*ab8db090SAndroid Build Coastguard Worker 
1150*ab8db090SAndroid Build Coastguard Worker   /* Check to see if this is an object */
1151*ab8db090SAndroid Build Coastguard Worker   if (sv_isobject(sv)) {
1152*ab8db090SAndroid Build Coastguard Worker     IV tmp = 0;
1153*ab8db090SAndroid Build Coastguard Worker     tsv = (SV*) SvRV(sv);
1154*ab8db090SAndroid Build Coastguard Worker     if ((SvTYPE(tsv) == SVt_PVHV)) {
1155*ab8db090SAndroid Build Coastguard Worker       MAGIC *mg;
1156*ab8db090SAndroid Build Coastguard Worker       if (SvMAGICAL(tsv)) {
1157*ab8db090SAndroid Build Coastguard Worker         mg = mg_find(tsv,'P');
1158*ab8db090SAndroid Build Coastguard Worker         if (mg) {
1159*ab8db090SAndroid Build Coastguard Worker           sv = mg->mg_obj;
1160*ab8db090SAndroid Build Coastguard Worker           if (sv_isobject(sv)) {
1161*ab8db090SAndroid Build Coastguard Worker 	    tsv = (SV*)SvRV(sv);
1162*ab8db090SAndroid Build Coastguard Worker             tmp = SvIV(tsv);
1163*ab8db090SAndroid Build Coastguard Worker           }
1164*ab8db090SAndroid Build Coastguard Worker         }
1165*ab8db090SAndroid Build Coastguard Worker       } else {
1166*ab8db090SAndroid Build Coastguard Worker         return SWIG_ERROR;
1167*ab8db090SAndroid Build Coastguard Worker       }
1168*ab8db090SAndroid Build Coastguard Worker     } else {
1169*ab8db090SAndroid Build Coastguard Worker       tmp = SvIV(tsv);
1170*ab8db090SAndroid Build Coastguard Worker     }
1171*ab8db090SAndroid Build Coastguard Worker     voidptr = INT2PTR(void *,tmp);
1172*ab8db090SAndroid Build Coastguard Worker   } else if (! SvOK(sv)) {            /* Check for undef */
1173*ab8db090SAndroid Build Coastguard Worker     *(ptr) = (void *) 0;
1174*ab8db090SAndroid Build Coastguard Worker     return SWIG_OK;
1175*ab8db090SAndroid Build Coastguard Worker   } else if (SvTYPE(sv) == SVt_RV) {  /* Check for NULL pointer */
1176*ab8db090SAndroid Build Coastguard Worker     if (!SvROK(sv)) {
1177*ab8db090SAndroid Build Coastguard Worker       *(ptr) = (void *) 0;
1178*ab8db090SAndroid Build Coastguard Worker       return SWIG_OK;
1179*ab8db090SAndroid Build Coastguard Worker     } else {
1180*ab8db090SAndroid Build Coastguard Worker       return SWIG_ERROR;
1181*ab8db090SAndroid Build Coastguard Worker     }
1182*ab8db090SAndroid Build Coastguard Worker   } else {                            /* Don't know what it is */
1183*ab8db090SAndroid Build Coastguard Worker     return SWIG_ERROR;
1184*ab8db090SAndroid Build Coastguard Worker   }
1185*ab8db090SAndroid Build Coastguard Worker   if (_t) {
1186*ab8db090SAndroid Build Coastguard Worker     /* Now see if the types match */
1187*ab8db090SAndroid Build Coastguard Worker     char *_c = HvNAME(SvSTASH(SvRV(sv)));
1188*ab8db090SAndroid Build Coastguard Worker     tc = SWIG_TypeProxyCheck(_c,_t);
1189*ab8db090SAndroid Build Coastguard Worker     if (!tc) {
1190*ab8db090SAndroid Build Coastguard Worker       return SWIG_ERROR;
1191*ab8db090SAndroid Build Coastguard Worker     }
1192*ab8db090SAndroid Build Coastguard Worker     {
1193*ab8db090SAndroid Build Coastguard Worker       int newmemory = 0;
1194*ab8db090SAndroid Build Coastguard Worker       *ptr = SWIG_TypeCast(tc,voidptr,&newmemory);
1195*ab8db090SAndroid Build Coastguard Worker       if (newmemory == SWIG_CAST_NEW_MEMORY) {
1196*ab8db090SAndroid Build Coastguard Worker         assert(own);
1197*ab8db090SAndroid Build Coastguard Worker         if (own)
1198*ab8db090SAndroid Build Coastguard Worker           *own = *own | SWIG_CAST_NEW_MEMORY;
1199*ab8db090SAndroid Build Coastguard Worker       }
1200*ab8db090SAndroid Build Coastguard Worker     }
1201*ab8db090SAndroid Build Coastguard Worker   } else {
1202*ab8db090SAndroid Build Coastguard Worker     *ptr = voidptr;
1203*ab8db090SAndroid Build Coastguard Worker   }
1204*ab8db090SAndroid Build Coastguard Worker 
1205*ab8db090SAndroid Build Coastguard Worker   /*
1206*ab8db090SAndroid Build Coastguard Worker    *  DISOWN implementation: we need a perl guru to check this one.
1207*ab8db090SAndroid Build Coastguard Worker    */
1208*ab8db090SAndroid Build Coastguard Worker   if (tsv && (flags & SWIG_POINTER_DISOWN)) {
1209*ab8db090SAndroid Build Coastguard Worker     /*
1210*ab8db090SAndroid Build Coastguard Worker      *  almost copy paste code from below SWIG_POINTER_OWN setting
1211*ab8db090SAndroid Build Coastguard Worker      */
1212*ab8db090SAndroid Build Coastguard Worker     SV *obj = sv;
1213*ab8db090SAndroid Build Coastguard Worker     HV *stash = SvSTASH(SvRV(obj));
1214*ab8db090SAndroid Build Coastguard Worker     GV *gv = *(GV**) hv_fetch(stash, "OWNER", 5, TRUE);
1215*ab8db090SAndroid Build Coastguard Worker     if (isGV(gv)) {
1216*ab8db090SAndroid Build Coastguard Worker       HV *hv = GvHVn(gv);
1217*ab8db090SAndroid Build Coastguard Worker       /*
1218*ab8db090SAndroid Build Coastguard Worker        * To set ownership (see below), a newSViv(1) entry is added.
1219*ab8db090SAndroid Build Coastguard Worker        * Hence, to remove ownership, we delete the entry.
1220*ab8db090SAndroid Build Coastguard Worker        */
1221*ab8db090SAndroid Build Coastguard Worker       if (hv_exists_ent(hv, obj, 0)) {
1222*ab8db090SAndroid Build Coastguard Worker 	hv_delete_ent(hv, obj, 0, 0);
1223*ab8db090SAndroid Build Coastguard Worker       }
1224*ab8db090SAndroid Build Coastguard Worker     }
1225*ab8db090SAndroid Build Coastguard Worker   }
1226*ab8db090SAndroid Build Coastguard Worker   return SWIG_OK;
1227*ab8db090SAndroid Build Coastguard Worker }
1228*ab8db090SAndroid Build Coastguard Worker 
1229*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME int
SWIG_Perl_ConvertPtr(SWIG_MAYBE_PERL_OBJECT SV * sv,void ** ptr,swig_type_info * _t,int flags)1230*ab8db090SAndroid Build Coastguard Worker SWIG_Perl_ConvertPtr(SWIG_MAYBE_PERL_OBJECT SV *sv, void **ptr, swig_type_info *_t, int flags) {
1231*ab8db090SAndroid Build Coastguard Worker   return SWIG_Perl_ConvertPtrAndOwn(sv, ptr, _t, flags, 0);
1232*ab8db090SAndroid Build Coastguard Worker }
1233*ab8db090SAndroid Build Coastguard Worker 
1234*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME void
SWIG_Perl_MakePtr(SWIG_MAYBE_PERL_OBJECT SV * sv,void * ptr,swig_type_info * t,int flags)1235*ab8db090SAndroid Build Coastguard Worker SWIG_Perl_MakePtr(SWIG_MAYBE_PERL_OBJECT SV *sv, void *ptr, swig_type_info *t, int flags) {
1236*ab8db090SAndroid Build Coastguard Worker   if (ptr && (flags & (SWIG_SHADOW | SWIG_POINTER_OWN))) {
1237*ab8db090SAndroid Build Coastguard Worker     SV *self;
1238*ab8db090SAndroid Build Coastguard Worker     SV *obj=newSV(0);
1239*ab8db090SAndroid Build Coastguard Worker     HV *hash=newHV();
1240*ab8db090SAndroid Build Coastguard Worker     HV *stash;
1241*ab8db090SAndroid Build Coastguard Worker     sv_setref_pv(obj, (char *) SWIG_Perl_TypeProxyName(t), ptr);
1242*ab8db090SAndroid Build Coastguard Worker     stash=SvSTASH(SvRV(obj));
1243*ab8db090SAndroid Build Coastguard Worker     if (flags & SWIG_POINTER_OWN) {
1244*ab8db090SAndroid Build Coastguard Worker       HV *hv;
1245*ab8db090SAndroid Build Coastguard Worker       GV *gv=*(GV**)hv_fetch(stash, "OWNER", 5, TRUE);
1246*ab8db090SAndroid Build Coastguard Worker       if (!isGV(gv))
1247*ab8db090SAndroid Build Coastguard Worker         gv_init(gv, stash, "OWNER", 5, FALSE);
1248*ab8db090SAndroid Build Coastguard Worker       hv=GvHVn(gv);
1249*ab8db090SAndroid Build Coastguard Worker       hv_store_ent(hv, obj, newSViv(1), 0);
1250*ab8db090SAndroid Build Coastguard Worker     }
1251*ab8db090SAndroid Build Coastguard Worker     sv_magic((SV *)hash, (SV *)obj, 'P', Nullch, 0);
1252*ab8db090SAndroid Build Coastguard Worker     SvREFCNT_dec(obj);
1253*ab8db090SAndroid Build Coastguard Worker     self=newRV_noinc((SV *)hash);
1254*ab8db090SAndroid Build Coastguard Worker     sv_setsv(sv, self);
1255*ab8db090SAndroid Build Coastguard Worker     SvREFCNT_dec((SV *)self);
1256*ab8db090SAndroid Build Coastguard Worker     sv_bless(sv, stash);
1257*ab8db090SAndroid Build Coastguard Worker   }
1258*ab8db090SAndroid Build Coastguard Worker   else {
1259*ab8db090SAndroid Build Coastguard Worker     sv_setref_pv(sv, (char *) SWIG_Perl_TypeProxyName(t), ptr);
1260*ab8db090SAndroid Build Coastguard Worker   }
1261*ab8db090SAndroid Build Coastguard Worker }
1262*ab8db090SAndroid Build Coastguard Worker 
1263*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIMEINLINE SV *
SWIG_Perl_NewPointerObj(SWIG_MAYBE_PERL_OBJECT void * ptr,swig_type_info * t,int flags)1264*ab8db090SAndroid Build Coastguard Worker SWIG_Perl_NewPointerObj(SWIG_MAYBE_PERL_OBJECT void *ptr, swig_type_info *t, int flags) {
1265*ab8db090SAndroid Build Coastguard Worker   SV *result = sv_newmortal();
1266*ab8db090SAndroid Build Coastguard Worker   SWIG_MakePtr(result, ptr, t, flags);
1267*ab8db090SAndroid Build Coastguard Worker   return result;
1268*ab8db090SAndroid Build Coastguard Worker }
1269*ab8db090SAndroid Build Coastguard Worker 
1270*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME void
SWIG_Perl_MakePackedObj(SWIG_MAYBE_PERL_OBJECT SV * sv,void * ptr,int sz,swig_type_info * type)1271*ab8db090SAndroid Build Coastguard Worker SWIG_Perl_MakePackedObj(SWIG_MAYBE_PERL_OBJECT SV *sv, void *ptr, int sz, swig_type_info *type) {
1272*ab8db090SAndroid Build Coastguard Worker   char result[1024];
1273*ab8db090SAndroid Build Coastguard Worker   char *r = result;
1274*ab8db090SAndroid Build Coastguard Worker   if ((2*sz + 1 + strlen(SWIG_Perl_TypeProxyName(type))) > 1000) return;
1275*ab8db090SAndroid Build Coastguard Worker   *(r++) = '_';
1276*ab8db090SAndroid Build Coastguard Worker   r = SWIG_PackData(r,ptr,sz);
1277*ab8db090SAndroid Build Coastguard Worker   strcpy(r,SWIG_Perl_TypeProxyName(type));
1278*ab8db090SAndroid Build Coastguard Worker   sv_setpv(sv, result);
1279*ab8db090SAndroid Build Coastguard Worker }
1280*ab8db090SAndroid Build Coastguard Worker 
1281*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME SV *
SWIG_Perl_NewPackedObj(SWIG_MAYBE_PERL_OBJECT void * ptr,int sz,swig_type_info * type)1282*ab8db090SAndroid Build Coastguard Worker SWIG_Perl_NewPackedObj(SWIG_MAYBE_PERL_OBJECT void *ptr, int sz, swig_type_info *type) {
1283*ab8db090SAndroid Build Coastguard Worker   SV *result = sv_newmortal();
1284*ab8db090SAndroid Build Coastguard Worker   SWIG_Perl_MakePackedObj(result, ptr, sz, type);
1285*ab8db090SAndroid Build Coastguard Worker   return result;
1286*ab8db090SAndroid Build Coastguard Worker }
1287*ab8db090SAndroid Build Coastguard Worker 
1288*ab8db090SAndroid Build Coastguard Worker /* Convert a packed value value */
1289*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME int
SWIG_Perl_ConvertPacked(SWIG_MAYBE_PERL_OBJECT SV * obj,void * ptr,int sz,swig_type_info * ty)1290*ab8db090SAndroid Build Coastguard Worker SWIG_Perl_ConvertPacked(SWIG_MAYBE_PERL_OBJECT SV *obj, void *ptr, int sz, swig_type_info *ty) {
1291*ab8db090SAndroid Build Coastguard Worker   swig_cast_info *tc;
1292*ab8db090SAndroid Build Coastguard Worker   const char  *c = 0;
1293*ab8db090SAndroid Build Coastguard Worker 
1294*ab8db090SAndroid Build Coastguard Worker   if ((!obj) || (!SvOK(obj))) return SWIG_ERROR;
1295*ab8db090SAndroid Build Coastguard Worker   c = SvPV_nolen(obj);
1296*ab8db090SAndroid Build Coastguard Worker   /* Pointer values must start with leading underscore */
1297*ab8db090SAndroid Build Coastguard Worker   if (*c != '_') return SWIG_ERROR;
1298*ab8db090SAndroid Build Coastguard Worker   c++;
1299*ab8db090SAndroid Build Coastguard Worker   c = SWIG_UnpackData(c,ptr,sz);
1300*ab8db090SAndroid Build Coastguard Worker   if (ty) {
1301*ab8db090SAndroid Build Coastguard Worker     tc = SWIG_TypeCheck(c,ty);
1302*ab8db090SAndroid Build Coastguard Worker     if (!tc) return SWIG_ERROR;
1303*ab8db090SAndroid Build Coastguard Worker   }
1304*ab8db090SAndroid Build Coastguard Worker   return SWIG_OK;
1305*ab8db090SAndroid Build Coastguard Worker }
1306*ab8db090SAndroid Build Coastguard Worker 
1307*ab8db090SAndroid Build Coastguard Worker 
1308*ab8db090SAndroid Build Coastguard Worker /* Macros for low-level exception handling */
1309*ab8db090SAndroid Build Coastguard Worker #define SWIG_croak(x)    { SWIG_Error(SWIG_RuntimeError, x); SWIG_fail; }
1310*ab8db090SAndroid Build Coastguard Worker 
1311*ab8db090SAndroid Build Coastguard Worker 
1312*ab8db090SAndroid Build Coastguard Worker typedef XSPROTO(SwigPerlWrapper);
1313*ab8db090SAndroid Build Coastguard Worker typedef SwigPerlWrapper *SwigPerlWrapperPtr;
1314*ab8db090SAndroid Build Coastguard Worker 
1315*ab8db090SAndroid Build Coastguard Worker /* Structure for command table */
1316*ab8db090SAndroid Build Coastguard Worker typedef struct {
1317*ab8db090SAndroid Build Coastguard Worker   const char         *name;
1318*ab8db090SAndroid Build Coastguard Worker   SwigPerlWrapperPtr  wrapper;
1319*ab8db090SAndroid Build Coastguard Worker } swig_command_info;
1320*ab8db090SAndroid Build Coastguard Worker 
1321*ab8db090SAndroid Build Coastguard Worker /* Information for constant table */
1322*ab8db090SAndroid Build Coastguard Worker 
1323*ab8db090SAndroid Build Coastguard Worker #define SWIG_INT     1
1324*ab8db090SAndroid Build Coastguard Worker #define SWIG_FLOAT   2
1325*ab8db090SAndroid Build Coastguard Worker #define SWIG_STRING  3
1326*ab8db090SAndroid Build Coastguard Worker #define SWIG_POINTER 4
1327*ab8db090SAndroid Build Coastguard Worker #define SWIG_BINARY  5
1328*ab8db090SAndroid Build Coastguard Worker 
1329*ab8db090SAndroid Build Coastguard Worker /* Constant information structure */
1330*ab8db090SAndroid Build Coastguard Worker typedef struct swig_constant_info {
1331*ab8db090SAndroid Build Coastguard Worker     int              type;
1332*ab8db090SAndroid Build Coastguard Worker     const char      *name;
1333*ab8db090SAndroid Build Coastguard Worker     long             lvalue;
1334*ab8db090SAndroid Build Coastguard Worker     double           dvalue;
1335*ab8db090SAndroid Build Coastguard Worker     void            *pvalue;
1336*ab8db090SAndroid Build Coastguard Worker     swig_type_info **ptype;
1337*ab8db090SAndroid Build Coastguard Worker } swig_constant_info;
1338*ab8db090SAndroid Build Coastguard Worker 
1339*ab8db090SAndroid Build Coastguard Worker 
1340*ab8db090SAndroid Build Coastguard Worker /* Structure for variable table */
1341*ab8db090SAndroid Build Coastguard Worker typedef struct {
1342*ab8db090SAndroid Build Coastguard Worker   const char   *name;
1343*ab8db090SAndroid Build Coastguard Worker   SwigMagicFunc   set;
1344*ab8db090SAndroid Build Coastguard Worker   SwigMagicFunc   get;
1345*ab8db090SAndroid Build Coastguard Worker   swig_type_info  **type;
1346*ab8db090SAndroid Build Coastguard Worker } swig_variable_info;
1347*ab8db090SAndroid Build Coastguard Worker 
1348*ab8db090SAndroid Build Coastguard Worker /* Magic variable code */
1349*ab8db090SAndroid Build Coastguard Worker #ifndef PERL_OBJECT
1350*ab8db090SAndroid Build Coastguard Worker #define swig_create_magic(s,a,b,c) _swig_create_magic(s,a,b,c)
1351*ab8db090SAndroid Build Coastguard Worker   #ifndef MULTIPLICITY
_swig_create_magic(SV * sv,char * name,int (* set)(SV *,MAGIC *),int (* get)(SV *,MAGIC *))1352*ab8db090SAndroid Build Coastguard Worker      SWIGRUNTIME void _swig_create_magic(SV *sv, char *name, int (*set)(SV *, MAGIC *), int (*get)(SV *,MAGIC *))
1353*ab8db090SAndroid Build Coastguard Worker   #else
1354*ab8db090SAndroid Build Coastguard Worker      SWIGRUNTIME void _swig_create_magic(SV *sv, char *name, int (*set)(struct interpreter*, SV *, MAGIC *), int (*get)(struct interpreter*, SV *,MAGIC *))
1355*ab8db090SAndroid Build Coastguard Worker   #endif
1356*ab8db090SAndroid Build Coastguard Worker #else
1357*ab8db090SAndroid Build Coastguard Worker #  define swig_create_magic(s,a,b,c) _swig_create_magic(pPerl,s,a,b,c)
1358*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME void _swig_create_magic(CPerlObj *pPerl, SV *sv, const char *name, int (CPerlObj::*set)(SV *, MAGIC *), int (CPerlObj::*get)(SV *, MAGIC *))
1359*ab8db090SAndroid Build Coastguard Worker #endif
1360*ab8db090SAndroid Build Coastguard Worker {
1361*ab8db090SAndroid Build Coastguard Worker   MAGIC *mg;
1362*ab8db090SAndroid Build Coastguard Worker   sv_magic(sv,sv,'U',(char *) name,strlen(name));
1363*ab8db090SAndroid Build Coastguard Worker   mg = mg_find(sv,'U');
1364*ab8db090SAndroid Build Coastguard Worker   mg->mg_virtual = (MGVTBL *) malloc(sizeof(MGVTBL));
1365*ab8db090SAndroid Build Coastguard Worker   mg->mg_virtual->svt_get = (SwigMagicFunc) get;
1366*ab8db090SAndroid Build Coastguard Worker   mg->mg_virtual->svt_set = (SwigMagicFunc) set;
1367*ab8db090SAndroid Build Coastguard Worker   mg->mg_virtual->svt_len = 0;
1368*ab8db090SAndroid Build Coastguard Worker   mg->mg_virtual->svt_clear = 0;
1369*ab8db090SAndroid Build Coastguard Worker   mg->mg_virtual->svt_free = 0;
1370*ab8db090SAndroid Build Coastguard Worker }
1371*ab8db090SAndroid Build Coastguard Worker 
1372*ab8db090SAndroid Build Coastguard Worker 
1373*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME swig_module_info *
SWIG_Perl_GetModule(void)1374*ab8db090SAndroid Build Coastguard Worker SWIG_Perl_GetModule(void) {
1375*ab8db090SAndroid Build Coastguard Worker   static void *type_pointer = (void *)0;
1376*ab8db090SAndroid Build Coastguard Worker   SV *pointer;
1377*ab8db090SAndroid Build Coastguard Worker 
1378*ab8db090SAndroid Build Coastguard Worker   /* first check if pointer already created */
1379*ab8db090SAndroid Build Coastguard Worker   if (!type_pointer) {
1380*ab8db090SAndroid Build Coastguard Worker     pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, FALSE | GV_ADDMULTI);
1381*ab8db090SAndroid Build Coastguard Worker     if (pointer && SvOK(pointer)) {
1382*ab8db090SAndroid Build Coastguard Worker       type_pointer = INT2PTR(swig_type_info **, SvIV(pointer));
1383*ab8db090SAndroid Build Coastguard Worker     }
1384*ab8db090SAndroid Build Coastguard Worker   }
1385*ab8db090SAndroid Build Coastguard Worker 
1386*ab8db090SAndroid Build Coastguard Worker   return (swig_module_info *) type_pointer;
1387*ab8db090SAndroid Build Coastguard Worker }
1388*ab8db090SAndroid Build Coastguard Worker 
1389*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME void
SWIG_Perl_SetModule(swig_module_info * module)1390*ab8db090SAndroid Build Coastguard Worker SWIG_Perl_SetModule(swig_module_info *module) {
1391*ab8db090SAndroid Build Coastguard Worker   SV *pointer;
1392*ab8db090SAndroid Build Coastguard Worker 
1393*ab8db090SAndroid Build Coastguard Worker   /* create a new pointer */
1394*ab8db090SAndroid Build Coastguard Worker   pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, TRUE | GV_ADDMULTI);
1395*ab8db090SAndroid Build Coastguard Worker   sv_setiv(pointer, PTR2IV(module));
1396*ab8db090SAndroid Build Coastguard Worker }
1397*ab8db090SAndroid Build Coastguard Worker 
1398*ab8db090SAndroid Build Coastguard Worker #ifdef __cplusplus
1399*ab8db090SAndroid Build Coastguard Worker }
1400*ab8db090SAndroid Build Coastguard Worker #endif
1401*ab8db090SAndroid Build Coastguard Worker 
1402*ab8db090SAndroid Build Coastguard Worker /* Workaround perl5 global namespace pollution. Note that undefining library
1403*ab8db090SAndroid Build Coastguard Worker  * functions like fopen will not solve the problem on all platforms as fopen
1404*ab8db090SAndroid Build Coastguard Worker  * might be a macro on Windows but not necessarily on other operating systems. */
1405*ab8db090SAndroid Build Coastguard Worker #ifdef do_open
1406*ab8db090SAndroid Build Coastguard Worker   #undef do_open
1407*ab8db090SAndroid Build Coastguard Worker #endif
1408*ab8db090SAndroid Build Coastguard Worker #ifdef do_close
1409*ab8db090SAndroid Build Coastguard Worker   #undef do_close
1410*ab8db090SAndroid Build Coastguard Worker #endif
1411*ab8db090SAndroid Build Coastguard Worker #ifdef do_exec
1412*ab8db090SAndroid Build Coastguard Worker   #undef do_exec
1413*ab8db090SAndroid Build Coastguard Worker #endif
1414*ab8db090SAndroid Build Coastguard Worker #ifdef scalar
1415*ab8db090SAndroid Build Coastguard Worker   #undef scalar
1416*ab8db090SAndroid Build Coastguard Worker #endif
1417*ab8db090SAndroid Build Coastguard Worker #ifdef list
1418*ab8db090SAndroid Build Coastguard Worker   #undef list
1419*ab8db090SAndroid Build Coastguard Worker #endif
1420*ab8db090SAndroid Build Coastguard Worker #ifdef apply
1421*ab8db090SAndroid Build Coastguard Worker   #undef apply
1422*ab8db090SAndroid Build Coastguard Worker #endif
1423*ab8db090SAndroid Build Coastguard Worker #ifdef convert
1424*ab8db090SAndroid Build Coastguard Worker   #undef convert
1425*ab8db090SAndroid Build Coastguard Worker #endif
1426*ab8db090SAndroid Build Coastguard Worker #ifdef Error
1427*ab8db090SAndroid Build Coastguard Worker   #undef Error
1428*ab8db090SAndroid Build Coastguard Worker #endif
1429*ab8db090SAndroid Build Coastguard Worker #ifdef form
1430*ab8db090SAndroid Build Coastguard Worker   #undef form
1431*ab8db090SAndroid Build Coastguard Worker #endif
1432*ab8db090SAndroid Build Coastguard Worker #ifdef vform
1433*ab8db090SAndroid Build Coastguard Worker   #undef vform
1434*ab8db090SAndroid Build Coastguard Worker #endif
1435*ab8db090SAndroid Build Coastguard Worker #ifdef LABEL
1436*ab8db090SAndroid Build Coastguard Worker   #undef LABEL
1437*ab8db090SAndroid Build Coastguard Worker #endif
1438*ab8db090SAndroid Build Coastguard Worker #ifdef METHOD
1439*ab8db090SAndroid Build Coastguard Worker   #undef METHOD
1440*ab8db090SAndroid Build Coastguard Worker #endif
1441*ab8db090SAndroid Build Coastguard Worker #ifdef Move
1442*ab8db090SAndroid Build Coastguard Worker   #undef Move
1443*ab8db090SAndroid Build Coastguard Worker #endif
1444*ab8db090SAndroid Build Coastguard Worker #ifdef yylex
1445*ab8db090SAndroid Build Coastguard Worker   #undef yylex
1446*ab8db090SAndroid Build Coastguard Worker #endif
1447*ab8db090SAndroid Build Coastguard Worker #ifdef yyparse
1448*ab8db090SAndroid Build Coastguard Worker   #undef yyparse
1449*ab8db090SAndroid Build Coastguard Worker #endif
1450*ab8db090SAndroid Build Coastguard Worker #ifdef yyerror
1451*ab8db090SAndroid Build Coastguard Worker   #undef yyerror
1452*ab8db090SAndroid Build Coastguard Worker #endif
1453*ab8db090SAndroid Build Coastguard Worker #ifdef invert
1454*ab8db090SAndroid Build Coastguard Worker   #undef invert
1455*ab8db090SAndroid Build Coastguard Worker #endif
1456*ab8db090SAndroid Build Coastguard Worker #ifdef ref
1457*ab8db090SAndroid Build Coastguard Worker   #undef ref
1458*ab8db090SAndroid Build Coastguard Worker #endif
1459*ab8db090SAndroid Build Coastguard Worker #ifdef read
1460*ab8db090SAndroid Build Coastguard Worker   #undef read
1461*ab8db090SAndroid Build Coastguard Worker #endif
1462*ab8db090SAndroid Build Coastguard Worker #ifdef write
1463*ab8db090SAndroid Build Coastguard Worker   #undef write
1464*ab8db090SAndroid Build Coastguard Worker #endif
1465*ab8db090SAndroid Build Coastguard Worker #ifdef eof
1466*ab8db090SAndroid Build Coastguard Worker   #undef eof
1467*ab8db090SAndroid Build Coastguard Worker #endif
1468*ab8db090SAndroid Build Coastguard Worker #ifdef bool
1469*ab8db090SAndroid Build Coastguard Worker   #undef bool
1470*ab8db090SAndroid Build Coastguard Worker #endif
1471*ab8db090SAndroid Build Coastguard Worker #ifdef close
1472*ab8db090SAndroid Build Coastguard Worker   #undef close
1473*ab8db090SAndroid Build Coastguard Worker #endif
1474*ab8db090SAndroid Build Coastguard Worker #ifdef rewind
1475*ab8db090SAndroid Build Coastguard Worker   #undef rewind
1476*ab8db090SAndroid Build Coastguard Worker #endif
1477*ab8db090SAndroid Build Coastguard Worker #ifdef free
1478*ab8db090SAndroid Build Coastguard Worker   #undef free
1479*ab8db090SAndroid Build Coastguard Worker #endif
1480*ab8db090SAndroid Build Coastguard Worker #ifdef malloc
1481*ab8db090SAndroid Build Coastguard Worker   #undef malloc
1482*ab8db090SAndroid Build Coastguard Worker #endif
1483*ab8db090SAndroid Build Coastguard Worker #ifdef calloc
1484*ab8db090SAndroid Build Coastguard Worker   #undef calloc
1485*ab8db090SAndroid Build Coastguard Worker #endif
1486*ab8db090SAndroid Build Coastguard Worker #ifdef Stat
1487*ab8db090SAndroid Build Coastguard Worker   #undef Stat
1488*ab8db090SAndroid Build Coastguard Worker #endif
1489*ab8db090SAndroid Build Coastguard Worker #ifdef check
1490*ab8db090SAndroid Build Coastguard Worker   #undef check
1491*ab8db090SAndroid Build Coastguard Worker #endif
1492*ab8db090SAndroid Build Coastguard Worker #ifdef seekdir
1493*ab8db090SAndroid Build Coastguard Worker   #undef seekdir
1494*ab8db090SAndroid Build Coastguard Worker #endif
1495*ab8db090SAndroid Build Coastguard Worker #ifdef open
1496*ab8db090SAndroid Build Coastguard Worker   #undef open
1497*ab8db090SAndroid Build Coastguard Worker #endif
1498*ab8db090SAndroid Build Coastguard Worker #ifdef readdir
1499*ab8db090SAndroid Build Coastguard Worker   #undef readdir
1500*ab8db090SAndroid Build Coastguard Worker #endif
1501*ab8db090SAndroid Build Coastguard Worker #ifdef bind
1502*ab8db090SAndroid Build Coastguard Worker   #undef bind
1503*ab8db090SAndroid Build Coastguard Worker #endif
1504*ab8db090SAndroid Build Coastguard Worker 
1505*ab8db090SAndroid Build Coastguard Worker 
1506*ab8db090SAndroid Build Coastguard Worker 
1507*ab8db090SAndroid Build Coastguard Worker #define SWIG_exception_fail(code, msg) do { SWIG_Error(code, msg); SWIG_fail; } while(0)
1508*ab8db090SAndroid Build Coastguard Worker 
1509*ab8db090SAndroid Build Coastguard Worker #define SWIG_contract_assert(expr, msg) if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; } else
1510*ab8db090SAndroid Build Coastguard Worker 
1511*ab8db090SAndroid Build Coastguard Worker 
1512*ab8db090SAndroid Build Coastguard Worker 
1513*ab8db090SAndroid Build Coastguard Worker   #define SWIG_exception(code, msg) do { SWIG_Error(code, msg); SWIG_fail;; } while(0)
1514*ab8db090SAndroid Build Coastguard Worker 
1515*ab8db090SAndroid Build Coastguard Worker 
1516*ab8db090SAndroid Build Coastguard Worker /* -------- TYPES TABLE (BEGIN) -------- */
1517*ab8db090SAndroid Build Coastguard Worker 
1518*ab8db090SAndroid Build Coastguard Worker #define SWIGTYPE_p_char swig_types[0]
1519*ab8db090SAndroid Build Coastguard Worker #define SWIGTYPE_p_marisa__Key swig_types[1]
1520*ab8db090SAndroid Build Coastguard Worker #define SWIGTYPE_p_marisa_swig__Agent swig_types[2]
1521*ab8db090SAndroid Build Coastguard Worker #define SWIGTYPE_p_marisa_swig__Key swig_types[3]
1522*ab8db090SAndroid Build Coastguard Worker #define SWIGTYPE_p_marisa_swig__Keyset swig_types[4]
1523*ab8db090SAndroid Build Coastguard Worker #define SWIGTYPE_p_marisa_swig__Query swig_types[5]
1524*ab8db090SAndroid Build Coastguard Worker #define SWIGTYPE_p_marisa_swig__Trie swig_types[6]
1525*ab8db090SAndroid Build Coastguard Worker #define SWIGTYPE_p_p_char swig_types[7]
1526*ab8db090SAndroid Build Coastguard Worker #define SWIGTYPE_p_std__size_t swig_types[8]
1527*ab8db090SAndroid Build Coastguard Worker static swig_type_info *swig_types[10];
1528*ab8db090SAndroid Build Coastguard Worker static swig_module_info swig_module = {swig_types, 9, 0, 0, 0, 0};
1529*ab8db090SAndroid Build Coastguard Worker #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
1530*ab8db090SAndroid Build Coastguard Worker #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
1531*ab8db090SAndroid Build Coastguard Worker 
1532*ab8db090SAndroid Build Coastguard Worker /* -------- TYPES TABLE (END) -------- */
1533*ab8db090SAndroid Build Coastguard Worker 
1534*ab8db090SAndroid Build Coastguard Worker #define SWIG_init    boot_marisa
1535*ab8db090SAndroid Build Coastguard Worker 
1536*ab8db090SAndroid Build Coastguard Worker #define SWIG_name   "marisac::boot_marisa"
1537*ab8db090SAndroid Build Coastguard Worker #define SWIG_prefix "marisac::"
1538*ab8db090SAndroid Build Coastguard Worker 
1539*ab8db090SAndroid Build Coastguard Worker #define SWIGVERSION 0x010340
1540*ab8db090SAndroid Build Coastguard Worker #define SWIG_VERSION SWIGVERSION
1541*ab8db090SAndroid Build Coastguard Worker 
1542*ab8db090SAndroid Build Coastguard Worker 
1543*ab8db090SAndroid Build Coastguard Worker #define SWIG_as_voidptr(a) const_cast< void * >(static_cast< const void * >(a))
1544*ab8db090SAndroid Build Coastguard Worker #define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),reinterpret_cast< void** >(a))
1545*ab8db090SAndroid Build Coastguard Worker 
1546*ab8db090SAndroid Build Coastguard Worker 
1547*ab8db090SAndroid Build Coastguard Worker #include <stdexcept>
1548*ab8db090SAndroid Build Coastguard Worker 
1549*ab8db090SAndroid Build Coastguard Worker 
1550*ab8db090SAndroid Build Coastguard Worker #ifdef __cplusplus
1551*ab8db090SAndroid Build Coastguard Worker extern "C"
1552*ab8db090SAndroid Build Coastguard Worker #endif
1553*ab8db090SAndroid Build Coastguard Worker #ifndef PERL_OBJECT
1554*ab8db090SAndroid Build Coastguard Worker #ifndef MULTIPLICITY
1555*ab8db090SAndroid Build Coastguard Worker SWIGEXPORT void SWIG_init (CV* cv);
1556*ab8db090SAndroid Build Coastguard Worker #else
1557*ab8db090SAndroid Build Coastguard Worker SWIGEXPORT void SWIG_init (pTHXo_ CV* cv);
1558*ab8db090SAndroid Build Coastguard Worker #endif
1559*ab8db090SAndroid Build Coastguard Worker #else
1560*ab8db090SAndroid Build Coastguard Worker SWIGEXPORT void SWIG_init (CV *cv, CPerlObj *);
1561*ab8db090SAndroid Build Coastguard Worker #endif
1562*ab8db090SAndroid Build Coastguard Worker 
1563*ab8db090SAndroid Build Coastguard Worker 
1564*ab8db090SAndroid Build Coastguard Worker #include "marisa-swig.h"
1565*ab8db090SAndroid Build Coastguard Worker 
1566*ab8db090SAndroid Build Coastguard Worker 
1567*ab8db090SAndroid Build Coastguard Worker SWIGINTERNINLINE SV *
SWIG_PERL_DECL_ARGS_1(long value)1568*ab8db090SAndroid Build Coastguard Worker SWIG_From_long  SWIG_PERL_DECL_ARGS_1(long value)
1569*ab8db090SAndroid Build Coastguard Worker {
1570*ab8db090SAndroid Build Coastguard Worker   SV *obj = sv_newmortal();
1571*ab8db090SAndroid Build Coastguard Worker   sv_setiv(obj, (IV) value);
1572*ab8db090SAndroid Build Coastguard Worker   return obj;
1573*ab8db090SAndroid Build Coastguard Worker }
1574*ab8db090SAndroid Build Coastguard Worker 
1575*ab8db090SAndroid Build Coastguard Worker 
1576*ab8db090SAndroid Build Coastguard Worker SWIGINTERNINLINE SV *
SWIG_PERL_DECL_ARGS_1(int value)1577*ab8db090SAndroid Build Coastguard Worker SWIG_From_int  SWIG_PERL_DECL_ARGS_1(int value)
1578*ab8db090SAndroid Build Coastguard Worker {
1579*ab8db090SAndroid Build Coastguard Worker   return SWIG_From_long  SWIG_PERL_CALL_ARGS_1(value);
1580*ab8db090SAndroid Build Coastguard Worker }
1581*ab8db090SAndroid Build Coastguard Worker 
1582*ab8db090SAndroid Build Coastguard Worker 
1583*ab8db090SAndroid Build Coastguard Worker SWIGINTERNINLINE SV *
SWIG_FromCharPtrAndSize(const char * carray,size_t size)1584*ab8db090SAndroid Build Coastguard Worker SWIG_FromCharPtrAndSize(const char* carray, size_t size)
1585*ab8db090SAndroid Build Coastguard Worker {
1586*ab8db090SAndroid Build Coastguard Worker   SV *obj = sv_newmortal();
1587*ab8db090SAndroid Build Coastguard Worker   if (carray) {
1588*ab8db090SAndroid Build Coastguard Worker     sv_setpvn(obj, carray, size);
1589*ab8db090SAndroid Build Coastguard Worker   } else {
1590*ab8db090SAndroid Build Coastguard Worker     sv_setsv(obj, &PL_sv_undef);
1591*ab8db090SAndroid Build Coastguard Worker   }
1592*ab8db090SAndroid Build Coastguard Worker   return obj;
1593*ab8db090SAndroid Build Coastguard Worker }
1594*ab8db090SAndroid Build Coastguard Worker 
1595*ab8db090SAndroid Build Coastguard Worker 
1596*ab8db090SAndroid Build Coastguard Worker SWIGINTERN int
SWIG_PERL_DECL_ARGS_2(SV * obj,double * val)1597*ab8db090SAndroid Build Coastguard Worker SWIG_AsVal_double SWIG_PERL_DECL_ARGS_2(SV *obj, double *val)
1598*ab8db090SAndroid Build Coastguard Worker {
1599*ab8db090SAndroid Build Coastguard Worker   if (SvNIOK(obj)) {
1600*ab8db090SAndroid Build Coastguard Worker     if (val) *val = SvNV(obj);
1601*ab8db090SAndroid Build Coastguard Worker     return SWIG_OK;
1602*ab8db090SAndroid Build Coastguard Worker   } else if (SvIOK(obj)) {
1603*ab8db090SAndroid Build Coastguard Worker     if (val) *val = (double) SvIV(obj);
1604*ab8db090SAndroid Build Coastguard Worker     return SWIG_AddCast(SWIG_OK);
1605*ab8db090SAndroid Build Coastguard Worker   } else {
1606*ab8db090SAndroid Build Coastguard Worker     const char *nptr = SvPV_nolen(obj);
1607*ab8db090SAndroid Build Coastguard Worker     if (nptr) {
1608*ab8db090SAndroid Build Coastguard Worker       char *endptr;
1609*ab8db090SAndroid Build Coastguard Worker       double v = strtod(nptr, &endptr);
1610*ab8db090SAndroid Build Coastguard Worker       if (errno == ERANGE) {
1611*ab8db090SAndroid Build Coastguard Worker 	errno = 0;
1612*ab8db090SAndroid Build Coastguard Worker 	return SWIG_OverflowError;
1613*ab8db090SAndroid Build Coastguard Worker       } else {
1614*ab8db090SAndroid Build Coastguard Worker 	if (*endptr == '\0') {
1615*ab8db090SAndroid Build Coastguard Worker 	  if (val) *val = v;
1616*ab8db090SAndroid Build Coastguard Worker 	  return SWIG_Str2NumCast(SWIG_OK);
1617*ab8db090SAndroid Build Coastguard Worker 	}
1618*ab8db090SAndroid Build Coastguard Worker       }
1619*ab8db090SAndroid Build Coastguard Worker     }
1620*ab8db090SAndroid Build Coastguard Worker   }
1621*ab8db090SAndroid Build Coastguard Worker   return SWIG_TypeError;
1622*ab8db090SAndroid Build Coastguard Worker }
1623*ab8db090SAndroid Build Coastguard Worker 
1624*ab8db090SAndroid Build Coastguard Worker 
1625*ab8db090SAndroid Build Coastguard Worker SWIGINTERNINLINE SV *
SWIG_PERL_DECL_ARGS_1(unsigned long value)1626*ab8db090SAndroid Build Coastguard Worker SWIG_From_unsigned_SS_long  SWIG_PERL_DECL_ARGS_1(unsigned long value)
1627*ab8db090SAndroid Build Coastguard Worker {
1628*ab8db090SAndroid Build Coastguard Worker   SV *obj = sv_newmortal();
1629*ab8db090SAndroid Build Coastguard Worker   sv_setuv(obj, (UV) value);
1630*ab8db090SAndroid Build Coastguard Worker   return obj;
1631*ab8db090SAndroid Build Coastguard Worker }
1632*ab8db090SAndroid Build Coastguard Worker 
1633*ab8db090SAndroid Build Coastguard Worker 
1634*ab8db090SAndroid Build Coastguard Worker SWIGINTERNINLINE SV *
SWIG_PERL_DECL_ARGS_1(size_t value)1635*ab8db090SAndroid Build Coastguard Worker SWIG_From_size_t  SWIG_PERL_DECL_ARGS_1(size_t value)
1636*ab8db090SAndroid Build Coastguard Worker {
1637*ab8db090SAndroid Build Coastguard Worker   return SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(value));
1638*ab8db090SAndroid Build Coastguard Worker }
1639*ab8db090SAndroid Build Coastguard Worker 
1640*ab8db090SAndroid Build Coastguard Worker 
1641*ab8db090SAndroid Build Coastguard Worker SWIGINTERNINLINE SV *
SWIG_PERL_DECL_ARGS_1(double value)1642*ab8db090SAndroid Build Coastguard Worker SWIG_From_double  SWIG_PERL_DECL_ARGS_1(double value)
1643*ab8db090SAndroid Build Coastguard Worker {
1644*ab8db090SAndroid Build Coastguard Worker   SV *obj = sv_newmortal();
1645*ab8db090SAndroid Build Coastguard Worker   sv_setnv(obj, value);
1646*ab8db090SAndroid Build Coastguard Worker   return obj;
1647*ab8db090SAndroid Build Coastguard Worker }
1648*ab8db090SAndroid Build Coastguard Worker 
1649*ab8db090SAndroid Build Coastguard Worker 
1650*ab8db090SAndroid Build Coastguard Worker SWIGINTERNINLINE SV *
SWIG_PERL_DECL_ARGS_1(float value)1651*ab8db090SAndroid Build Coastguard Worker SWIG_From_float  SWIG_PERL_DECL_ARGS_1(float value)
1652*ab8db090SAndroid Build Coastguard Worker {
1653*ab8db090SAndroid Build Coastguard Worker   return SWIG_From_double  SWIG_PERL_CALL_ARGS_1(value);
1654*ab8db090SAndroid Build Coastguard Worker }
1655*ab8db090SAndroid Build Coastguard Worker 
1656*ab8db090SAndroid Build Coastguard Worker 
1657*ab8db090SAndroid Build Coastguard Worker SWIGINTERN swig_type_info*
SWIG_pchar_descriptor(void)1658*ab8db090SAndroid Build Coastguard Worker SWIG_pchar_descriptor(void)
1659*ab8db090SAndroid Build Coastguard Worker {
1660*ab8db090SAndroid Build Coastguard Worker   static int init = 0;
1661*ab8db090SAndroid Build Coastguard Worker   static swig_type_info* info = 0;
1662*ab8db090SAndroid Build Coastguard Worker   if (!init) {
1663*ab8db090SAndroid Build Coastguard Worker     info = SWIG_TypeQuery("_p_char");
1664*ab8db090SAndroid Build Coastguard Worker     init = 1;
1665*ab8db090SAndroid Build Coastguard Worker   }
1666*ab8db090SAndroid Build Coastguard Worker   return info;
1667*ab8db090SAndroid Build Coastguard Worker }
1668*ab8db090SAndroid Build Coastguard Worker 
1669*ab8db090SAndroid Build Coastguard Worker 
1670*ab8db090SAndroid Build Coastguard Worker SWIGINTERN int
SWIG_AsCharPtrAndSize(SV * obj,char ** cptr,size_t * psize,int * alloc)1671*ab8db090SAndroid Build Coastguard Worker SWIG_AsCharPtrAndSize(SV *obj, char** cptr, size_t* psize, int *alloc)
1672*ab8db090SAndroid Build Coastguard Worker {
1673*ab8db090SAndroid Build Coastguard Worker   if (SvMAGICAL(obj)) {
1674*ab8db090SAndroid Build Coastguard Worker      SV *tmp = sv_newmortal();
1675*ab8db090SAndroid Build Coastguard Worker      SvSetSV(tmp, obj);
1676*ab8db090SAndroid Build Coastguard Worker      obj = tmp;
1677*ab8db090SAndroid Build Coastguard Worker   }
1678*ab8db090SAndroid Build Coastguard Worker   if (SvPOK(obj)) {
1679*ab8db090SAndroid Build Coastguard Worker     STRLEN len = 0;
1680*ab8db090SAndroid Build Coastguard Worker     char *cstr = SvPV(obj, len);
1681*ab8db090SAndroid Build Coastguard Worker     size_t size = len + 1;
1682*ab8db090SAndroid Build Coastguard Worker     if (cptr)  {
1683*ab8db090SAndroid Build Coastguard Worker       if (alloc) {
1684*ab8db090SAndroid Build Coastguard Worker 	if (*alloc == SWIG_NEWOBJ) {
1685*ab8db090SAndroid Build Coastguard Worker 	  *cptr = reinterpret_cast< char* >(memcpy((new char[size]), cstr, sizeof(char)*(size)));
1686*ab8db090SAndroid Build Coastguard Worker 	} else {
1687*ab8db090SAndroid Build Coastguard Worker 	  *cptr = cstr;
1688*ab8db090SAndroid Build Coastguard Worker 	  *alloc = SWIG_OLDOBJ;
1689*ab8db090SAndroid Build Coastguard Worker 	}
1690*ab8db090SAndroid Build Coastguard Worker       }
1691*ab8db090SAndroid Build Coastguard Worker     }
1692*ab8db090SAndroid Build Coastguard Worker     if (psize) *psize = size;
1693*ab8db090SAndroid Build Coastguard Worker     return SWIG_OK;
1694*ab8db090SAndroid Build Coastguard Worker   } else {
1695*ab8db090SAndroid Build Coastguard Worker     swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
1696*ab8db090SAndroid Build Coastguard Worker     if (pchar_descriptor) {
1697*ab8db090SAndroid Build Coastguard Worker       char* vptr = 0;
1698*ab8db090SAndroid Build Coastguard Worker       if (SWIG_ConvertPtr(obj, (void**)&vptr, pchar_descriptor, 0) == SWIG_OK) {
1699*ab8db090SAndroid Build Coastguard Worker 	if (cptr) *cptr = vptr;
1700*ab8db090SAndroid Build Coastguard Worker 	if (psize) *psize = vptr ? (strlen(vptr) + 1) : 0;
1701*ab8db090SAndroid Build Coastguard Worker 	if (alloc) *alloc = SWIG_OLDOBJ;
1702*ab8db090SAndroid Build Coastguard Worker 	return SWIG_OK;
1703*ab8db090SAndroid Build Coastguard Worker       }
1704*ab8db090SAndroid Build Coastguard Worker     }
1705*ab8db090SAndroid Build Coastguard Worker   }
1706*ab8db090SAndroid Build Coastguard Worker   return SWIG_TypeError;
1707*ab8db090SAndroid Build Coastguard Worker }
1708*ab8db090SAndroid Build Coastguard Worker 
1709*ab8db090SAndroid Build Coastguard Worker 
1710*ab8db090SAndroid Build Coastguard Worker #include <float.h>
1711*ab8db090SAndroid Build Coastguard Worker 
1712*ab8db090SAndroid Build Coastguard Worker 
1713*ab8db090SAndroid Build Coastguard Worker SWIGINTERN int
SWIG_PERL_DECL_ARGS_2(SV * obj,float * val)1714*ab8db090SAndroid Build Coastguard Worker SWIG_AsVal_float SWIG_PERL_DECL_ARGS_2(SV * obj, float *val)
1715*ab8db090SAndroid Build Coastguard Worker {
1716*ab8db090SAndroid Build Coastguard Worker   double v;
1717*ab8db090SAndroid Build Coastguard Worker   int res = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(obj, &v);
1718*ab8db090SAndroid Build Coastguard Worker   if (SWIG_IsOK(res)) {
1719*ab8db090SAndroid Build Coastguard Worker     if ((v < -FLT_MAX || v > FLT_MAX)) {
1720*ab8db090SAndroid Build Coastguard Worker       return SWIG_OverflowError;
1721*ab8db090SAndroid Build Coastguard Worker     } else {
1722*ab8db090SAndroid Build Coastguard Worker       if (val) *val = static_cast< float >(v);
1723*ab8db090SAndroid Build Coastguard Worker     }
1724*ab8db090SAndroid Build Coastguard Worker   }
1725*ab8db090SAndroid Build Coastguard Worker   return res;
1726*ab8db090SAndroid Build Coastguard Worker }
1727*ab8db090SAndroid Build Coastguard Worker 
1728*ab8db090SAndroid Build Coastguard Worker 
1729*ab8db090SAndroid Build Coastguard Worker 
1730*ab8db090SAndroid Build Coastguard Worker 
1731*ab8db090SAndroid Build Coastguard Worker 
1732*ab8db090SAndroid Build Coastguard Worker #include <math.h>
1733*ab8db090SAndroid Build Coastguard Worker 
1734*ab8db090SAndroid Build Coastguard Worker 
1735*ab8db090SAndroid Build Coastguard Worker SWIGINTERNINLINE int
SWIG_CanCastAsInteger(double * d,double min,double max)1736*ab8db090SAndroid Build Coastguard Worker SWIG_CanCastAsInteger(double *d, double min, double max) {
1737*ab8db090SAndroid Build Coastguard Worker   double x = *d;
1738*ab8db090SAndroid Build Coastguard Worker   if ((min <= x && x <= max)) {
1739*ab8db090SAndroid Build Coastguard Worker    double fx = floor(x);
1740*ab8db090SAndroid Build Coastguard Worker    double cx = ceil(x);
1741*ab8db090SAndroid Build Coastguard Worker    double rd =  ((x - fx) < 0.5) ? fx : cx; /* simple rint */
1742*ab8db090SAndroid Build Coastguard Worker    if ((errno == EDOM) || (errno == ERANGE)) {
1743*ab8db090SAndroid Build Coastguard Worker      errno = 0;
1744*ab8db090SAndroid Build Coastguard Worker    } else {
1745*ab8db090SAndroid Build Coastguard Worker      double summ, reps, diff;
1746*ab8db090SAndroid Build Coastguard Worker      if (rd < x) {
1747*ab8db090SAndroid Build Coastguard Worker        diff = x - rd;
1748*ab8db090SAndroid Build Coastguard Worker      } else if (rd > x) {
1749*ab8db090SAndroid Build Coastguard Worker        diff = rd - x;
1750*ab8db090SAndroid Build Coastguard Worker      } else {
1751*ab8db090SAndroid Build Coastguard Worker        return 1;
1752*ab8db090SAndroid Build Coastguard Worker      }
1753*ab8db090SAndroid Build Coastguard Worker      summ = rd + x;
1754*ab8db090SAndroid Build Coastguard Worker      reps = diff/summ;
1755*ab8db090SAndroid Build Coastguard Worker      if (reps < 8*DBL_EPSILON) {
1756*ab8db090SAndroid Build Coastguard Worker        *d = rd;
1757*ab8db090SAndroid Build Coastguard Worker        return 1;
1758*ab8db090SAndroid Build Coastguard Worker      }
1759*ab8db090SAndroid Build Coastguard Worker    }
1760*ab8db090SAndroid Build Coastguard Worker   }
1761*ab8db090SAndroid Build Coastguard Worker   return 0;
1762*ab8db090SAndroid Build Coastguard Worker }
1763*ab8db090SAndroid Build Coastguard Worker 
1764*ab8db090SAndroid Build Coastguard Worker 
1765*ab8db090SAndroid Build Coastguard Worker SWIGINTERN int
SWIG_PERL_DECL_ARGS_2(SV * obj,unsigned long * val)1766*ab8db090SAndroid Build Coastguard Worker SWIG_AsVal_unsigned_SS_long SWIG_PERL_DECL_ARGS_2(SV *obj, unsigned long *val)
1767*ab8db090SAndroid Build Coastguard Worker {
1768*ab8db090SAndroid Build Coastguard Worker   if (SvUOK(obj)) {
1769*ab8db090SAndroid Build Coastguard Worker     if (val) *val = SvUV(obj);
1770*ab8db090SAndroid Build Coastguard Worker     return SWIG_OK;
1771*ab8db090SAndroid Build Coastguard Worker   } else  if (SvIOK(obj)) {
1772*ab8db090SAndroid Build Coastguard Worker     long v = SvIV(obj);
1773*ab8db090SAndroid Build Coastguard Worker     if (v >= 0) {
1774*ab8db090SAndroid Build Coastguard Worker       if (val) *val = v;
1775*ab8db090SAndroid Build Coastguard Worker       return SWIG_OK;
1776*ab8db090SAndroid Build Coastguard Worker     } else {
1777*ab8db090SAndroid Build Coastguard Worker       return SWIG_OverflowError;
1778*ab8db090SAndroid Build Coastguard Worker     }
1779*ab8db090SAndroid Build Coastguard Worker   } else {
1780*ab8db090SAndroid Build Coastguard Worker     int dispatch = 0;
1781*ab8db090SAndroid Build Coastguard Worker     const char *nptr = SvPV_nolen(obj);
1782*ab8db090SAndroid Build Coastguard Worker     if (nptr) {
1783*ab8db090SAndroid Build Coastguard Worker       char *endptr;
1784*ab8db090SAndroid Build Coastguard Worker       unsigned long v;
1785*ab8db090SAndroid Build Coastguard Worker       errno = 0;
1786*ab8db090SAndroid Build Coastguard Worker       v = strtoul(nptr, &endptr,0);
1787*ab8db090SAndroid Build Coastguard Worker       if (errno == ERANGE) {
1788*ab8db090SAndroid Build Coastguard Worker 	errno = 0;
1789*ab8db090SAndroid Build Coastguard Worker 	return SWIG_OverflowError;
1790*ab8db090SAndroid Build Coastguard Worker       } else {
1791*ab8db090SAndroid Build Coastguard Worker 	if (*endptr == '\0') {
1792*ab8db090SAndroid Build Coastguard Worker 	  if (val) *val = v;
1793*ab8db090SAndroid Build Coastguard Worker 	  return SWIG_Str2NumCast(SWIG_OK);
1794*ab8db090SAndroid Build Coastguard Worker 	}
1795*ab8db090SAndroid Build Coastguard Worker       }
1796*ab8db090SAndroid Build Coastguard Worker     }
1797*ab8db090SAndroid Build Coastguard Worker     if (!dispatch) {
1798*ab8db090SAndroid Build Coastguard Worker       double d;
1799*ab8db090SAndroid Build Coastguard Worker       int res = SWIG_AddCast(SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(obj,&d));
1800*ab8db090SAndroid Build Coastguard Worker       if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, 0, ULONG_MAX)) {
1801*ab8db090SAndroid Build Coastguard Worker 	if (val) *val = (unsigned long)(d);
1802*ab8db090SAndroid Build Coastguard Worker 	return res;
1803*ab8db090SAndroid Build Coastguard Worker       }
1804*ab8db090SAndroid Build Coastguard Worker     }
1805*ab8db090SAndroid Build Coastguard Worker   }
1806*ab8db090SAndroid Build Coastguard Worker   return SWIG_TypeError;
1807*ab8db090SAndroid Build Coastguard Worker }
1808*ab8db090SAndroid Build Coastguard Worker 
1809*ab8db090SAndroid Build Coastguard Worker 
1810*ab8db090SAndroid Build Coastguard Worker SWIGINTERNINLINE int
SWIG_PERL_DECL_ARGS_2(SV * obj,size_t * val)1811*ab8db090SAndroid Build Coastguard Worker SWIG_AsVal_size_t SWIG_PERL_DECL_ARGS_2(SV * obj, size_t *val)
1812*ab8db090SAndroid Build Coastguard Worker {
1813*ab8db090SAndroid Build Coastguard Worker   unsigned long v;
1814*ab8db090SAndroid Build Coastguard Worker   int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(obj, val ? &v : 0);
1815*ab8db090SAndroid Build Coastguard Worker   if (SWIG_IsOK(res) && val) *val = static_cast< size_t >(v);
1816*ab8db090SAndroid Build Coastguard Worker   return res;
1817*ab8db090SAndroid Build Coastguard Worker }
1818*ab8db090SAndroid Build Coastguard Worker 
1819*ab8db090SAndroid Build Coastguard Worker 
1820*ab8db090SAndroid Build Coastguard Worker SWIGINTERNINLINE SV *
SWIG_PERL_DECL_ARGS_1(bool value)1821*ab8db090SAndroid Build Coastguard Worker SWIG_From_bool  SWIG_PERL_DECL_ARGS_1(bool value)
1822*ab8db090SAndroid Build Coastguard Worker {
1823*ab8db090SAndroid Build Coastguard Worker   SV *obj = sv_newmortal();
1824*ab8db090SAndroid Build Coastguard Worker   if (value) {
1825*ab8db090SAndroid Build Coastguard Worker     sv_setsv(obj, &PL_sv_yes);
1826*ab8db090SAndroid Build Coastguard Worker   } else {
1827*ab8db090SAndroid Build Coastguard Worker     sv_setsv(obj, &PL_sv_no);
1828*ab8db090SAndroid Build Coastguard Worker   }
1829*ab8db090SAndroid Build Coastguard Worker   return obj;
1830*ab8db090SAndroid Build Coastguard Worker }
1831*ab8db090SAndroid Build Coastguard Worker 
1832*ab8db090SAndroid Build Coastguard Worker 
1833*ab8db090SAndroid Build Coastguard Worker #include <limits.h>
1834*ab8db090SAndroid Build Coastguard Worker #if !defined(SWIG_NO_LLONG_MAX)
1835*ab8db090SAndroid Build Coastguard Worker # if !defined(LLONG_MAX) && defined(__GNUC__) && defined (__LONG_LONG_MAX__)
1836*ab8db090SAndroid Build Coastguard Worker #   define LLONG_MAX __LONG_LONG_MAX__
1837*ab8db090SAndroid Build Coastguard Worker #   define LLONG_MIN (-LLONG_MAX - 1LL)
1838*ab8db090SAndroid Build Coastguard Worker #   define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL)
1839*ab8db090SAndroid Build Coastguard Worker # endif
1840*ab8db090SAndroid Build Coastguard Worker #endif
1841*ab8db090SAndroid Build Coastguard Worker 
1842*ab8db090SAndroid Build Coastguard Worker 
1843*ab8db090SAndroid Build Coastguard Worker SWIGINTERN int
SWIG_PERL_DECL_ARGS_2(SV * obj,long * val)1844*ab8db090SAndroid Build Coastguard Worker SWIG_AsVal_long SWIG_PERL_DECL_ARGS_2(SV *obj, long* val)
1845*ab8db090SAndroid Build Coastguard Worker {
1846*ab8db090SAndroid Build Coastguard Worker   if (SvIOK(obj)) {
1847*ab8db090SAndroid Build Coastguard Worker     if (val) *val = SvIV(obj);
1848*ab8db090SAndroid Build Coastguard Worker     return SWIG_OK;
1849*ab8db090SAndroid Build Coastguard Worker   } else {
1850*ab8db090SAndroid Build Coastguard Worker     int dispatch = 0;
1851*ab8db090SAndroid Build Coastguard Worker     const char *nptr = SvPV_nolen(obj);
1852*ab8db090SAndroid Build Coastguard Worker     if (nptr) {
1853*ab8db090SAndroid Build Coastguard Worker       char *endptr;
1854*ab8db090SAndroid Build Coastguard Worker       long v;
1855*ab8db090SAndroid Build Coastguard Worker       errno = 0;
1856*ab8db090SAndroid Build Coastguard Worker       v = strtol(nptr, &endptr,0);
1857*ab8db090SAndroid Build Coastguard Worker       if (errno == ERANGE) {
1858*ab8db090SAndroid Build Coastguard Worker 	errno = 0;
1859*ab8db090SAndroid Build Coastguard Worker 	return SWIG_OverflowError;
1860*ab8db090SAndroid Build Coastguard Worker       } else {
1861*ab8db090SAndroid Build Coastguard Worker 	if (*endptr == '\0') {
1862*ab8db090SAndroid Build Coastguard Worker 	  if (val) *val = v;
1863*ab8db090SAndroid Build Coastguard Worker 	  return SWIG_Str2NumCast(SWIG_OK);
1864*ab8db090SAndroid Build Coastguard Worker 	}
1865*ab8db090SAndroid Build Coastguard Worker       }
1866*ab8db090SAndroid Build Coastguard Worker     }
1867*ab8db090SAndroid Build Coastguard Worker     if (!dispatch) {
1868*ab8db090SAndroid Build Coastguard Worker       double d;
1869*ab8db090SAndroid Build Coastguard Worker       int res = SWIG_AddCast(SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(obj,&d));
1870*ab8db090SAndroid Build Coastguard Worker       if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, LONG_MIN, LONG_MAX)) {
1871*ab8db090SAndroid Build Coastguard Worker 	if (val) *val = (long)(d);
1872*ab8db090SAndroid Build Coastguard Worker 	return res;
1873*ab8db090SAndroid Build Coastguard Worker       }
1874*ab8db090SAndroid Build Coastguard Worker     }
1875*ab8db090SAndroid Build Coastguard Worker   }
1876*ab8db090SAndroid Build Coastguard Worker   return SWIG_TypeError;
1877*ab8db090SAndroid Build Coastguard Worker }
1878*ab8db090SAndroid Build Coastguard Worker 
1879*ab8db090SAndroid Build Coastguard Worker 
1880*ab8db090SAndroid Build Coastguard Worker SWIGINTERN int
SWIG_PERL_DECL_ARGS_2(SV * obj,int * val)1881*ab8db090SAndroid Build Coastguard Worker SWIG_AsVal_int SWIG_PERL_DECL_ARGS_2(SV * obj, int *val)
1882*ab8db090SAndroid Build Coastguard Worker {
1883*ab8db090SAndroid Build Coastguard Worker   long v;
1884*ab8db090SAndroid Build Coastguard Worker   int res = SWIG_AsVal_long SWIG_PERL_CALL_ARGS_2(obj, &v);
1885*ab8db090SAndroid Build Coastguard Worker   if (SWIG_IsOK(res)) {
1886*ab8db090SAndroid Build Coastguard Worker     if ((v < INT_MIN || v > INT_MAX)) {
1887*ab8db090SAndroid Build Coastguard Worker       return SWIG_OverflowError;
1888*ab8db090SAndroid Build Coastguard Worker     } else {
1889*ab8db090SAndroid Build Coastguard Worker       if (val) *val = static_cast< int >(v);
1890*ab8db090SAndroid Build Coastguard Worker     }
1891*ab8db090SAndroid Build Coastguard Worker   }
1892*ab8db090SAndroid Build Coastguard Worker   return res;
1893*ab8db090SAndroid Build Coastguard Worker }
1894*ab8db090SAndroid Build Coastguard Worker 
1895*ab8db090SAndroid Build Coastguard Worker #ifdef __cplusplus
1896*ab8db090SAndroid Build Coastguard Worker extern "C" {
1897*ab8db090SAndroid Build Coastguard Worker #endif
1898*ab8db090SAndroid Build Coastguard Worker 
1899*ab8db090SAndroid Build Coastguard Worker #ifdef PERL_OBJECT
1900*ab8db090SAndroid Build Coastguard Worker #define MAGIC_CLASS _wrap_marisa_var::
1901*ab8db090SAndroid Build Coastguard Worker class _wrap_marisa_var : public CPerlObj {
1902*ab8db090SAndroid Build Coastguard Worker public:
1903*ab8db090SAndroid Build Coastguard Worker #else
1904*ab8db090SAndroid Build Coastguard Worker #define MAGIC_CLASS
1905*ab8db090SAndroid Build Coastguard Worker #endif
swig_magic_readonly(pTHX_ SV * SWIGUNUSEDPARM (sv),MAGIC * SWIGUNUSEDPARM (mg))1906*ab8db090SAndroid Build Coastguard Worker SWIGCLASS_STATIC int swig_magic_readonly(pTHX_ SV *SWIGUNUSEDPARM(sv), MAGIC *SWIGUNUSEDPARM(mg)) {
1907*ab8db090SAndroid Build Coastguard Worker     MAGIC_PPERL
1908*ab8db090SAndroid Build Coastguard Worker     croak("Value is read-only.");
1909*ab8db090SAndroid Build Coastguard Worker     return 0;
1910*ab8db090SAndroid Build Coastguard Worker }
1911*ab8db090SAndroid Build Coastguard Worker 
1912*ab8db090SAndroid Build Coastguard Worker 
1913*ab8db090SAndroid Build Coastguard Worker #ifdef PERL_OBJECT
1914*ab8db090SAndroid Build Coastguard Worker };
1915*ab8db090SAndroid Build Coastguard Worker #endif
1916*ab8db090SAndroid Build Coastguard Worker 
1917*ab8db090SAndroid Build Coastguard Worker #ifdef __cplusplus
1918*ab8db090SAndroid Build Coastguard Worker }
1919*ab8db090SAndroid Build Coastguard Worker #endif
1920*ab8db090SAndroid Build Coastguard Worker 
1921*ab8db090SAndroid Build Coastguard Worker #ifdef __cplusplus
1922*ab8db090SAndroid Build Coastguard Worker extern "C" {
1923*ab8db090SAndroid Build Coastguard Worker #endif
XS(_wrap_Key_str)1924*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Key_str) {
1925*ab8db090SAndroid Build Coastguard Worker   {
1926*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Key *arg1 = (marisa_swig::Key *) 0 ;
1927*ab8db090SAndroid Build Coastguard Worker     char **arg2 = (char **) 0 ;
1928*ab8db090SAndroid Build Coastguard Worker     std::size_t *arg3 = (std::size_t *) 0 ;
1929*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
1930*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
1931*ab8db090SAndroid Build Coastguard Worker     char *temp2 = 0 ;
1932*ab8db090SAndroid Build Coastguard Worker     std::size_t tempn2 ;
1933*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
1934*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
1935*ab8db090SAndroid Build Coastguard Worker 
1936*ab8db090SAndroid Build Coastguard Worker     arg2 = &temp2; arg3 = &tempn2;
1937*ab8db090SAndroid Build Coastguard Worker     if ((items < 1) || (items > 1)) {
1938*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Key_str(self,length_out);");
1939*ab8db090SAndroid Build Coastguard Worker     }
1940*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Key, 0 |  0 );
1941*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
1942*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Key_str" "', argument " "1"" of type '" "marisa_swig::Key const *""'");
1943*ab8db090SAndroid Build Coastguard Worker     }
1944*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Key * >(argp1);
1945*ab8db090SAndroid Build Coastguard Worker     {
1946*ab8db090SAndroid Build Coastguard Worker       try {
1947*ab8db090SAndroid Build Coastguard Worker         ((marisa_swig::Key const *)arg1)->str((char const **)arg2,arg3);
1948*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
1949*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
1950*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
1951*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
1952*ab8db090SAndroid Build Coastguard Worker       }
1953*ab8db090SAndroid Build Coastguard Worker     }
1954*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = sv_newmortal();
1955*ab8db090SAndroid Build Coastguard Worker     if (*arg2) {
1956*ab8db090SAndroid Build Coastguard Worker       if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_FromCharPtrAndSize(*arg2,*arg3); argvi++  ;
1957*ab8db090SAndroid Build Coastguard Worker       ;
1958*ab8db090SAndroid Build Coastguard Worker     }
1959*ab8db090SAndroid Build Coastguard Worker 
1960*ab8db090SAndroid Build Coastguard Worker 
1961*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
1962*ab8db090SAndroid Build Coastguard Worker   fail:
1963*ab8db090SAndroid Build Coastguard Worker 
1964*ab8db090SAndroid Build Coastguard Worker 
1965*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
1966*ab8db090SAndroid Build Coastguard Worker   }
1967*ab8db090SAndroid Build Coastguard Worker }
1968*ab8db090SAndroid Build Coastguard Worker 
1969*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Key_id)1970*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Key_id) {
1971*ab8db090SAndroid Build Coastguard Worker   {
1972*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Key *arg1 = (marisa_swig::Key *) 0 ;
1973*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
1974*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
1975*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
1976*ab8db090SAndroid Build Coastguard Worker     std::size_t result;
1977*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
1978*ab8db090SAndroid Build Coastguard Worker 
1979*ab8db090SAndroid Build Coastguard Worker     if ((items < 1) || (items > 1)) {
1980*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Key_id(self);");
1981*ab8db090SAndroid Build Coastguard Worker     }
1982*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Key, 0 |  0 );
1983*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
1984*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Key_id" "', argument " "1"" of type '" "marisa_swig::Key const *""'");
1985*ab8db090SAndroid Build Coastguard Worker     }
1986*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Key * >(argp1);
1987*ab8db090SAndroid Build Coastguard Worker     {
1988*ab8db090SAndroid Build Coastguard Worker       try {
1989*ab8db090SAndroid Build Coastguard Worker         result = ((marisa_swig::Key const *)arg1)->id();
1990*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
1991*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
1992*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
1993*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
1994*ab8db090SAndroid Build Coastguard Worker       }
1995*ab8db090SAndroid Build Coastguard Worker     }
1996*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
1997*ab8db090SAndroid Build Coastguard Worker 
1998*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
1999*ab8db090SAndroid Build Coastguard Worker   fail:
2000*ab8db090SAndroid Build Coastguard Worker 
2001*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
2002*ab8db090SAndroid Build Coastguard Worker   }
2003*ab8db090SAndroid Build Coastguard Worker }
2004*ab8db090SAndroid Build Coastguard Worker 
2005*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Key_weight)2006*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Key_weight) {
2007*ab8db090SAndroid Build Coastguard Worker   {
2008*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Key *arg1 = (marisa_swig::Key *) 0 ;
2009*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
2010*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
2011*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
2012*ab8db090SAndroid Build Coastguard Worker     float result;
2013*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
2014*ab8db090SAndroid Build Coastguard Worker 
2015*ab8db090SAndroid Build Coastguard Worker     if ((items < 1) || (items > 1)) {
2016*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Key_weight(self);");
2017*ab8db090SAndroid Build Coastguard Worker     }
2018*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Key, 0 |  0 );
2019*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
2020*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Key_weight" "', argument " "1"" of type '" "marisa_swig::Key const *""'");
2021*ab8db090SAndroid Build Coastguard Worker     }
2022*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Key * >(argp1);
2023*ab8db090SAndroid Build Coastguard Worker     {
2024*ab8db090SAndroid Build Coastguard Worker       try {
2025*ab8db090SAndroid Build Coastguard Worker         result = (float)((marisa_swig::Key const *)arg1)->weight();
2026*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
2027*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
2028*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
2029*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
2030*ab8db090SAndroid Build Coastguard Worker       }
2031*ab8db090SAndroid Build Coastguard Worker     }
2032*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
2033*ab8db090SAndroid Build Coastguard Worker 
2034*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
2035*ab8db090SAndroid Build Coastguard Worker   fail:
2036*ab8db090SAndroid Build Coastguard Worker 
2037*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
2038*ab8db090SAndroid Build Coastguard Worker   }
2039*ab8db090SAndroid Build Coastguard Worker }
2040*ab8db090SAndroid Build Coastguard Worker 
2041*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_delete_Key)2042*ab8db090SAndroid Build Coastguard Worker XS(_wrap_delete_Key) {
2043*ab8db090SAndroid Build Coastguard Worker   {
2044*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Key *arg1 = (marisa_swig::Key *) 0 ;
2045*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
2046*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
2047*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
2048*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
2049*ab8db090SAndroid Build Coastguard Worker 
2050*ab8db090SAndroid Build Coastguard Worker     if ((items < 1) || (items > 1)) {
2051*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: delete_Key(self);");
2052*ab8db090SAndroid Build Coastguard Worker     }
2053*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Key, SWIG_POINTER_DISOWN |  0 );
2054*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
2055*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_Key" "', argument " "1"" of type '" "marisa_swig::Key *""'");
2056*ab8db090SAndroid Build Coastguard Worker     }
2057*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Key * >(argp1);
2058*ab8db090SAndroid Build Coastguard Worker     {
2059*ab8db090SAndroid Build Coastguard Worker       try {
2060*ab8db090SAndroid Build Coastguard Worker         delete arg1;
2061*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
2062*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
2063*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
2064*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
2065*ab8db090SAndroid Build Coastguard Worker       }
2066*ab8db090SAndroid Build Coastguard Worker     }
2067*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = sv_newmortal();
2068*ab8db090SAndroid Build Coastguard Worker 
2069*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
2070*ab8db090SAndroid Build Coastguard Worker   fail:
2071*ab8db090SAndroid Build Coastguard Worker 
2072*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
2073*ab8db090SAndroid Build Coastguard Worker   }
2074*ab8db090SAndroid Build Coastguard Worker }
2075*ab8db090SAndroid Build Coastguard Worker 
2076*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Query_str)2077*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Query_str) {
2078*ab8db090SAndroid Build Coastguard Worker   {
2079*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Query *arg1 = (marisa_swig::Query *) 0 ;
2080*ab8db090SAndroid Build Coastguard Worker     char **arg2 = (char **) 0 ;
2081*ab8db090SAndroid Build Coastguard Worker     std::size_t *arg3 = (std::size_t *) 0 ;
2082*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
2083*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
2084*ab8db090SAndroid Build Coastguard Worker     char *temp2 = 0 ;
2085*ab8db090SAndroid Build Coastguard Worker     std::size_t tempn2 ;
2086*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
2087*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
2088*ab8db090SAndroid Build Coastguard Worker 
2089*ab8db090SAndroid Build Coastguard Worker     arg2 = &temp2; arg3 = &tempn2;
2090*ab8db090SAndroid Build Coastguard Worker     if ((items < 1) || (items > 1)) {
2091*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Query_str(self,length_out);");
2092*ab8db090SAndroid Build Coastguard Worker     }
2093*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Query, 0 |  0 );
2094*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
2095*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Query_str" "', argument " "1"" of type '" "marisa_swig::Query const *""'");
2096*ab8db090SAndroid Build Coastguard Worker     }
2097*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Query * >(argp1);
2098*ab8db090SAndroid Build Coastguard Worker     {
2099*ab8db090SAndroid Build Coastguard Worker       try {
2100*ab8db090SAndroid Build Coastguard Worker         ((marisa_swig::Query const *)arg1)->str((char const **)arg2,arg3);
2101*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
2102*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
2103*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
2104*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
2105*ab8db090SAndroid Build Coastguard Worker       }
2106*ab8db090SAndroid Build Coastguard Worker     }
2107*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = sv_newmortal();
2108*ab8db090SAndroid Build Coastguard Worker     if (*arg2) {
2109*ab8db090SAndroid Build Coastguard Worker       if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_FromCharPtrAndSize(*arg2,*arg3); argvi++  ;
2110*ab8db090SAndroid Build Coastguard Worker       ;
2111*ab8db090SAndroid Build Coastguard Worker     }
2112*ab8db090SAndroid Build Coastguard Worker 
2113*ab8db090SAndroid Build Coastguard Worker 
2114*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
2115*ab8db090SAndroid Build Coastguard Worker   fail:
2116*ab8db090SAndroid Build Coastguard Worker 
2117*ab8db090SAndroid Build Coastguard Worker 
2118*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
2119*ab8db090SAndroid Build Coastguard Worker   }
2120*ab8db090SAndroid Build Coastguard Worker }
2121*ab8db090SAndroid Build Coastguard Worker 
2122*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Query_id)2123*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Query_id) {
2124*ab8db090SAndroid Build Coastguard Worker   {
2125*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Query *arg1 = (marisa_swig::Query *) 0 ;
2126*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
2127*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
2128*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
2129*ab8db090SAndroid Build Coastguard Worker     std::size_t result;
2130*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
2131*ab8db090SAndroid Build Coastguard Worker 
2132*ab8db090SAndroid Build Coastguard Worker     if ((items < 1) || (items > 1)) {
2133*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Query_id(self);");
2134*ab8db090SAndroid Build Coastguard Worker     }
2135*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Query, 0 |  0 );
2136*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
2137*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Query_id" "', argument " "1"" of type '" "marisa_swig::Query const *""'");
2138*ab8db090SAndroid Build Coastguard Worker     }
2139*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Query * >(argp1);
2140*ab8db090SAndroid Build Coastguard Worker     {
2141*ab8db090SAndroid Build Coastguard Worker       try {
2142*ab8db090SAndroid Build Coastguard Worker         result = ((marisa_swig::Query const *)arg1)->id();
2143*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
2144*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
2145*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
2146*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
2147*ab8db090SAndroid Build Coastguard Worker       }
2148*ab8db090SAndroid Build Coastguard Worker     }
2149*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
2150*ab8db090SAndroid Build Coastguard Worker 
2151*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
2152*ab8db090SAndroid Build Coastguard Worker   fail:
2153*ab8db090SAndroid Build Coastguard Worker 
2154*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
2155*ab8db090SAndroid Build Coastguard Worker   }
2156*ab8db090SAndroid Build Coastguard Worker }
2157*ab8db090SAndroid Build Coastguard Worker 
2158*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_delete_Query)2159*ab8db090SAndroid Build Coastguard Worker XS(_wrap_delete_Query) {
2160*ab8db090SAndroid Build Coastguard Worker   {
2161*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Query *arg1 = (marisa_swig::Query *) 0 ;
2162*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
2163*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
2164*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
2165*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
2166*ab8db090SAndroid Build Coastguard Worker 
2167*ab8db090SAndroid Build Coastguard Worker     if ((items < 1) || (items > 1)) {
2168*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: delete_Query(self);");
2169*ab8db090SAndroid Build Coastguard Worker     }
2170*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Query, SWIG_POINTER_DISOWN |  0 );
2171*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
2172*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_Query" "', argument " "1"" of type '" "marisa_swig::Query *""'");
2173*ab8db090SAndroid Build Coastguard Worker     }
2174*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Query * >(argp1);
2175*ab8db090SAndroid Build Coastguard Worker     {
2176*ab8db090SAndroid Build Coastguard Worker       try {
2177*ab8db090SAndroid Build Coastguard Worker         delete arg1;
2178*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
2179*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
2180*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
2181*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
2182*ab8db090SAndroid Build Coastguard Worker       }
2183*ab8db090SAndroid Build Coastguard Worker     }
2184*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = sv_newmortal();
2185*ab8db090SAndroid Build Coastguard Worker 
2186*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
2187*ab8db090SAndroid Build Coastguard Worker   fail:
2188*ab8db090SAndroid Build Coastguard Worker 
2189*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
2190*ab8db090SAndroid Build Coastguard Worker   }
2191*ab8db090SAndroid Build Coastguard Worker }
2192*ab8db090SAndroid Build Coastguard Worker 
2193*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_new_Keyset)2194*ab8db090SAndroid Build Coastguard Worker XS(_wrap_new_Keyset) {
2195*ab8db090SAndroid Build Coastguard Worker   {
2196*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
2197*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Keyset *result = 0 ;
2198*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
2199*ab8db090SAndroid Build Coastguard Worker 
2200*ab8db090SAndroid Build Coastguard Worker     if ((items < 0) || (items > 0)) {
2201*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: new_Keyset();");
2202*ab8db090SAndroid Build Coastguard Worker     }
2203*ab8db090SAndroid Build Coastguard Worker     {
2204*ab8db090SAndroid Build Coastguard Worker       try {
2205*ab8db090SAndroid Build Coastguard Worker         result = (marisa_swig::Keyset *)new marisa_swig::Keyset();
2206*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
2207*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
2208*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
2209*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
2210*ab8db090SAndroid Build Coastguard Worker       }
2211*ab8db090SAndroid Build Coastguard Worker     }
2212*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_marisa_swig__Keyset, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
2213*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
2214*ab8db090SAndroid Build Coastguard Worker   fail:
2215*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
2216*ab8db090SAndroid Build Coastguard Worker   }
2217*ab8db090SAndroid Build Coastguard Worker }
2218*ab8db090SAndroid Build Coastguard Worker 
2219*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_delete_Keyset)2220*ab8db090SAndroid Build Coastguard Worker XS(_wrap_delete_Keyset) {
2221*ab8db090SAndroid Build Coastguard Worker   {
2222*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Keyset *arg1 = (marisa_swig::Keyset *) 0 ;
2223*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
2224*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
2225*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
2226*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
2227*ab8db090SAndroid Build Coastguard Worker 
2228*ab8db090SAndroid Build Coastguard Worker     if ((items < 1) || (items > 1)) {
2229*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: delete_Keyset(self);");
2230*ab8db090SAndroid Build Coastguard Worker     }
2231*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Keyset, SWIG_POINTER_DISOWN |  0 );
2232*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
2233*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_Keyset" "', argument " "1"" of type '" "marisa_swig::Keyset *""'");
2234*ab8db090SAndroid Build Coastguard Worker     }
2235*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Keyset * >(argp1);
2236*ab8db090SAndroid Build Coastguard Worker     {
2237*ab8db090SAndroid Build Coastguard Worker       try {
2238*ab8db090SAndroid Build Coastguard Worker         delete arg1;
2239*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
2240*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
2241*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
2242*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
2243*ab8db090SAndroid Build Coastguard Worker       }
2244*ab8db090SAndroid Build Coastguard Worker     }
2245*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = sv_newmortal();
2246*ab8db090SAndroid Build Coastguard Worker 
2247*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
2248*ab8db090SAndroid Build Coastguard Worker   fail:
2249*ab8db090SAndroid Build Coastguard Worker 
2250*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
2251*ab8db090SAndroid Build Coastguard Worker   }
2252*ab8db090SAndroid Build Coastguard Worker }
2253*ab8db090SAndroid Build Coastguard Worker 
2254*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Keyset_push_back__SWIG_0)2255*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Keyset_push_back__SWIG_0) {
2256*ab8db090SAndroid Build Coastguard Worker   {
2257*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Keyset *arg1 = (marisa_swig::Keyset *) 0 ;
2258*ab8db090SAndroid Build Coastguard Worker     marisa::Key *arg2 = 0 ;
2259*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
2260*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
2261*ab8db090SAndroid Build Coastguard Worker     void *argp2 ;
2262*ab8db090SAndroid Build Coastguard Worker     int res2 = 0 ;
2263*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
2264*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
2265*ab8db090SAndroid Build Coastguard Worker 
2266*ab8db090SAndroid Build Coastguard Worker     if ((items < 2) || (items > 2)) {
2267*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Keyset_push_back(self,key);");
2268*ab8db090SAndroid Build Coastguard Worker     }
2269*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Keyset, 0 |  0 );
2270*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
2271*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Keyset_push_back" "', argument " "1"" of type '" "marisa_swig::Keyset *""'");
2272*ab8db090SAndroid Build Coastguard Worker     }
2273*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Keyset * >(argp1);
2274*ab8db090SAndroid Build Coastguard Worker     res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_marisa__Key,  0 );
2275*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res2)) {
2276*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Keyset_push_back" "', argument " "2"" of type '" "marisa::Key const &""'");
2277*ab8db090SAndroid Build Coastguard Worker     }
2278*ab8db090SAndroid Build Coastguard Worker     if (!argp2) {
2279*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Keyset_push_back" "', argument " "2"" of type '" "marisa::Key const &""'");
2280*ab8db090SAndroid Build Coastguard Worker     }
2281*ab8db090SAndroid Build Coastguard Worker     arg2 = reinterpret_cast< marisa::Key * >(argp2);
2282*ab8db090SAndroid Build Coastguard Worker     {
2283*ab8db090SAndroid Build Coastguard Worker       try {
2284*ab8db090SAndroid Build Coastguard Worker         (arg1)->push_back((marisa::Key const &)*arg2);
2285*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
2286*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
2287*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
2288*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
2289*ab8db090SAndroid Build Coastguard Worker       }
2290*ab8db090SAndroid Build Coastguard Worker     }
2291*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = sv_newmortal();
2292*ab8db090SAndroid Build Coastguard Worker 
2293*ab8db090SAndroid Build Coastguard Worker 
2294*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
2295*ab8db090SAndroid Build Coastguard Worker   fail:
2296*ab8db090SAndroid Build Coastguard Worker 
2297*ab8db090SAndroid Build Coastguard Worker 
2298*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
2299*ab8db090SAndroid Build Coastguard Worker   }
2300*ab8db090SAndroid Build Coastguard Worker }
2301*ab8db090SAndroid Build Coastguard Worker 
2302*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Keyset_push_back__SWIG_1)2303*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Keyset_push_back__SWIG_1) {
2304*ab8db090SAndroid Build Coastguard Worker   {
2305*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Keyset *arg1 = (marisa_swig::Keyset *) 0 ;
2306*ab8db090SAndroid Build Coastguard Worker     char *arg2 = (char *) 0 ;
2307*ab8db090SAndroid Build Coastguard Worker     std::size_t arg3 ;
2308*ab8db090SAndroid Build Coastguard Worker     float arg4 ;
2309*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
2310*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
2311*ab8db090SAndroid Build Coastguard Worker     int res2 ;
2312*ab8db090SAndroid Build Coastguard Worker     char *buf2 = 0 ;
2313*ab8db090SAndroid Build Coastguard Worker     size_t size2 = 0 ;
2314*ab8db090SAndroid Build Coastguard Worker     int alloc2 = 0 ;
2315*ab8db090SAndroid Build Coastguard Worker     float val4 ;
2316*ab8db090SAndroid Build Coastguard Worker     int ecode4 = 0 ;
2317*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
2318*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
2319*ab8db090SAndroid Build Coastguard Worker 
2320*ab8db090SAndroid Build Coastguard Worker     if ((items < 3) || (items > 3)) {
2321*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Keyset_push_back(self,ptr,length,weight);");
2322*ab8db090SAndroid Build Coastguard Worker     }
2323*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Keyset, 0 |  0 );
2324*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
2325*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Keyset_push_back" "', argument " "1"" of type '" "marisa_swig::Keyset *""'");
2326*ab8db090SAndroid Build Coastguard Worker     }
2327*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Keyset * >(argp1);
2328*ab8db090SAndroid Build Coastguard Worker     res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, &size2, &alloc2);
2329*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res2)) {
2330*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Keyset_push_back" "', argument " "2"" of type '" "char const *""'");
2331*ab8db090SAndroid Build Coastguard Worker     }
2332*ab8db090SAndroid Build Coastguard Worker     arg2 = reinterpret_cast< char * >(buf2);
2333*ab8db090SAndroid Build Coastguard Worker     arg3 = static_cast< std::size_t >(size2 - 1);
2334*ab8db090SAndroid Build Coastguard Worker     ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val4);
2335*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(ecode4)) {
2336*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Keyset_push_back" "', argument " "4"" of type '" "float""'");
2337*ab8db090SAndroid Build Coastguard Worker     }
2338*ab8db090SAndroid Build Coastguard Worker     arg4 = static_cast< float >(val4);
2339*ab8db090SAndroid Build Coastguard Worker     {
2340*ab8db090SAndroid Build Coastguard Worker       try {
2341*ab8db090SAndroid Build Coastguard Worker         (arg1)->push_back((char const *)arg2,arg3,arg4);
2342*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
2343*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
2344*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
2345*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
2346*ab8db090SAndroid Build Coastguard Worker       }
2347*ab8db090SAndroid Build Coastguard Worker     }
2348*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = sv_newmortal();
2349*ab8db090SAndroid Build Coastguard Worker 
2350*ab8db090SAndroid Build Coastguard Worker     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
2351*ab8db090SAndroid Build Coastguard Worker 
2352*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
2353*ab8db090SAndroid Build Coastguard Worker   fail:
2354*ab8db090SAndroid Build Coastguard Worker 
2355*ab8db090SAndroid Build Coastguard Worker     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
2356*ab8db090SAndroid Build Coastguard Worker 
2357*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
2358*ab8db090SAndroid Build Coastguard Worker   }
2359*ab8db090SAndroid Build Coastguard Worker }
2360*ab8db090SAndroid Build Coastguard Worker 
2361*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Keyset_push_back__SWIG_2)2362*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Keyset_push_back__SWIG_2) {
2363*ab8db090SAndroid Build Coastguard Worker   {
2364*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Keyset *arg1 = (marisa_swig::Keyset *) 0 ;
2365*ab8db090SAndroid Build Coastguard Worker     char *arg2 = (char *) 0 ;
2366*ab8db090SAndroid Build Coastguard Worker     std::size_t arg3 ;
2367*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
2368*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
2369*ab8db090SAndroid Build Coastguard Worker     int res2 ;
2370*ab8db090SAndroid Build Coastguard Worker     char *buf2 = 0 ;
2371*ab8db090SAndroid Build Coastguard Worker     size_t size2 = 0 ;
2372*ab8db090SAndroid Build Coastguard Worker     int alloc2 = 0 ;
2373*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
2374*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
2375*ab8db090SAndroid Build Coastguard Worker 
2376*ab8db090SAndroid Build Coastguard Worker     if ((items < 2) || (items > 2)) {
2377*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Keyset_push_back(self,ptr,length);");
2378*ab8db090SAndroid Build Coastguard Worker     }
2379*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Keyset, 0 |  0 );
2380*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
2381*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Keyset_push_back" "', argument " "1"" of type '" "marisa_swig::Keyset *""'");
2382*ab8db090SAndroid Build Coastguard Worker     }
2383*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Keyset * >(argp1);
2384*ab8db090SAndroid Build Coastguard Worker     res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, &size2, &alloc2);
2385*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res2)) {
2386*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Keyset_push_back" "', argument " "2"" of type '" "char const *""'");
2387*ab8db090SAndroid Build Coastguard Worker     }
2388*ab8db090SAndroid Build Coastguard Worker     arg2 = reinterpret_cast< char * >(buf2);
2389*ab8db090SAndroid Build Coastguard Worker     arg3 = static_cast< std::size_t >(size2 - 1);
2390*ab8db090SAndroid Build Coastguard Worker     {
2391*ab8db090SAndroid Build Coastguard Worker       try {
2392*ab8db090SAndroid Build Coastguard Worker         (arg1)->push_back((char const *)arg2,arg3);
2393*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
2394*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
2395*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
2396*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
2397*ab8db090SAndroid Build Coastguard Worker       }
2398*ab8db090SAndroid Build Coastguard Worker     }
2399*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = sv_newmortal();
2400*ab8db090SAndroid Build Coastguard Worker 
2401*ab8db090SAndroid Build Coastguard Worker     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
2402*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
2403*ab8db090SAndroid Build Coastguard Worker   fail:
2404*ab8db090SAndroid Build Coastguard Worker 
2405*ab8db090SAndroid Build Coastguard Worker     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
2406*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
2407*ab8db090SAndroid Build Coastguard Worker   }
2408*ab8db090SAndroid Build Coastguard Worker }
2409*ab8db090SAndroid Build Coastguard Worker 
2410*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Keyset_push_back)2411*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Keyset_push_back) {
2412*ab8db090SAndroid Build Coastguard Worker   dXSARGS;
2413*ab8db090SAndroid Build Coastguard Worker 
2414*ab8db090SAndroid Build Coastguard Worker   {
2415*ab8db090SAndroid Build Coastguard Worker     unsigned long _index = 0;
2416*ab8db090SAndroid Build Coastguard Worker     SWIG_TypeRank _rank = 0;
2417*ab8db090SAndroid Build Coastguard Worker     if (items == 2) {
2418*ab8db090SAndroid Build Coastguard Worker       SWIG_TypeRank _ranki = 0;
2419*ab8db090SAndroid Build Coastguard Worker       SWIG_TypeRank _rankm = 0;
2420*ab8db090SAndroid Build Coastguard Worker       SWIG_TypeRank _pi = 1;
2421*ab8db090SAndroid Build Coastguard Worker       int _v = 0;
2422*ab8db090SAndroid Build Coastguard Worker       {
2423*ab8db090SAndroid Build Coastguard Worker         void *vptr = 0;
2424*ab8db090SAndroid Build Coastguard Worker         int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_marisa_swig__Keyset, 0);
2425*ab8db090SAndroid Build Coastguard Worker         _v = SWIG_CheckState(res);
2426*ab8db090SAndroid Build Coastguard Worker       }
2427*ab8db090SAndroid Build Coastguard Worker       if (!_v) goto check_1;
2428*ab8db090SAndroid Build Coastguard Worker       _ranki += _v*_pi;
2429*ab8db090SAndroid Build Coastguard Worker       _rankm += _pi;
2430*ab8db090SAndroid Build Coastguard Worker       _pi *= SWIG_MAXCASTRANK;
2431*ab8db090SAndroid Build Coastguard Worker       {
2432*ab8db090SAndroid Build Coastguard Worker         void *vptr = 0;
2433*ab8db090SAndroid Build Coastguard Worker         int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_marisa__Key, 0);
2434*ab8db090SAndroid Build Coastguard Worker         _v = SWIG_CheckState(res);
2435*ab8db090SAndroid Build Coastguard Worker       }
2436*ab8db090SAndroid Build Coastguard Worker       if (!_v) goto check_1;
2437*ab8db090SAndroid Build Coastguard Worker       _ranki += _v*_pi;
2438*ab8db090SAndroid Build Coastguard Worker       _rankm += _pi;
2439*ab8db090SAndroid Build Coastguard Worker       _pi *= SWIG_MAXCASTRANK;
2440*ab8db090SAndroid Build Coastguard Worker       if (!_index || (_ranki < _rank)) {
2441*ab8db090SAndroid Build Coastguard Worker         _rank = _ranki; _index = 1;
2442*ab8db090SAndroid Build Coastguard Worker         if (_rank == _rankm) goto dispatch;
2443*ab8db090SAndroid Build Coastguard Worker       }
2444*ab8db090SAndroid Build Coastguard Worker     }
2445*ab8db090SAndroid Build Coastguard Worker   check_1:
2446*ab8db090SAndroid Build Coastguard Worker 
2447*ab8db090SAndroid Build Coastguard Worker     if (items == 2) {
2448*ab8db090SAndroid Build Coastguard Worker       SWIG_TypeRank _ranki = 0;
2449*ab8db090SAndroid Build Coastguard Worker       SWIG_TypeRank _rankm = 0;
2450*ab8db090SAndroid Build Coastguard Worker       SWIG_TypeRank _pi = 1;
2451*ab8db090SAndroid Build Coastguard Worker       int _v = 0;
2452*ab8db090SAndroid Build Coastguard Worker       {
2453*ab8db090SAndroid Build Coastguard Worker         void *vptr = 0;
2454*ab8db090SAndroid Build Coastguard Worker         int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_marisa_swig__Keyset, 0);
2455*ab8db090SAndroid Build Coastguard Worker         _v = SWIG_CheckState(res);
2456*ab8db090SAndroid Build Coastguard Worker       }
2457*ab8db090SAndroid Build Coastguard Worker       if (!_v) goto check_2;
2458*ab8db090SAndroid Build Coastguard Worker       _ranki += _v*_pi;
2459*ab8db090SAndroid Build Coastguard Worker       _rankm += _pi;
2460*ab8db090SAndroid Build Coastguard Worker       _pi *= SWIG_MAXCASTRANK;
2461*ab8db090SAndroid Build Coastguard Worker       {
2462*ab8db090SAndroid Build Coastguard Worker         int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
2463*ab8db090SAndroid Build Coastguard Worker         _v = SWIG_CheckState(res);
2464*ab8db090SAndroid Build Coastguard Worker       }
2465*ab8db090SAndroid Build Coastguard Worker       if (!_v) goto check_2;
2466*ab8db090SAndroid Build Coastguard Worker       _ranki += _v*_pi;
2467*ab8db090SAndroid Build Coastguard Worker       _rankm += _pi;
2468*ab8db090SAndroid Build Coastguard Worker       _pi *= SWIG_MAXCASTRANK;
2469*ab8db090SAndroid Build Coastguard Worker       if (items > 2) {
2470*ab8db090SAndroid Build Coastguard Worker         {
2471*ab8db090SAndroid Build Coastguard Worker           {
2472*ab8db090SAndroid Build Coastguard Worker             int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
2473*ab8db090SAndroid Build Coastguard Worker             _v = SWIG_CheckState(res);
2474*ab8db090SAndroid Build Coastguard Worker           }
2475*ab8db090SAndroid Build Coastguard Worker         }
2476*ab8db090SAndroid Build Coastguard Worker         if (!_v) goto check_2;
2477*ab8db090SAndroid Build Coastguard Worker         _ranki += _v*_pi;
2478*ab8db090SAndroid Build Coastguard Worker         _rankm += _pi;
2479*ab8db090SAndroid Build Coastguard Worker         _pi *= SWIG_MAXCASTRANK;
2480*ab8db090SAndroid Build Coastguard Worker       }
2481*ab8db090SAndroid Build Coastguard Worker       if (!_index || (_ranki < _rank)) {
2482*ab8db090SAndroid Build Coastguard Worker         _rank = _ranki; _index = 2;
2483*ab8db090SAndroid Build Coastguard Worker         if (_rank == _rankm) goto dispatch;
2484*ab8db090SAndroid Build Coastguard Worker       }
2485*ab8db090SAndroid Build Coastguard Worker     }
2486*ab8db090SAndroid Build Coastguard Worker   check_2:
2487*ab8db090SAndroid Build Coastguard Worker 
2488*ab8db090SAndroid Build Coastguard Worker     if (items == 3) {
2489*ab8db090SAndroid Build Coastguard Worker       SWIG_TypeRank _ranki = 0;
2490*ab8db090SAndroid Build Coastguard Worker       SWIG_TypeRank _rankm = 0;
2491*ab8db090SAndroid Build Coastguard Worker       SWIG_TypeRank _pi = 1;
2492*ab8db090SAndroid Build Coastguard Worker       int _v = 0;
2493*ab8db090SAndroid Build Coastguard Worker       {
2494*ab8db090SAndroid Build Coastguard Worker         void *vptr = 0;
2495*ab8db090SAndroid Build Coastguard Worker         int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_marisa_swig__Keyset, 0);
2496*ab8db090SAndroid Build Coastguard Worker         _v = SWIG_CheckState(res);
2497*ab8db090SAndroid Build Coastguard Worker       }
2498*ab8db090SAndroid Build Coastguard Worker       if (!_v) goto check_3;
2499*ab8db090SAndroid Build Coastguard Worker       _ranki += _v*_pi;
2500*ab8db090SAndroid Build Coastguard Worker       _rankm += _pi;
2501*ab8db090SAndroid Build Coastguard Worker       _pi *= SWIG_MAXCASTRANK;
2502*ab8db090SAndroid Build Coastguard Worker       {
2503*ab8db090SAndroid Build Coastguard Worker         int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
2504*ab8db090SAndroid Build Coastguard Worker         _v = SWIG_CheckState(res);
2505*ab8db090SAndroid Build Coastguard Worker       }
2506*ab8db090SAndroid Build Coastguard Worker       if (!_v) goto check_3;
2507*ab8db090SAndroid Build Coastguard Worker       _ranki += _v*_pi;
2508*ab8db090SAndroid Build Coastguard Worker       _rankm += _pi;
2509*ab8db090SAndroid Build Coastguard Worker       _pi *= SWIG_MAXCASTRANK;
2510*ab8db090SAndroid Build Coastguard Worker       {
2511*ab8db090SAndroid Build Coastguard Worker         {
2512*ab8db090SAndroid Build Coastguard Worker           int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
2513*ab8db090SAndroid Build Coastguard Worker           _v = SWIG_CheckState(res);
2514*ab8db090SAndroid Build Coastguard Worker         }
2515*ab8db090SAndroid Build Coastguard Worker       }
2516*ab8db090SAndroid Build Coastguard Worker       if (!_v) goto check_3;
2517*ab8db090SAndroid Build Coastguard Worker       _ranki += _v*_pi;
2518*ab8db090SAndroid Build Coastguard Worker       _rankm += _pi;
2519*ab8db090SAndroid Build Coastguard Worker       _pi *= SWIG_MAXCASTRANK;
2520*ab8db090SAndroid Build Coastguard Worker       if (!_index || (_ranki < _rank)) {
2521*ab8db090SAndroid Build Coastguard Worker         _rank = _ranki; _index = 3;
2522*ab8db090SAndroid Build Coastguard Worker         if (_rank == _rankm) goto dispatch;
2523*ab8db090SAndroid Build Coastguard Worker       }
2524*ab8db090SAndroid Build Coastguard Worker     }
2525*ab8db090SAndroid Build Coastguard Worker   check_3:
2526*ab8db090SAndroid Build Coastguard Worker 
2527*ab8db090SAndroid Build Coastguard Worker   dispatch:
2528*ab8db090SAndroid Build Coastguard Worker     switch(_index) {
2529*ab8db090SAndroid Build Coastguard Worker     case 1:
2530*ab8db090SAndroid Build Coastguard Worker       ++PL_markstack_ptr; SWIG_CALLXS(_wrap_Keyset_push_back__SWIG_0); return;
2531*ab8db090SAndroid Build Coastguard Worker     case 2:
2532*ab8db090SAndroid Build Coastguard Worker       ++PL_markstack_ptr; SWIG_CALLXS(_wrap_Keyset_push_back__SWIG_2); return;
2533*ab8db090SAndroid Build Coastguard Worker     case 3:
2534*ab8db090SAndroid Build Coastguard Worker       ++PL_markstack_ptr; SWIG_CALLXS(_wrap_Keyset_push_back__SWIG_1); return;
2535*ab8db090SAndroid Build Coastguard Worker     }
2536*ab8db090SAndroid Build Coastguard Worker   }
2537*ab8db090SAndroid Build Coastguard Worker 
2538*ab8db090SAndroid Build Coastguard Worker   croak("No matching function for overloaded 'Keyset_push_back'");
2539*ab8db090SAndroid Build Coastguard Worker   XSRETURN(0);
2540*ab8db090SAndroid Build Coastguard Worker }
2541*ab8db090SAndroid Build Coastguard Worker 
2542*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Keyset_key)2543*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Keyset_key) {
2544*ab8db090SAndroid Build Coastguard Worker   {
2545*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Keyset *arg1 = (marisa_swig::Keyset *) 0 ;
2546*ab8db090SAndroid Build Coastguard Worker     std::size_t arg2 ;
2547*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
2548*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
2549*ab8db090SAndroid Build Coastguard Worker     size_t val2 ;
2550*ab8db090SAndroid Build Coastguard Worker     int ecode2 = 0 ;
2551*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
2552*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Key *result = 0 ;
2553*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
2554*ab8db090SAndroid Build Coastguard Worker 
2555*ab8db090SAndroid Build Coastguard Worker     if ((items < 2) || (items > 2)) {
2556*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Keyset_key(self,i);");
2557*ab8db090SAndroid Build Coastguard Worker     }
2558*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Keyset, 0 |  0 );
2559*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
2560*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Keyset_key" "', argument " "1"" of type '" "marisa_swig::Keyset const *""'");
2561*ab8db090SAndroid Build Coastguard Worker     }
2562*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Keyset * >(argp1);
2563*ab8db090SAndroid Build Coastguard Worker     ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
2564*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(ecode2)) {
2565*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Keyset_key" "', argument " "2"" of type '" "std::size_t""'");
2566*ab8db090SAndroid Build Coastguard Worker     }
2567*ab8db090SAndroid Build Coastguard Worker     arg2 = static_cast< std::size_t >(val2);
2568*ab8db090SAndroid Build Coastguard Worker     {
2569*ab8db090SAndroid Build Coastguard Worker       try {
2570*ab8db090SAndroid Build Coastguard Worker         result = (marisa_swig::Key *) &((marisa_swig::Keyset const *)arg1)->key(arg2);
2571*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
2572*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
2573*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
2574*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
2575*ab8db090SAndroid Build Coastguard Worker       }
2576*ab8db090SAndroid Build Coastguard Worker     }
2577*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_marisa_swig__Key, 0 | SWIG_SHADOW); argvi++ ;
2578*ab8db090SAndroid Build Coastguard Worker 
2579*ab8db090SAndroid Build Coastguard Worker 
2580*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
2581*ab8db090SAndroid Build Coastguard Worker   fail:
2582*ab8db090SAndroid Build Coastguard Worker 
2583*ab8db090SAndroid Build Coastguard Worker 
2584*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
2585*ab8db090SAndroid Build Coastguard Worker   }
2586*ab8db090SAndroid Build Coastguard Worker }
2587*ab8db090SAndroid Build Coastguard Worker 
2588*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Keyset_key_str)2589*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Keyset_key_str) {
2590*ab8db090SAndroid Build Coastguard Worker   {
2591*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Keyset *arg1 = (marisa_swig::Keyset *) 0 ;
2592*ab8db090SAndroid Build Coastguard Worker     std::size_t arg2 ;
2593*ab8db090SAndroid Build Coastguard Worker     char **arg3 = (char **) 0 ;
2594*ab8db090SAndroid Build Coastguard Worker     std::size_t *arg4 = (std::size_t *) 0 ;
2595*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
2596*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
2597*ab8db090SAndroid Build Coastguard Worker     size_t val2 ;
2598*ab8db090SAndroid Build Coastguard Worker     int ecode2 = 0 ;
2599*ab8db090SAndroid Build Coastguard Worker     char *temp3 = 0 ;
2600*ab8db090SAndroid Build Coastguard Worker     std::size_t tempn3 ;
2601*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
2602*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
2603*ab8db090SAndroid Build Coastguard Worker 
2604*ab8db090SAndroid Build Coastguard Worker     arg3 = &temp3; arg4 = &tempn3;
2605*ab8db090SAndroid Build Coastguard Worker     if ((items < 2) || (items > 2)) {
2606*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Keyset_key_str(self,i,length_out);");
2607*ab8db090SAndroid Build Coastguard Worker     }
2608*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Keyset, 0 |  0 );
2609*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
2610*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Keyset_key_str" "', argument " "1"" of type '" "marisa_swig::Keyset const *""'");
2611*ab8db090SAndroid Build Coastguard Worker     }
2612*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Keyset * >(argp1);
2613*ab8db090SAndroid Build Coastguard Worker     ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
2614*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(ecode2)) {
2615*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Keyset_key_str" "', argument " "2"" of type '" "std::size_t""'");
2616*ab8db090SAndroid Build Coastguard Worker     }
2617*ab8db090SAndroid Build Coastguard Worker     arg2 = static_cast< std::size_t >(val2);
2618*ab8db090SAndroid Build Coastguard Worker     {
2619*ab8db090SAndroid Build Coastguard Worker       try {
2620*ab8db090SAndroid Build Coastguard Worker         ((marisa_swig::Keyset const *)arg1)->key_str(arg2,(char const **)arg3,arg4);
2621*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
2622*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
2623*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
2624*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
2625*ab8db090SAndroid Build Coastguard Worker       }
2626*ab8db090SAndroid Build Coastguard Worker     }
2627*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = sv_newmortal();
2628*ab8db090SAndroid Build Coastguard Worker     if (*arg3) {
2629*ab8db090SAndroid Build Coastguard Worker       if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_FromCharPtrAndSize(*arg3,*arg4); argvi++  ;
2630*ab8db090SAndroid Build Coastguard Worker       ;
2631*ab8db090SAndroid Build Coastguard Worker     }
2632*ab8db090SAndroid Build Coastguard Worker 
2633*ab8db090SAndroid Build Coastguard Worker 
2634*ab8db090SAndroid Build Coastguard Worker 
2635*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
2636*ab8db090SAndroid Build Coastguard Worker   fail:
2637*ab8db090SAndroid Build Coastguard Worker 
2638*ab8db090SAndroid Build Coastguard Worker 
2639*ab8db090SAndroid Build Coastguard Worker 
2640*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
2641*ab8db090SAndroid Build Coastguard Worker   }
2642*ab8db090SAndroid Build Coastguard Worker }
2643*ab8db090SAndroid Build Coastguard Worker 
2644*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Keyset_key_id)2645*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Keyset_key_id) {
2646*ab8db090SAndroid Build Coastguard Worker   {
2647*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Keyset *arg1 = (marisa_swig::Keyset *) 0 ;
2648*ab8db090SAndroid Build Coastguard Worker     std::size_t arg2 ;
2649*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
2650*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
2651*ab8db090SAndroid Build Coastguard Worker     size_t val2 ;
2652*ab8db090SAndroid Build Coastguard Worker     int ecode2 = 0 ;
2653*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
2654*ab8db090SAndroid Build Coastguard Worker     std::size_t result;
2655*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
2656*ab8db090SAndroid Build Coastguard Worker 
2657*ab8db090SAndroid Build Coastguard Worker     if ((items < 2) || (items > 2)) {
2658*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Keyset_key_id(self,i);");
2659*ab8db090SAndroid Build Coastguard Worker     }
2660*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Keyset, 0 |  0 );
2661*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
2662*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Keyset_key_id" "', argument " "1"" of type '" "marisa_swig::Keyset const *""'");
2663*ab8db090SAndroid Build Coastguard Worker     }
2664*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Keyset * >(argp1);
2665*ab8db090SAndroid Build Coastguard Worker     ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
2666*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(ecode2)) {
2667*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Keyset_key_id" "', argument " "2"" of type '" "std::size_t""'");
2668*ab8db090SAndroid Build Coastguard Worker     }
2669*ab8db090SAndroid Build Coastguard Worker     arg2 = static_cast< std::size_t >(val2);
2670*ab8db090SAndroid Build Coastguard Worker     {
2671*ab8db090SAndroid Build Coastguard Worker       try {
2672*ab8db090SAndroid Build Coastguard Worker         result = ((marisa_swig::Keyset const *)arg1)->key_id(arg2);
2673*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
2674*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
2675*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
2676*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
2677*ab8db090SAndroid Build Coastguard Worker       }
2678*ab8db090SAndroid Build Coastguard Worker     }
2679*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
2680*ab8db090SAndroid Build Coastguard Worker 
2681*ab8db090SAndroid Build Coastguard Worker 
2682*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
2683*ab8db090SAndroid Build Coastguard Worker   fail:
2684*ab8db090SAndroid Build Coastguard Worker 
2685*ab8db090SAndroid Build Coastguard Worker 
2686*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
2687*ab8db090SAndroid Build Coastguard Worker   }
2688*ab8db090SAndroid Build Coastguard Worker }
2689*ab8db090SAndroid Build Coastguard Worker 
2690*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Keyset_num_keys)2691*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Keyset_num_keys) {
2692*ab8db090SAndroid Build Coastguard Worker   {
2693*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Keyset *arg1 = (marisa_swig::Keyset *) 0 ;
2694*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
2695*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
2696*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
2697*ab8db090SAndroid Build Coastguard Worker     std::size_t result;
2698*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
2699*ab8db090SAndroid Build Coastguard Worker 
2700*ab8db090SAndroid Build Coastguard Worker     if ((items < 1) || (items > 1)) {
2701*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Keyset_num_keys(self);");
2702*ab8db090SAndroid Build Coastguard Worker     }
2703*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Keyset, 0 |  0 );
2704*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
2705*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Keyset_num_keys" "', argument " "1"" of type '" "marisa_swig::Keyset const *""'");
2706*ab8db090SAndroid Build Coastguard Worker     }
2707*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Keyset * >(argp1);
2708*ab8db090SAndroid Build Coastguard Worker     {
2709*ab8db090SAndroid Build Coastguard Worker       try {
2710*ab8db090SAndroid Build Coastguard Worker         result = ((marisa_swig::Keyset const *)arg1)->num_keys();
2711*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
2712*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
2713*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
2714*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
2715*ab8db090SAndroid Build Coastguard Worker       }
2716*ab8db090SAndroid Build Coastguard Worker     }
2717*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
2718*ab8db090SAndroid Build Coastguard Worker 
2719*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
2720*ab8db090SAndroid Build Coastguard Worker   fail:
2721*ab8db090SAndroid Build Coastguard Worker 
2722*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
2723*ab8db090SAndroid Build Coastguard Worker   }
2724*ab8db090SAndroid Build Coastguard Worker }
2725*ab8db090SAndroid Build Coastguard Worker 
2726*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Keyset_empty)2727*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Keyset_empty) {
2728*ab8db090SAndroid Build Coastguard Worker   {
2729*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Keyset *arg1 = (marisa_swig::Keyset *) 0 ;
2730*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
2731*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
2732*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
2733*ab8db090SAndroid Build Coastguard Worker     bool result;
2734*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
2735*ab8db090SAndroid Build Coastguard Worker 
2736*ab8db090SAndroid Build Coastguard Worker     if ((items < 1) || (items > 1)) {
2737*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Keyset_empty(self);");
2738*ab8db090SAndroid Build Coastguard Worker     }
2739*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Keyset, 0 |  0 );
2740*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
2741*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Keyset_empty" "', argument " "1"" of type '" "marisa_swig::Keyset const *""'");
2742*ab8db090SAndroid Build Coastguard Worker     }
2743*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Keyset * >(argp1);
2744*ab8db090SAndroid Build Coastguard Worker     {
2745*ab8db090SAndroid Build Coastguard Worker       try {
2746*ab8db090SAndroid Build Coastguard Worker         result = (bool)((marisa_swig::Keyset const *)arg1)->empty();
2747*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
2748*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
2749*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
2750*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
2751*ab8db090SAndroid Build Coastguard Worker       }
2752*ab8db090SAndroid Build Coastguard Worker     }
2753*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
2754*ab8db090SAndroid Build Coastguard Worker 
2755*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
2756*ab8db090SAndroid Build Coastguard Worker   fail:
2757*ab8db090SAndroid Build Coastguard Worker 
2758*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
2759*ab8db090SAndroid Build Coastguard Worker   }
2760*ab8db090SAndroid Build Coastguard Worker }
2761*ab8db090SAndroid Build Coastguard Worker 
2762*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Keyset_size)2763*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Keyset_size) {
2764*ab8db090SAndroid Build Coastguard Worker   {
2765*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Keyset *arg1 = (marisa_swig::Keyset *) 0 ;
2766*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
2767*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
2768*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
2769*ab8db090SAndroid Build Coastguard Worker     std::size_t result;
2770*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
2771*ab8db090SAndroid Build Coastguard Worker 
2772*ab8db090SAndroid Build Coastguard Worker     if ((items < 1) || (items > 1)) {
2773*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Keyset_size(self);");
2774*ab8db090SAndroid Build Coastguard Worker     }
2775*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Keyset, 0 |  0 );
2776*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
2777*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Keyset_size" "', argument " "1"" of type '" "marisa_swig::Keyset const *""'");
2778*ab8db090SAndroid Build Coastguard Worker     }
2779*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Keyset * >(argp1);
2780*ab8db090SAndroid Build Coastguard Worker     {
2781*ab8db090SAndroid Build Coastguard Worker       try {
2782*ab8db090SAndroid Build Coastguard Worker         result = ((marisa_swig::Keyset const *)arg1)->size();
2783*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
2784*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
2785*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
2786*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
2787*ab8db090SAndroid Build Coastguard Worker       }
2788*ab8db090SAndroid Build Coastguard Worker     }
2789*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
2790*ab8db090SAndroid Build Coastguard Worker 
2791*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
2792*ab8db090SAndroid Build Coastguard Worker   fail:
2793*ab8db090SAndroid Build Coastguard Worker 
2794*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
2795*ab8db090SAndroid Build Coastguard Worker   }
2796*ab8db090SAndroid Build Coastguard Worker }
2797*ab8db090SAndroid Build Coastguard Worker 
2798*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Keyset_total_length)2799*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Keyset_total_length) {
2800*ab8db090SAndroid Build Coastguard Worker   {
2801*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Keyset *arg1 = (marisa_swig::Keyset *) 0 ;
2802*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
2803*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
2804*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
2805*ab8db090SAndroid Build Coastguard Worker     std::size_t result;
2806*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
2807*ab8db090SAndroid Build Coastguard Worker 
2808*ab8db090SAndroid Build Coastguard Worker     if ((items < 1) || (items > 1)) {
2809*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Keyset_total_length(self);");
2810*ab8db090SAndroid Build Coastguard Worker     }
2811*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Keyset, 0 |  0 );
2812*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
2813*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Keyset_total_length" "', argument " "1"" of type '" "marisa_swig::Keyset const *""'");
2814*ab8db090SAndroid Build Coastguard Worker     }
2815*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Keyset * >(argp1);
2816*ab8db090SAndroid Build Coastguard Worker     {
2817*ab8db090SAndroid Build Coastguard Worker       try {
2818*ab8db090SAndroid Build Coastguard Worker         result = ((marisa_swig::Keyset const *)arg1)->total_length();
2819*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
2820*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
2821*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
2822*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
2823*ab8db090SAndroid Build Coastguard Worker       }
2824*ab8db090SAndroid Build Coastguard Worker     }
2825*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
2826*ab8db090SAndroid Build Coastguard Worker 
2827*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
2828*ab8db090SAndroid Build Coastguard Worker   fail:
2829*ab8db090SAndroid Build Coastguard Worker 
2830*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
2831*ab8db090SAndroid Build Coastguard Worker   }
2832*ab8db090SAndroid Build Coastguard Worker }
2833*ab8db090SAndroid Build Coastguard Worker 
2834*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Keyset_reset)2835*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Keyset_reset) {
2836*ab8db090SAndroid Build Coastguard Worker   {
2837*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Keyset *arg1 = (marisa_swig::Keyset *) 0 ;
2838*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
2839*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
2840*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
2841*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
2842*ab8db090SAndroid Build Coastguard Worker 
2843*ab8db090SAndroid Build Coastguard Worker     if ((items < 1) || (items > 1)) {
2844*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Keyset_reset(self);");
2845*ab8db090SAndroid Build Coastguard Worker     }
2846*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Keyset, 0 |  0 );
2847*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
2848*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Keyset_reset" "', argument " "1"" of type '" "marisa_swig::Keyset *""'");
2849*ab8db090SAndroid Build Coastguard Worker     }
2850*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Keyset * >(argp1);
2851*ab8db090SAndroid Build Coastguard Worker     {
2852*ab8db090SAndroid Build Coastguard Worker       try {
2853*ab8db090SAndroid Build Coastguard Worker         (arg1)->reset();
2854*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
2855*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
2856*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
2857*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
2858*ab8db090SAndroid Build Coastguard Worker       }
2859*ab8db090SAndroid Build Coastguard Worker     }
2860*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = sv_newmortal();
2861*ab8db090SAndroid Build Coastguard Worker 
2862*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
2863*ab8db090SAndroid Build Coastguard Worker   fail:
2864*ab8db090SAndroid Build Coastguard Worker 
2865*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
2866*ab8db090SAndroid Build Coastguard Worker   }
2867*ab8db090SAndroid Build Coastguard Worker }
2868*ab8db090SAndroid Build Coastguard Worker 
2869*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Keyset_clear)2870*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Keyset_clear) {
2871*ab8db090SAndroid Build Coastguard Worker   {
2872*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Keyset *arg1 = (marisa_swig::Keyset *) 0 ;
2873*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
2874*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
2875*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
2876*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
2877*ab8db090SAndroid Build Coastguard Worker 
2878*ab8db090SAndroid Build Coastguard Worker     if ((items < 1) || (items > 1)) {
2879*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Keyset_clear(self);");
2880*ab8db090SAndroid Build Coastguard Worker     }
2881*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Keyset, 0 |  0 );
2882*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
2883*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Keyset_clear" "', argument " "1"" of type '" "marisa_swig::Keyset *""'");
2884*ab8db090SAndroid Build Coastguard Worker     }
2885*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Keyset * >(argp1);
2886*ab8db090SAndroid Build Coastguard Worker     {
2887*ab8db090SAndroid Build Coastguard Worker       try {
2888*ab8db090SAndroid Build Coastguard Worker         (arg1)->clear();
2889*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
2890*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
2891*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
2892*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
2893*ab8db090SAndroid Build Coastguard Worker       }
2894*ab8db090SAndroid Build Coastguard Worker     }
2895*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = sv_newmortal();
2896*ab8db090SAndroid Build Coastguard Worker 
2897*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
2898*ab8db090SAndroid Build Coastguard Worker   fail:
2899*ab8db090SAndroid Build Coastguard Worker 
2900*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
2901*ab8db090SAndroid Build Coastguard Worker   }
2902*ab8db090SAndroid Build Coastguard Worker }
2903*ab8db090SAndroid Build Coastguard Worker 
2904*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_new_Agent)2905*ab8db090SAndroid Build Coastguard Worker XS(_wrap_new_Agent) {
2906*ab8db090SAndroid Build Coastguard Worker   {
2907*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
2908*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Agent *result = 0 ;
2909*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
2910*ab8db090SAndroid Build Coastguard Worker 
2911*ab8db090SAndroid Build Coastguard Worker     if ((items < 0) || (items > 0)) {
2912*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: new_Agent();");
2913*ab8db090SAndroid Build Coastguard Worker     }
2914*ab8db090SAndroid Build Coastguard Worker     {
2915*ab8db090SAndroid Build Coastguard Worker       try {
2916*ab8db090SAndroid Build Coastguard Worker         result = (marisa_swig::Agent *)new marisa_swig::Agent();
2917*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
2918*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
2919*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
2920*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
2921*ab8db090SAndroid Build Coastguard Worker       }
2922*ab8db090SAndroid Build Coastguard Worker     }
2923*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_marisa_swig__Agent, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
2924*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
2925*ab8db090SAndroid Build Coastguard Worker   fail:
2926*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
2927*ab8db090SAndroid Build Coastguard Worker   }
2928*ab8db090SAndroid Build Coastguard Worker }
2929*ab8db090SAndroid Build Coastguard Worker 
2930*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_delete_Agent)2931*ab8db090SAndroid Build Coastguard Worker XS(_wrap_delete_Agent) {
2932*ab8db090SAndroid Build Coastguard Worker   {
2933*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Agent *arg1 = (marisa_swig::Agent *) 0 ;
2934*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
2935*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
2936*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
2937*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
2938*ab8db090SAndroid Build Coastguard Worker 
2939*ab8db090SAndroid Build Coastguard Worker     if ((items < 1) || (items > 1)) {
2940*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: delete_Agent(self);");
2941*ab8db090SAndroid Build Coastguard Worker     }
2942*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Agent, SWIG_POINTER_DISOWN |  0 );
2943*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
2944*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_Agent" "', argument " "1"" of type '" "marisa_swig::Agent *""'");
2945*ab8db090SAndroid Build Coastguard Worker     }
2946*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Agent * >(argp1);
2947*ab8db090SAndroid Build Coastguard Worker     {
2948*ab8db090SAndroid Build Coastguard Worker       try {
2949*ab8db090SAndroid Build Coastguard Worker         delete arg1;
2950*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
2951*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
2952*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
2953*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
2954*ab8db090SAndroid Build Coastguard Worker       }
2955*ab8db090SAndroid Build Coastguard Worker     }
2956*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = sv_newmortal();
2957*ab8db090SAndroid Build Coastguard Worker 
2958*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
2959*ab8db090SAndroid Build Coastguard Worker   fail:
2960*ab8db090SAndroid Build Coastguard Worker 
2961*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
2962*ab8db090SAndroid Build Coastguard Worker   }
2963*ab8db090SAndroid Build Coastguard Worker }
2964*ab8db090SAndroid Build Coastguard Worker 
2965*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Agent_set_query__SWIG_0)2966*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Agent_set_query__SWIG_0) {
2967*ab8db090SAndroid Build Coastguard Worker   {
2968*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Agent *arg1 = (marisa_swig::Agent *) 0 ;
2969*ab8db090SAndroid Build Coastguard Worker     char *arg2 = (char *) 0 ;
2970*ab8db090SAndroid Build Coastguard Worker     std::size_t arg3 ;
2971*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
2972*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
2973*ab8db090SAndroid Build Coastguard Worker     int res2 ;
2974*ab8db090SAndroid Build Coastguard Worker     char *buf2 = 0 ;
2975*ab8db090SAndroid Build Coastguard Worker     size_t size2 = 0 ;
2976*ab8db090SAndroid Build Coastguard Worker     int alloc2 = 0 ;
2977*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
2978*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
2979*ab8db090SAndroid Build Coastguard Worker 
2980*ab8db090SAndroid Build Coastguard Worker     if ((items < 2) || (items > 2)) {
2981*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Agent_set_query(self,ptr,length);");
2982*ab8db090SAndroid Build Coastguard Worker     }
2983*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Agent, 0 |  0 );
2984*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
2985*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Agent_set_query" "', argument " "1"" of type '" "marisa_swig::Agent *""'");
2986*ab8db090SAndroid Build Coastguard Worker     }
2987*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Agent * >(argp1);
2988*ab8db090SAndroid Build Coastguard Worker     res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, &size2, &alloc2);
2989*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res2)) {
2990*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Agent_set_query" "', argument " "2"" of type '" "char const *""'");
2991*ab8db090SAndroid Build Coastguard Worker     }
2992*ab8db090SAndroid Build Coastguard Worker     arg2 = reinterpret_cast< char * >(buf2);
2993*ab8db090SAndroid Build Coastguard Worker     arg3 = static_cast< std::size_t >(size2 - 1);
2994*ab8db090SAndroid Build Coastguard Worker     {
2995*ab8db090SAndroid Build Coastguard Worker       try {
2996*ab8db090SAndroid Build Coastguard Worker         (arg1)->set_query((char const *)arg2,arg3);
2997*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
2998*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
2999*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
3000*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
3001*ab8db090SAndroid Build Coastguard Worker       }
3002*ab8db090SAndroid Build Coastguard Worker     }
3003*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = sv_newmortal();
3004*ab8db090SAndroid Build Coastguard Worker 
3005*ab8db090SAndroid Build Coastguard Worker     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
3006*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
3007*ab8db090SAndroid Build Coastguard Worker   fail:
3008*ab8db090SAndroid Build Coastguard Worker 
3009*ab8db090SAndroid Build Coastguard Worker     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
3010*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
3011*ab8db090SAndroid Build Coastguard Worker   }
3012*ab8db090SAndroid Build Coastguard Worker }
3013*ab8db090SAndroid Build Coastguard Worker 
3014*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Agent_set_query__SWIG_1)3015*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Agent_set_query__SWIG_1) {
3016*ab8db090SAndroid Build Coastguard Worker   {
3017*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Agent *arg1 = (marisa_swig::Agent *) 0 ;
3018*ab8db090SAndroid Build Coastguard Worker     std::size_t arg2 ;
3019*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
3020*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
3021*ab8db090SAndroid Build Coastguard Worker     size_t val2 ;
3022*ab8db090SAndroid Build Coastguard Worker     int ecode2 = 0 ;
3023*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
3024*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
3025*ab8db090SAndroid Build Coastguard Worker 
3026*ab8db090SAndroid Build Coastguard Worker     if ((items < 2) || (items > 2)) {
3027*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Agent_set_query(self,id);");
3028*ab8db090SAndroid Build Coastguard Worker     }
3029*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Agent, 0 |  0 );
3030*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
3031*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Agent_set_query" "', argument " "1"" of type '" "marisa_swig::Agent *""'");
3032*ab8db090SAndroid Build Coastguard Worker     }
3033*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Agent * >(argp1);
3034*ab8db090SAndroid Build Coastguard Worker     ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
3035*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(ecode2)) {
3036*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Agent_set_query" "', argument " "2"" of type '" "std::size_t""'");
3037*ab8db090SAndroid Build Coastguard Worker     }
3038*ab8db090SAndroid Build Coastguard Worker     arg2 = static_cast< std::size_t >(val2);
3039*ab8db090SAndroid Build Coastguard Worker     {
3040*ab8db090SAndroid Build Coastguard Worker       try {
3041*ab8db090SAndroid Build Coastguard Worker         (arg1)->set_query(arg2);
3042*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
3043*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
3044*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
3045*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
3046*ab8db090SAndroid Build Coastguard Worker       }
3047*ab8db090SAndroid Build Coastguard Worker     }
3048*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = sv_newmortal();
3049*ab8db090SAndroid Build Coastguard Worker 
3050*ab8db090SAndroid Build Coastguard Worker 
3051*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
3052*ab8db090SAndroid Build Coastguard Worker   fail:
3053*ab8db090SAndroid Build Coastguard Worker 
3054*ab8db090SAndroid Build Coastguard Worker 
3055*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
3056*ab8db090SAndroid Build Coastguard Worker   }
3057*ab8db090SAndroid Build Coastguard Worker }
3058*ab8db090SAndroid Build Coastguard Worker 
3059*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Agent_set_query)3060*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Agent_set_query) {
3061*ab8db090SAndroid Build Coastguard Worker   dXSARGS;
3062*ab8db090SAndroid Build Coastguard Worker 
3063*ab8db090SAndroid Build Coastguard Worker   {
3064*ab8db090SAndroid Build Coastguard Worker     unsigned long _index = 0;
3065*ab8db090SAndroid Build Coastguard Worker     SWIG_TypeRank _rank = 0;
3066*ab8db090SAndroid Build Coastguard Worker     if (items == 2) {
3067*ab8db090SAndroid Build Coastguard Worker       SWIG_TypeRank _ranki = 0;
3068*ab8db090SAndroid Build Coastguard Worker       SWIG_TypeRank _rankm = 0;
3069*ab8db090SAndroid Build Coastguard Worker       SWIG_TypeRank _pi = 1;
3070*ab8db090SAndroid Build Coastguard Worker       int _v = 0;
3071*ab8db090SAndroid Build Coastguard Worker       {
3072*ab8db090SAndroid Build Coastguard Worker         void *vptr = 0;
3073*ab8db090SAndroid Build Coastguard Worker         int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_marisa_swig__Agent, 0);
3074*ab8db090SAndroid Build Coastguard Worker         _v = SWIG_CheckState(res);
3075*ab8db090SAndroid Build Coastguard Worker       }
3076*ab8db090SAndroid Build Coastguard Worker       if (!_v) goto check_1;
3077*ab8db090SAndroid Build Coastguard Worker       _ranki += _v*_pi;
3078*ab8db090SAndroid Build Coastguard Worker       _rankm += _pi;
3079*ab8db090SAndroid Build Coastguard Worker       _pi *= SWIG_MAXCASTRANK;
3080*ab8db090SAndroid Build Coastguard Worker       {
3081*ab8db090SAndroid Build Coastguard Worker         {
3082*ab8db090SAndroid Build Coastguard Worker           int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
3083*ab8db090SAndroid Build Coastguard Worker           _v = SWIG_CheckState(res);
3084*ab8db090SAndroid Build Coastguard Worker         }
3085*ab8db090SAndroid Build Coastguard Worker       }
3086*ab8db090SAndroid Build Coastguard Worker       if (!_v) goto check_1;
3087*ab8db090SAndroid Build Coastguard Worker       _ranki += _v*_pi;
3088*ab8db090SAndroid Build Coastguard Worker       _rankm += _pi;
3089*ab8db090SAndroid Build Coastguard Worker       _pi *= SWIG_MAXCASTRANK;
3090*ab8db090SAndroid Build Coastguard Worker       if (!_index || (_ranki < _rank)) {
3091*ab8db090SAndroid Build Coastguard Worker         _rank = _ranki; _index = 1;
3092*ab8db090SAndroid Build Coastguard Worker         if (_rank == _rankm) goto dispatch;
3093*ab8db090SAndroid Build Coastguard Worker       }
3094*ab8db090SAndroid Build Coastguard Worker     }
3095*ab8db090SAndroid Build Coastguard Worker   check_1:
3096*ab8db090SAndroid Build Coastguard Worker 
3097*ab8db090SAndroid Build Coastguard Worker     if (items == 2) {
3098*ab8db090SAndroid Build Coastguard Worker       SWIG_TypeRank _ranki = 0;
3099*ab8db090SAndroid Build Coastguard Worker       SWIG_TypeRank _rankm = 0;
3100*ab8db090SAndroid Build Coastguard Worker       SWIG_TypeRank _pi = 1;
3101*ab8db090SAndroid Build Coastguard Worker       int _v = 0;
3102*ab8db090SAndroid Build Coastguard Worker       {
3103*ab8db090SAndroid Build Coastguard Worker         void *vptr = 0;
3104*ab8db090SAndroid Build Coastguard Worker         int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_marisa_swig__Agent, 0);
3105*ab8db090SAndroid Build Coastguard Worker         _v = SWIG_CheckState(res);
3106*ab8db090SAndroid Build Coastguard Worker       }
3107*ab8db090SAndroid Build Coastguard Worker       if (!_v) goto check_2;
3108*ab8db090SAndroid Build Coastguard Worker       _ranki += _v*_pi;
3109*ab8db090SAndroid Build Coastguard Worker       _rankm += _pi;
3110*ab8db090SAndroid Build Coastguard Worker       _pi *= SWIG_MAXCASTRANK;
3111*ab8db090SAndroid Build Coastguard Worker       {
3112*ab8db090SAndroid Build Coastguard Worker         int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
3113*ab8db090SAndroid Build Coastguard Worker         _v = SWIG_CheckState(res);
3114*ab8db090SAndroid Build Coastguard Worker       }
3115*ab8db090SAndroid Build Coastguard Worker       if (!_v) goto check_2;
3116*ab8db090SAndroid Build Coastguard Worker       _ranki += _v*_pi;
3117*ab8db090SAndroid Build Coastguard Worker       _rankm += _pi;
3118*ab8db090SAndroid Build Coastguard Worker       _pi *= SWIG_MAXCASTRANK;
3119*ab8db090SAndroid Build Coastguard Worker       if (items > 2) {
3120*ab8db090SAndroid Build Coastguard Worker         {
3121*ab8db090SAndroid Build Coastguard Worker           {
3122*ab8db090SAndroid Build Coastguard Worker             int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
3123*ab8db090SAndroid Build Coastguard Worker             _v = SWIG_CheckState(res);
3124*ab8db090SAndroid Build Coastguard Worker           }
3125*ab8db090SAndroid Build Coastguard Worker         }
3126*ab8db090SAndroid Build Coastguard Worker         if (!_v) goto check_2;
3127*ab8db090SAndroid Build Coastguard Worker         _ranki += _v*_pi;
3128*ab8db090SAndroid Build Coastguard Worker         _rankm += _pi;
3129*ab8db090SAndroid Build Coastguard Worker         _pi *= SWIG_MAXCASTRANK;
3130*ab8db090SAndroid Build Coastguard Worker       }
3131*ab8db090SAndroid Build Coastguard Worker       if (!_index || (_ranki < _rank)) {
3132*ab8db090SAndroid Build Coastguard Worker         _rank = _ranki; _index = 2;
3133*ab8db090SAndroid Build Coastguard Worker         if (_rank == _rankm) goto dispatch;
3134*ab8db090SAndroid Build Coastguard Worker       }
3135*ab8db090SAndroid Build Coastguard Worker     }
3136*ab8db090SAndroid Build Coastguard Worker   check_2:
3137*ab8db090SAndroid Build Coastguard Worker 
3138*ab8db090SAndroid Build Coastguard Worker   dispatch:
3139*ab8db090SAndroid Build Coastguard Worker     switch(_index) {
3140*ab8db090SAndroid Build Coastguard Worker     case 1:
3141*ab8db090SAndroid Build Coastguard Worker       ++PL_markstack_ptr; SWIG_CALLXS(_wrap_Agent_set_query__SWIG_1); return;
3142*ab8db090SAndroid Build Coastguard Worker     case 2:
3143*ab8db090SAndroid Build Coastguard Worker       ++PL_markstack_ptr; SWIG_CALLXS(_wrap_Agent_set_query__SWIG_0); return;
3144*ab8db090SAndroid Build Coastguard Worker     }
3145*ab8db090SAndroid Build Coastguard Worker   }
3146*ab8db090SAndroid Build Coastguard Worker 
3147*ab8db090SAndroid Build Coastguard Worker   croak("No matching function for overloaded 'Agent_set_query'");
3148*ab8db090SAndroid Build Coastguard Worker   XSRETURN(0);
3149*ab8db090SAndroid Build Coastguard Worker }
3150*ab8db090SAndroid Build Coastguard Worker 
3151*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Agent_key)3152*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Agent_key) {
3153*ab8db090SAndroid Build Coastguard Worker   {
3154*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Agent *arg1 = (marisa_swig::Agent *) 0 ;
3155*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
3156*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
3157*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
3158*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Key *result = 0 ;
3159*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
3160*ab8db090SAndroid Build Coastguard Worker 
3161*ab8db090SAndroid Build Coastguard Worker     if ((items < 1) || (items > 1)) {
3162*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Agent_key(self);");
3163*ab8db090SAndroid Build Coastguard Worker     }
3164*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Agent, 0 |  0 );
3165*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
3166*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Agent_key" "', argument " "1"" of type '" "marisa_swig::Agent const *""'");
3167*ab8db090SAndroid Build Coastguard Worker     }
3168*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Agent * >(argp1);
3169*ab8db090SAndroid Build Coastguard Worker     {
3170*ab8db090SAndroid Build Coastguard Worker       try {
3171*ab8db090SAndroid Build Coastguard Worker         result = (marisa_swig::Key *) &((marisa_swig::Agent const *)arg1)->key();
3172*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
3173*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
3174*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
3175*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
3176*ab8db090SAndroid Build Coastguard Worker       }
3177*ab8db090SAndroid Build Coastguard Worker     }
3178*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_marisa_swig__Key, 0 | SWIG_SHADOW); argvi++ ;
3179*ab8db090SAndroid Build Coastguard Worker 
3180*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
3181*ab8db090SAndroid Build Coastguard Worker   fail:
3182*ab8db090SAndroid Build Coastguard Worker 
3183*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
3184*ab8db090SAndroid Build Coastguard Worker   }
3185*ab8db090SAndroid Build Coastguard Worker }
3186*ab8db090SAndroid Build Coastguard Worker 
3187*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Agent_query)3188*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Agent_query) {
3189*ab8db090SAndroid Build Coastguard Worker   {
3190*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Agent *arg1 = (marisa_swig::Agent *) 0 ;
3191*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
3192*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
3193*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
3194*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Query *result = 0 ;
3195*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
3196*ab8db090SAndroid Build Coastguard Worker 
3197*ab8db090SAndroid Build Coastguard Worker     if ((items < 1) || (items > 1)) {
3198*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Agent_query(self);");
3199*ab8db090SAndroid Build Coastguard Worker     }
3200*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Agent, 0 |  0 );
3201*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
3202*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Agent_query" "', argument " "1"" of type '" "marisa_swig::Agent const *""'");
3203*ab8db090SAndroid Build Coastguard Worker     }
3204*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Agent * >(argp1);
3205*ab8db090SAndroid Build Coastguard Worker     {
3206*ab8db090SAndroid Build Coastguard Worker       try {
3207*ab8db090SAndroid Build Coastguard Worker         result = (marisa_swig::Query *) &((marisa_swig::Agent const *)arg1)->query();
3208*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
3209*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
3210*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
3211*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
3212*ab8db090SAndroid Build Coastguard Worker       }
3213*ab8db090SAndroid Build Coastguard Worker     }
3214*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_marisa_swig__Query, 0 | SWIG_SHADOW); argvi++ ;
3215*ab8db090SAndroid Build Coastguard Worker 
3216*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
3217*ab8db090SAndroid Build Coastguard Worker   fail:
3218*ab8db090SAndroid Build Coastguard Worker 
3219*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
3220*ab8db090SAndroid Build Coastguard Worker   }
3221*ab8db090SAndroid Build Coastguard Worker }
3222*ab8db090SAndroid Build Coastguard Worker 
3223*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Agent_key_str)3224*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Agent_key_str) {
3225*ab8db090SAndroid Build Coastguard Worker   {
3226*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Agent *arg1 = (marisa_swig::Agent *) 0 ;
3227*ab8db090SAndroid Build Coastguard Worker     char **arg2 = (char **) 0 ;
3228*ab8db090SAndroid Build Coastguard Worker     std::size_t *arg3 = (std::size_t *) 0 ;
3229*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
3230*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
3231*ab8db090SAndroid Build Coastguard Worker     char *temp2 = 0 ;
3232*ab8db090SAndroid Build Coastguard Worker     std::size_t tempn2 ;
3233*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
3234*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
3235*ab8db090SAndroid Build Coastguard Worker 
3236*ab8db090SAndroid Build Coastguard Worker     arg2 = &temp2; arg3 = &tempn2;
3237*ab8db090SAndroid Build Coastguard Worker     if ((items < 1) || (items > 1)) {
3238*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Agent_key_str(self,length_out);");
3239*ab8db090SAndroid Build Coastguard Worker     }
3240*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Agent, 0 |  0 );
3241*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
3242*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Agent_key_str" "', argument " "1"" of type '" "marisa_swig::Agent const *""'");
3243*ab8db090SAndroid Build Coastguard Worker     }
3244*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Agent * >(argp1);
3245*ab8db090SAndroid Build Coastguard Worker     {
3246*ab8db090SAndroid Build Coastguard Worker       try {
3247*ab8db090SAndroid Build Coastguard Worker         ((marisa_swig::Agent const *)arg1)->key_str((char const **)arg2,arg3);
3248*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
3249*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
3250*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
3251*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
3252*ab8db090SAndroid Build Coastguard Worker       }
3253*ab8db090SAndroid Build Coastguard Worker     }
3254*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = sv_newmortal();
3255*ab8db090SAndroid Build Coastguard Worker     if (*arg2) {
3256*ab8db090SAndroid Build Coastguard Worker       if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_FromCharPtrAndSize(*arg2,*arg3); argvi++  ;
3257*ab8db090SAndroid Build Coastguard Worker       ;
3258*ab8db090SAndroid Build Coastguard Worker     }
3259*ab8db090SAndroid Build Coastguard Worker 
3260*ab8db090SAndroid Build Coastguard Worker 
3261*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
3262*ab8db090SAndroid Build Coastguard Worker   fail:
3263*ab8db090SAndroid Build Coastguard Worker 
3264*ab8db090SAndroid Build Coastguard Worker 
3265*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
3266*ab8db090SAndroid Build Coastguard Worker   }
3267*ab8db090SAndroid Build Coastguard Worker }
3268*ab8db090SAndroid Build Coastguard Worker 
3269*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Agent_key_id)3270*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Agent_key_id) {
3271*ab8db090SAndroid Build Coastguard Worker   {
3272*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Agent *arg1 = (marisa_swig::Agent *) 0 ;
3273*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
3274*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
3275*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
3276*ab8db090SAndroid Build Coastguard Worker     std::size_t result;
3277*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
3278*ab8db090SAndroid Build Coastguard Worker 
3279*ab8db090SAndroid Build Coastguard Worker     if ((items < 1) || (items > 1)) {
3280*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Agent_key_id(self);");
3281*ab8db090SAndroid Build Coastguard Worker     }
3282*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Agent, 0 |  0 );
3283*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
3284*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Agent_key_id" "', argument " "1"" of type '" "marisa_swig::Agent const *""'");
3285*ab8db090SAndroid Build Coastguard Worker     }
3286*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Agent * >(argp1);
3287*ab8db090SAndroid Build Coastguard Worker     {
3288*ab8db090SAndroid Build Coastguard Worker       try {
3289*ab8db090SAndroid Build Coastguard Worker         result = ((marisa_swig::Agent const *)arg1)->key_id();
3290*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
3291*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
3292*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
3293*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
3294*ab8db090SAndroid Build Coastguard Worker       }
3295*ab8db090SAndroid Build Coastguard Worker     }
3296*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
3297*ab8db090SAndroid Build Coastguard Worker 
3298*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
3299*ab8db090SAndroid Build Coastguard Worker   fail:
3300*ab8db090SAndroid Build Coastguard Worker 
3301*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
3302*ab8db090SAndroid Build Coastguard Worker   }
3303*ab8db090SAndroid Build Coastguard Worker }
3304*ab8db090SAndroid Build Coastguard Worker 
3305*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Agent_query_str)3306*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Agent_query_str) {
3307*ab8db090SAndroid Build Coastguard Worker   {
3308*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Agent *arg1 = (marisa_swig::Agent *) 0 ;
3309*ab8db090SAndroid Build Coastguard Worker     char **arg2 = (char **) 0 ;
3310*ab8db090SAndroid Build Coastguard Worker     std::size_t *arg3 = (std::size_t *) 0 ;
3311*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
3312*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
3313*ab8db090SAndroid Build Coastguard Worker     char *temp2 = 0 ;
3314*ab8db090SAndroid Build Coastguard Worker     std::size_t tempn2 ;
3315*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
3316*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
3317*ab8db090SAndroid Build Coastguard Worker 
3318*ab8db090SAndroid Build Coastguard Worker     arg2 = &temp2; arg3 = &tempn2;
3319*ab8db090SAndroid Build Coastguard Worker     if ((items < 1) || (items > 1)) {
3320*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Agent_query_str(self,length_out);");
3321*ab8db090SAndroid Build Coastguard Worker     }
3322*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Agent, 0 |  0 );
3323*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
3324*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Agent_query_str" "', argument " "1"" of type '" "marisa_swig::Agent const *""'");
3325*ab8db090SAndroid Build Coastguard Worker     }
3326*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Agent * >(argp1);
3327*ab8db090SAndroid Build Coastguard Worker     {
3328*ab8db090SAndroid Build Coastguard Worker       try {
3329*ab8db090SAndroid Build Coastguard Worker         ((marisa_swig::Agent const *)arg1)->query_str((char const **)arg2,arg3);
3330*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
3331*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
3332*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
3333*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
3334*ab8db090SAndroid Build Coastguard Worker       }
3335*ab8db090SAndroid Build Coastguard Worker     }
3336*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = sv_newmortal();
3337*ab8db090SAndroid Build Coastguard Worker     if (*arg2) {
3338*ab8db090SAndroid Build Coastguard Worker       if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_FromCharPtrAndSize(*arg2,*arg3); argvi++  ;
3339*ab8db090SAndroid Build Coastguard Worker       ;
3340*ab8db090SAndroid Build Coastguard Worker     }
3341*ab8db090SAndroid Build Coastguard Worker 
3342*ab8db090SAndroid Build Coastguard Worker 
3343*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
3344*ab8db090SAndroid Build Coastguard Worker   fail:
3345*ab8db090SAndroid Build Coastguard Worker 
3346*ab8db090SAndroid Build Coastguard Worker 
3347*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
3348*ab8db090SAndroid Build Coastguard Worker   }
3349*ab8db090SAndroid Build Coastguard Worker }
3350*ab8db090SAndroid Build Coastguard Worker 
3351*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Agent_query_id)3352*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Agent_query_id) {
3353*ab8db090SAndroid Build Coastguard Worker   {
3354*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Agent *arg1 = (marisa_swig::Agent *) 0 ;
3355*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
3356*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
3357*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
3358*ab8db090SAndroid Build Coastguard Worker     std::size_t result;
3359*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
3360*ab8db090SAndroid Build Coastguard Worker 
3361*ab8db090SAndroid Build Coastguard Worker     if ((items < 1) || (items > 1)) {
3362*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Agent_query_id(self);");
3363*ab8db090SAndroid Build Coastguard Worker     }
3364*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Agent, 0 |  0 );
3365*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
3366*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Agent_query_id" "', argument " "1"" of type '" "marisa_swig::Agent const *""'");
3367*ab8db090SAndroid Build Coastguard Worker     }
3368*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Agent * >(argp1);
3369*ab8db090SAndroid Build Coastguard Worker     {
3370*ab8db090SAndroid Build Coastguard Worker       try {
3371*ab8db090SAndroid Build Coastguard Worker         result = ((marisa_swig::Agent const *)arg1)->query_id();
3372*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
3373*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
3374*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
3375*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
3376*ab8db090SAndroid Build Coastguard Worker       }
3377*ab8db090SAndroid Build Coastguard Worker     }
3378*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
3379*ab8db090SAndroid Build Coastguard Worker 
3380*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
3381*ab8db090SAndroid Build Coastguard Worker   fail:
3382*ab8db090SAndroid Build Coastguard Worker 
3383*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
3384*ab8db090SAndroid Build Coastguard Worker   }
3385*ab8db090SAndroid Build Coastguard Worker }
3386*ab8db090SAndroid Build Coastguard Worker 
3387*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_new_Trie)3388*ab8db090SAndroid Build Coastguard Worker XS(_wrap_new_Trie) {
3389*ab8db090SAndroid Build Coastguard Worker   {
3390*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
3391*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Trie *result = 0 ;
3392*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
3393*ab8db090SAndroid Build Coastguard Worker 
3394*ab8db090SAndroid Build Coastguard Worker     if ((items < 0) || (items > 0)) {
3395*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: new_Trie();");
3396*ab8db090SAndroid Build Coastguard Worker     }
3397*ab8db090SAndroid Build Coastguard Worker     {
3398*ab8db090SAndroid Build Coastguard Worker       try {
3399*ab8db090SAndroid Build Coastguard Worker         result = (marisa_swig::Trie *)new marisa_swig::Trie();
3400*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
3401*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
3402*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
3403*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
3404*ab8db090SAndroid Build Coastguard Worker       }
3405*ab8db090SAndroid Build Coastguard Worker     }
3406*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_marisa_swig__Trie, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
3407*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
3408*ab8db090SAndroid Build Coastguard Worker   fail:
3409*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
3410*ab8db090SAndroid Build Coastguard Worker   }
3411*ab8db090SAndroid Build Coastguard Worker }
3412*ab8db090SAndroid Build Coastguard Worker 
3413*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_delete_Trie)3414*ab8db090SAndroid Build Coastguard Worker XS(_wrap_delete_Trie) {
3415*ab8db090SAndroid Build Coastguard Worker   {
3416*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
3417*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
3418*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
3419*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
3420*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
3421*ab8db090SAndroid Build Coastguard Worker 
3422*ab8db090SAndroid Build Coastguard Worker     if ((items < 1) || (items > 1)) {
3423*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: delete_Trie(self);");
3424*ab8db090SAndroid Build Coastguard Worker     }
3425*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Trie, SWIG_POINTER_DISOWN |  0 );
3426*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
3427*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_Trie" "', argument " "1"" of type '" "marisa_swig::Trie *""'");
3428*ab8db090SAndroid Build Coastguard Worker     }
3429*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
3430*ab8db090SAndroid Build Coastguard Worker     {
3431*ab8db090SAndroid Build Coastguard Worker       try {
3432*ab8db090SAndroid Build Coastguard Worker         delete arg1;
3433*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
3434*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
3435*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
3436*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
3437*ab8db090SAndroid Build Coastguard Worker       }
3438*ab8db090SAndroid Build Coastguard Worker     }
3439*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = sv_newmortal();
3440*ab8db090SAndroid Build Coastguard Worker 
3441*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
3442*ab8db090SAndroid Build Coastguard Worker   fail:
3443*ab8db090SAndroid Build Coastguard Worker 
3444*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
3445*ab8db090SAndroid Build Coastguard Worker   }
3446*ab8db090SAndroid Build Coastguard Worker }
3447*ab8db090SAndroid Build Coastguard Worker 
3448*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Trie_build__SWIG_0)3449*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Trie_build__SWIG_0) {
3450*ab8db090SAndroid Build Coastguard Worker   {
3451*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
3452*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Keyset *arg2 = 0 ;
3453*ab8db090SAndroid Build Coastguard Worker     int arg3 ;
3454*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
3455*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
3456*ab8db090SAndroid Build Coastguard Worker     void *argp2 = 0 ;
3457*ab8db090SAndroid Build Coastguard Worker     int res2 = 0 ;
3458*ab8db090SAndroid Build Coastguard Worker     int val3 ;
3459*ab8db090SAndroid Build Coastguard Worker     int ecode3 = 0 ;
3460*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
3461*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
3462*ab8db090SAndroid Build Coastguard Worker 
3463*ab8db090SAndroid Build Coastguard Worker     if ((items < 3) || (items > 3)) {
3464*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Trie_build(self,keyset,config_flags);");
3465*ab8db090SAndroid Build Coastguard Worker     }
3466*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
3467*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
3468*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_build" "', argument " "1"" of type '" "marisa_swig::Trie *""'");
3469*ab8db090SAndroid Build Coastguard Worker     }
3470*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
3471*ab8db090SAndroid Build Coastguard Worker     res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_marisa_swig__Keyset,  0 );
3472*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res2)) {
3473*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Trie_build" "', argument " "2"" of type '" "marisa_swig::Keyset &""'");
3474*ab8db090SAndroid Build Coastguard Worker     }
3475*ab8db090SAndroid Build Coastguard Worker     if (!argp2) {
3476*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Trie_build" "', argument " "2"" of type '" "marisa_swig::Keyset &""'");
3477*ab8db090SAndroid Build Coastguard Worker     }
3478*ab8db090SAndroid Build Coastguard Worker     arg2 = reinterpret_cast< marisa_swig::Keyset * >(argp2);
3479*ab8db090SAndroid Build Coastguard Worker     ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
3480*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(ecode3)) {
3481*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Trie_build" "', argument " "3"" of type '" "int""'");
3482*ab8db090SAndroid Build Coastguard Worker     }
3483*ab8db090SAndroid Build Coastguard Worker     arg3 = static_cast< int >(val3);
3484*ab8db090SAndroid Build Coastguard Worker     {
3485*ab8db090SAndroid Build Coastguard Worker       try {
3486*ab8db090SAndroid Build Coastguard Worker         (arg1)->build(*arg2,arg3);
3487*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
3488*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
3489*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
3490*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
3491*ab8db090SAndroid Build Coastguard Worker       }
3492*ab8db090SAndroid Build Coastguard Worker     }
3493*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = sv_newmortal();
3494*ab8db090SAndroid Build Coastguard Worker 
3495*ab8db090SAndroid Build Coastguard Worker 
3496*ab8db090SAndroid Build Coastguard Worker 
3497*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
3498*ab8db090SAndroid Build Coastguard Worker   fail:
3499*ab8db090SAndroid Build Coastguard Worker 
3500*ab8db090SAndroid Build Coastguard Worker 
3501*ab8db090SAndroid Build Coastguard Worker 
3502*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
3503*ab8db090SAndroid Build Coastguard Worker   }
3504*ab8db090SAndroid Build Coastguard Worker }
3505*ab8db090SAndroid Build Coastguard Worker 
3506*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Trie_build__SWIG_1)3507*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Trie_build__SWIG_1) {
3508*ab8db090SAndroid Build Coastguard Worker   {
3509*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
3510*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Keyset *arg2 = 0 ;
3511*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
3512*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
3513*ab8db090SAndroid Build Coastguard Worker     void *argp2 = 0 ;
3514*ab8db090SAndroid Build Coastguard Worker     int res2 = 0 ;
3515*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
3516*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
3517*ab8db090SAndroid Build Coastguard Worker 
3518*ab8db090SAndroid Build Coastguard Worker     if ((items < 2) || (items > 2)) {
3519*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Trie_build(self,keyset);");
3520*ab8db090SAndroid Build Coastguard Worker     }
3521*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
3522*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
3523*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_build" "', argument " "1"" of type '" "marisa_swig::Trie *""'");
3524*ab8db090SAndroid Build Coastguard Worker     }
3525*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
3526*ab8db090SAndroid Build Coastguard Worker     res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_marisa_swig__Keyset,  0 );
3527*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res2)) {
3528*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Trie_build" "', argument " "2"" of type '" "marisa_swig::Keyset &""'");
3529*ab8db090SAndroid Build Coastguard Worker     }
3530*ab8db090SAndroid Build Coastguard Worker     if (!argp2) {
3531*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Trie_build" "', argument " "2"" of type '" "marisa_swig::Keyset &""'");
3532*ab8db090SAndroid Build Coastguard Worker     }
3533*ab8db090SAndroid Build Coastguard Worker     arg2 = reinterpret_cast< marisa_swig::Keyset * >(argp2);
3534*ab8db090SAndroid Build Coastguard Worker     {
3535*ab8db090SAndroid Build Coastguard Worker       try {
3536*ab8db090SAndroid Build Coastguard Worker         (arg1)->build(*arg2);
3537*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
3538*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
3539*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
3540*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
3541*ab8db090SAndroid Build Coastguard Worker       }
3542*ab8db090SAndroid Build Coastguard Worker     }
3543*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = sv_newmortal();
3544*ab8db090SAndroid Build Coastguard Worker 
3545*ab8db090SAndroid Build Coastguard Worker 
3546*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
3547*ab8db090SAndroid Build Coastguard Worker   fail:
3548*ab8db090SAndroid Build Coastguard Worker 
3549*ab8db090SAndroid Build Coastguard Worker 
3550*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
3551*ab8db090SAndroid Build Coastguard Worker   }
3552*ab8db090SAndroid Build Coastguard Worker }
3553*ab8db090SAndroid Build Coastguard Worker 
3554*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Trie_build)3555*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Trie_build) {
3556*ab8db090SAndroid Build Coastguard Worker   dXSARGS;
3557*ab8db090SAndroid Build Coastguard Worker 
3558*ab8db090SAndroid Build Coastguard Worker   {
3559*ab8db090SAndroid Build Coastguard Worker     unsigned long _index = 0;
3560*ab8db090SAndroid Build Coastguard Worker     SWIG_TypeRank _rank = 0;
3561*ab8db090SAndroid Build Coastguard Worker     if (items == 2) {
3562*ab8db090SAndroid Build Coastguard Worker       SWIG_TypeRank _ranki = 0;
3563*ab8db090SAndroid Build Coastguard Worker       SWIG_TypeRank _rankm = 0;
3564*ab8db090SAndroid Build Coastguard Worker       SWIG_TypeRank _pi = 1;
3565*ab8db090SAndroid Build Coastguard Worker       int _v = 0;
3566*ab8db090SAndroid Build Coastguard Worker       {
3567*ab8db090SAndroid Build Coastguard Worker         void *vptr = 0;
3568*ab8db090SAndroid Build Coastguard Worker         int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_marisa_swig__Trie, 0);
3569*ab8db090SAndroid Build Coastguard Worker         _v = SWIG_CheckState(res);
3570*ab8db090SAndroid Build Coastguard Worker       }
3571*ab8db090SAndroid Build Coastguard Worker       if (!_v) goto check_1;
3572*ab8db090SAndroid Build Coastguard Worker       _ranki += _v*_pi;
3573*ab8db090SAndroid Build Coastguard Worker       _rankm += _pi;
3574*ab8db090SAndroid Build Coastguard Worker       _pi *= SWIG_MAXCASTRANK;
3575*ab8db090SAndroid Build Coastguard Worker       {
3576*ab8db090SAndroid Build Coastguard Worker         void *vptr = 0;
3577*ab8db090SAndroid Build Coastguard Worker         int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_marisa_swig__Keyset, 0);
3578*ab8db090SAndroid Build Coastguard Worker         _v = SWIG_CheckState(res);
3579*ab8db090SAndroid Build Coastguard Worker       }
3580*ab8db090SAndroid Build Coastguard Worker       if (!_v) goto check_1;
3581*ab8db090SAndroid Build Coastguard Worker       _ranki += _v*_pi;
3582*ab8db090SAndroid Build Coastguard Worker       _rankm += _pi;
3583*ab8db090SAndroid Build Coastguard Worker       _pi *= SWIG_MAXCASTRANK;
3584*ab8db090SAndroid Build Coastguard Worker       if (!_index || (_ranki < _rank)) {
3585*ab8db090SAndroid Build Coastguard Worker         _rank = _ranki; _index = 1;
3586*ab8db090SAndroid Build Coastguard Worker         if (_rank == _rankm) goto dispatch;
3587*ab8db090SAndroid Build Coastguard Worker       }
3588*ab8db090SAndroid Build Coastguard Worker     }
3589*ab8db090SAndroid Build Coastguard Worker   check_1:
3590*ab8db090SAndroid Build Coastguard Worker 
3591*ab8db090SAndroid Build Coastguard Worker     if (items == 3) {
3592*ab8db090SAndroid Build Coastguard Worker       SWIG_TypeRank _ranki = 0;
3593*ab8db090SAndroid Build Coastguard Worker       SWIG_TypeRank _rankm = 0;
3594*ab8db090SAndroid Build Coastguard Worker       SWIG_TypeRank _pi = 1;
3595*ab8db090SAndroid Build Coastguard Worker       int _v = 0;
3596*ab8db090SAndroid Build Coastguard Worker       {
3597*ab8db090SAndroid Build Coastguard Worker         void *vptr = 0;
3598*ab8db090SAndroid Build Coastguard Worker         int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_marisa_swig__Trie, 0);
3599*ab8db090SAndroid Build Coastguard Worker         _v = SWIG_CheckState(res);
3600*ab8db090SAndroid Build Coastguard Worker       }
3601*ab8db090SAndroid Build Coastguard Worker       if (!_v) goto check_2;
3602*ab8db090SAndroid Build Coastguard Worker       _ranki += _v*_pi;
3603*ab8db090SAndroid Build Coastguard Worker       _rankm += _pi;
3604*ab8db090SAndroid Build Coastguard Worker       _pi *= SWIG_MAXCASTRANK;
3605*ab8db090SAndroid Build Coastguard Worker       {
3606*ab8db090SAndroid Build Coastguard Worker         void *vptr = 0;
3607*ab8db090SAndroid Build Coastguard Worker         int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_marisa_swig__Keyset, 0);
3608*ab8db090SAndroid Build Coastguard Worker         _v = SWIG_CheckState(res);
3609*ab8db090SAndroid Build Coastguard Worker       }
3610*ab8db090SAndroid Build Coastguard Worker       if (!_v) goto check_2;
3611*ab8db090SAndroid Build Coastguard Worker       _ranki += _v*_pi;
3612*ab8db090SAndroid Build Coastguard Worker       _rankm += _pi;
3613*ab8db090SAndroid Build Coastguard Worker       _pi *= SWIG_MAXCASTRANK;
3614*ab8db090SAndroid Build Coastguard Worker       {
3615*ab8db090SAndroid Build Coastguard Worker         {
3616*ab8db090SAndroid Build Coastguard Worker           int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
3617*ab8db090SAndroid Build Coastguard Worker           _v = SWIG_CheckState(res);
3618*ab8db090SAndroid Build Coastguard Worker         }
3619*ab8db090SAndroid Build Coastguard Worker       }
3620*ab8db090SAndroid Build Coastguard Worker       if (!_v) goto check_2;
3621*ab8db090SAndroid Build Coastguard Worker       _ranki += _v*_pi;
3622*ab8db090SAndroid Build Coastguard Worker       _rankm += _pi;
3623*ab8db090SAndroid Build Coastguard Worker       _pi *= SWIG_MAXCASTRANK;
3624*ab8db090SAndroid Build Coastguard Worker       if (!_index || (_ranki < _rank)) {
3625*ab8db090SAndroid Build Coastguard Worker         _rank = _ranki; _index = 2;
3626*ab8db090SAndroid Build Coastguard Worker         if (_rank == _rankm) goto dispatch;
3627*ab8db090SAndroid Build Coastguard Worker       }
3628*ab8db090SAndroid Build Coastguard Worker     }
3629*ab8db090SAndroid Build Coastguard Worker   check_2:
3630*ab8db090SAndroid Build Coastguard Worker 
3631*ab8db090SAndroid Build Coastguard Worker   dispatch:
3632*ab8db090SAndroid Build Coastguard Worker     switch(_index) {
3633*ab8db090SAndroid Build Coastguard Worker     case 1:
3634*ab8db090SAndroid Build Coastguard Worker       ++PL_markstack_ptr; SWIG_CALLXS(_wrap_Trie_build__SWIG_1); return;
3635*ab8db090SAndroid Build Coastguard Worker     case 2:
3636*ab8db090SAndroid Build Coastguard Worker       ++PL_markstack_ptr; SWIG_CALLXS(_wrap_Trie_build__SWIG_0); return;
3637*ab8db090SAndroid Build Coastguard Worker     }
3638*ab8db090SAndroid Build Coastguard Worker   }
3639*ab8db090SAndroid Build Coastguard Worker 
3640*ab8db090SAndroid Build Coastguard Worker   croak("No matching function for overloaded 'Trie_build'");
3641*ab8db090SAndroid Build Coastguard Worker   XSRETURN(0);
3642*ab8db090SAndroid Build Coastguard Worker }
3643*ab8db090SAndroid Build Coastguard Worker 
3644*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Trie_mmap)3645*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Trie_mmap) {
3646*ab8db090SAndroid Build Coastguard Worker   {
3647*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
3648*ab8db090SAndroid Build Coastguard Worker     char *arg2 = (char *) 0 ;
3649*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
3650*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
3651*ab8db090SAndroid Build Coastguard Worker     int res2 ;
3652*ab8db090SAndroid Build Coastguard Worker     char *buf2 = 0 ;
3653*ab8db090SAndroid Build Coastguard Worker     int alloc2 = 0 ;
3654*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
3655*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
3656*ab8db090SAndroid Build Coastguard Worker 
3657*ab8db090SAndroid Build Coastguard Worker     if ((items < 2) || (items > 2)) {
3658*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Trie_mmap(self,filename);");
3659*ab8db090SAndroid Build Coastguard Worker     }
3660*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
3661*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
3662*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_mmap" "', argument " "1"" of type '" "marisa_swig::Trie *""'");
3663*ab8db090SAndroid Build Coastguard Worker     }
3664*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
3665*ab8db090SAndroid Build Coastguard Worker     res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
3666*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res2)) {
3667*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Trie_mmap" "', argument " "2"" of type '" "char const *""'");
3668*ab8db090SAndroid Build Coastguard Worker     }
3669*ab8db090SAndroid Build Coastguard Worker     arg2 = reinterpret_cast< char * >(buf2);
3670*ab8db090SAndroid Build Coastguard Worker     {
3671*ab8db090SAndroid Build Coastguard Worker       try {
3672*ab8db090SAndroid Build Coastguard Worker         (arg1)->mmap((char const *)arg2);
3673*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
3674*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
3675*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
3676*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
3677*ab8db090SAndroid Build Coastguard Worker       }
3678*ab8db090SAndroid Build Coastguard Worker     }
3679*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = sv_newmortal();
3680*ab8db090SAndroid Build Coastguard Worker 
3681*ab8db090SAndroid Build Coastguard Worker     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
3682*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
3683*ab8db090SAndroid Build Coastguard Worker   fail:
3684*ab8db090SAndroid Build Coastguard Worker 
3685*ab8db090SAndroid Build Coastguard Worker     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
3686*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
3687*ab8db090SAndroid Build Coastguard Worker   }
3688*ab8db090SAndroid Build Coastguard Worker }
3689*ab8db090SAndroid Build Coastguard Worker 
3690*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Trie_load)3691*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Trie_load) {
3692*ab8db090SAndroid Build Coastguard Worker   {
3693*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
3694*ab8db090SAndroid Build Coastguard Worker     char *arg2 = (char *) 0 ;
3695*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
3696*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
3697*ab8db090SAndroid Build Coastguard Worker     int res2 ;
3698*ab8db090SAndroid Build Coastguard Worker     char *buf2 = 0 ;
3699*ab8db090SAndroid Build Coastguard Worker     int alloc2 = 0 ;
3700*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
3701*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
3702*ab8db090SAndroid Build Coastguard Worker 
3703*ab8db090SAndroid Build Coastguard Worker     if ((items < 2) || (items > 2)) {
3704*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Trie_load(self,filename);");
3705*ab8db090SAndroid Build Coastguard Worker     }
3706*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
3707*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
3708*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_load" "', argument " "1"" of type '" "marisa_swig::Trie *""'");
3709*ab8db090SAndroid Build Coastguard Worker     }
3710*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
3711*ab8db090SAndroid Build Coastguard Worker     res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
3712*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res2)) {
3713*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Trie_load" "', argument " "2"" of type '" "char const *""'");
3714*ab8db090SAndroid Build Coastguard Worker     }
3715*ab8db090SAndroid Build Coastguard Worker     arg2 = reinterpret_cast< char * >(buf2);
3716*ab8db090SAndroid Build Coastguard Worker     {
3717*ab8db090SAndroid Build Coastguard Worker       try {
3718*ab8db090SAndroid Build Coastguard Worker         (arg1)->load((char const *)arg2);
3719*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
3720*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
3721*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
3722*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
3723*ab8db090SAndroid Build Coastguard Worker       }
3724*ab8db090SAndroid Build Coastguard Worker     }
3725*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = sv_newmortal();
3726*ab8db090SAndroid Build Coastguard Worker 
3727*ab8db090SAndroid Build Coastguard Worker     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
3728*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
3729*ab8db090SAndroid Build Coastguard Worker   fail:
3730*ab8db090SAndroid Build Coastguard Worker 
3731*ab8db090SAndroid Build Coastguard Worker     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
3732*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
3733*ab8db090SAndroid Build Coastguard Worker   }
3734*ab8db090SAndroid Build Coastguard Worker }
3735*ab8db090SAndroid Build Coastguard Worker 
3736*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Trie_save)3737*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Trie_save) {
3738*ab8db090SAndroid Build Coastguard Worker   {
3739*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
3740*ab8db090SAndroid Build Coastguard Worker     char *arg2 = (char *) 0 ;
3741*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
3742*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
3743*ab8db090SAndroid Build Coastguard Worker     int res2 ;
3744*ab8db090SAndroid Build Coastguard Worker     char *buf2 = 0 ;
3745*ab8db090SAndroid Build Coastguard Worker     int alloc2 = 0 ;
3746*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
3747*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
3748*ab8db090SAndroid Build Coastguard Worker 
3749*ab8db090SAndroid Build Coastguard Worker     if ((items < 2) || (items > 2)) {
3750*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Trie_save(self,filename);");
3751*ab8db090SAndroid Build Coastguard Worker     }
3752*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
3753*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
3754*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_save" "', argument " "1"" of type '" "marisa_swig::Trie const *""'");
3755*ab8db090SAndroid Build Coastguard Worker     }
3756*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
3757*ab8db090SAndroid Build Coastguard Worker     res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
3758*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res2)) {
3759*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Trie_save" "', argument " "2"" of type '" "char const *""'");
3760*ab8db090SAndroid Build Coastguard Worker     }
3761*ab8db090SAndroid Build Coastguard Worker     arg2 = reinterpret_cast< char * >(buf2);
3762*ab8db090SAndroid Build Coastguard Worker     {
3763*ab8db090SAndroid Build Coastguard Worker       try {
3764*ab8db090SAndroid Build Coastguard Worker         ((marisa_swig::Trie const *)arg1)->save((char const *)arg2);
3765*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
3766*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
3767*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
3768*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
3769*ab8db090SAndroid Build Coastguard Worker       }
3770*ab8db090SAndroid Build Coastguard Worker     }
3771*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = sv_newmortal();
3772*ab8db090SAndroid Build Coastguard Worker 
3773*ab8db090SAndroid Build Coastguard Worker     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
3774*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
3775*ab8db090SAndroid Build Coastguard Worker   fail:
3776*ab8db090SAndroid Build Coastguard Worker 
3777*ab8db090SAndroid Build Coastguard Worker     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
3778*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
3779*ab8db090SAndroid Build Coastguard Worker   }
3780*ab8db090SAndroid Build Coastguard Worker }
3781*ab8db090SAndroid Build Coastguard Worker 
3782*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Trie_lookup__SWIG_0)3783*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Trie_lookup__SWIG_0) {
3784*ab8db090SAndroid Build Coastguard Worker   {
3785*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
3786*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Agent *arg2 = 0 ;
3787*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
3788*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
3789*ab8db090SAndroid Build Coastguard Worker     void *argp2 = 0 ;
3790*ab8db090SAndroid Build Coastguard Worker     int res2 = 0 ;
3791*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
3792*ab8db090SAndroid Build Coastguard Worker     bool result;
3793*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
3794*ab8db090SAndroid Build Coastguard Worker 
3795*ab8db090SAndroid Build Coastguard Worker     if ((items < 2) || (items > 2)) {
3796*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Trie_lookup(self,agent);");
3797*ab8db090SAndroid Build Coastguard Worker     }
3798*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
3799*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
3800*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_lookup" "', argument " "1"" of type '" "marisa_swig::Trie const *""'");
3801*ab8db090SAndroid Build Coastguard Worker     }
3802*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
3803*ab8db090SAndroid Build Coastguard Worker     res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_marisa_swig__Agent,  0 );
3804*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res2)) {
3805*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Trie_lookup" "', argument " "2"" of type '" "marisa_swig::Agent &""'");
3806*ab8db090SAndroid Build Coastguard Worker     }
3807*ab8db090SAndroid Build Coastguard Worker     if (!argp2) {
3808*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Trie_lookup" "', argument " "2"" of type '" "marisa_swig::Agent &""'");
3809*ab8db090SAndroid Build Coastguard Worker     }
3810*ab8db090SAndroid Build Coastguard Worker     arg2 = reinterpret_cast< marisa_swig::Agent * >(argp2);
3811*ab8db090SAndroid Build Coastguard Worker     {
3812*ab8db090SAndroid Build Coastguard Worker       try {
3813*ab8db090SAndroid Build Coastguard Worker         result = (bool)((marisa_swig::Trie const *)arg1)->lookup(*arg2);
3814*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
3815*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
3816*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
3817*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
3818*ab8db090SAndroid Build Coastguard Worker       }
3819*ab8db090SAndroid Build Coastguard Worker     }
3820*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
3821*ab8db090SAndroid Build Coastguard Worker 
3822*ab8db090SAndroid Build Coastguard Worker 
3823*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
3824*ab8db090SAndroid Build Coastguard Worker   fail:
3825*ab8db090SAndroid Build Coastguard Worker 
3826*ab8db090SAndroid Build Coastguard Worker 
3827*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
3828*ab8db090SAndroid Build Coastguard Worker   }
3829*ab8db090SAndroid Build Coastguard Worker }
3830*ab8db090SAndroid Build Coastguard Worker 
3831*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Trie_reverse_lookup__SWIG_0)3832*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Trie_reverse_lookup__SWIG_0) {
3833*ab8db090SAndroid Build Coastguard Worker   {
3834*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
3835*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Agent *arg2 = 0 ;
3836*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
3837*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
3838*ab8db090SAndroid Build Coastguard Worker     void *argp2 = 0 ;
3839*ab8db090SAndroid Build Coastguard Worker     int res2 = 0 ;
3840*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
3841*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
3842*ab8db090SAndroid Build Coastguard Worker 
3843*ab8db090SAndroid Build Coastguard Worker     if ((items < 2) || (items > 2)) {
3844*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Trie_reverse_lookup(self,agent);");
3845*ab8db090SAndroid Build Coastguard Worker     }
3846*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
3847*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
3848*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_reverse_lookup" "', argument " "1"" of type '" "marisa_swig::Trie const *""'");
3849*ab8db090SAndroid Build Coastguard Worker     }
3850*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
3851*ab8db090SAndroid Build Coastguard Worker     res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_marisa_swig__Agent,  0 );
3852*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res2)) {
3853*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Trie_reverse_lookup" "', argument " "2"" of type '" "marisa_swig::Agent &""'");
3854*ab8db090SAndroid Build Coastguard Worker     }
3855*ab8db090SAndroid Build Coastguard Worker     if (!argp2) {
3856*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Trie_reverse_lookup" "', argument " "2"" of type '" "marisa_swig::Agent &""'");
3857*ab8db090SAndroid Build Coastguard Worker     }
3858*ab8db090SAndroid Build Coastguard Worker     arg2 = reinterpret_cast< marisa_swig::Agent * >(argp2);
3859*ab8db090SAndroid Build Coastguard Worker     {
3860*ab8db090SAndroid Build Coastguard Worker       try {
3861*ab8db090SAndroid Build Coastguard Worker         ((marisa_swig::Trie const *)arg1)->reverse_lookup(*arg2);
3862*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
3863*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
3864*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
3865*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
3866*ab8db090SAndroid Build Coastguard Worker       }
3867*ab8db090SAndroid Build Coastguard Worker     }
3868*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = sv_newmortal();
3869*ab8db090SAndroid Build Coastguard Worker 
3870*ab8db090SAndroid Build Coastguard Worker 
3871*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
3872*ab8db090SAndroid Build Coastguard Worker   fail:
3873*ab8db090SAndroid Build Coastguard Worker 
3874*ab8db090SAndroid Build Coastguard Worker 
3875*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
3876*ab8db090SAndroid Build Coastguard Worker   }
3877*ab8db090SAndroid Build Coastguard Worker }
3878*ab8db090SAndroid Build Coastguard Worker 
3879*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Trie_common_prefix_search)3880*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Trie_common_prefix_search) {
3881*ab8db090SAndroid Build Coastguard Worker   {
3882*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
3883*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Agent *arg2 = 0 ;
3884*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
3885*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
3886*ab8db090SAndroid Build Coastguard Worker     void *argp2 = 0 ;
3887*ab8db090SAndroid Build Coastguard Worker     int res2 = 0 ;
3888*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
3889*ab8db090SAndroid Build Coastguard Worker     bool result;
3890*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
3891*ab8db090SAndroid Build Coastguard Worker 
3892*ab8db090SAndroid Build Coastguard Worker     if ((items < 2) || (items > 2)) {
3893*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Trie_common_prefix_search(self,agent);");
3894*ab8db090SAndroid Build Coastguard Worker     }
3895*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
3896*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
3897*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_common_prefix_search" "', argument " "1"" of type '" "marisa_swig::Trie const *""'");
3898*ab8db090SAndroid Build Coastguard Worker     }
3899*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
3900*ab8db090SAndroid Build Coastguard Worker     res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_marisa_swig__Agent,  0 );
3901*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res2)) {
3902*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Trie_common_prefix_search" "', argument " "2"" of type '" "marisa_swig::Agent &""'");
3903*ab8db090SAndroid Build Coastguard Worker     }
3904*ab8db090SAndroid Build Coastguard Worker     if (!argp2) {
3905*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Trie_common_prefix_search" "', argument " "2"" of type '" "marisa_swig::Agent &""'");
3906*ab8db090SAndroid Build Coastguard Worker     }
3907*ab8db090SAndroid Build Coastguard Worker     arg2 = reinterpret_cast< marisa_swig::Agent * >(argp2);
3908*ab8db090SAndroid Build Coastguard Worker     {
3909*ab8db090SAndroid Build Coastguard Worker       try {
3910*ab8db090SAndroid Build Coastguard Worker         result = (bool)((marisa_swig::Trie const *)arg1)->common_prefix_search(*arg2);
3911*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
3912*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
3913*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
3914*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
3915*ab8db090SAndroid Build Coastguard Worker       }
3916*ab8db090SAndroid Build Coastguard Worker     }
3917*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
3918*ab8db090SAndroid Build Coastguard Worker 
3919*ab8db090SAndroid Build Coastguard Worker 
3920*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
3921*ab8db090SAndroid Build Coastguard Worker   fail:
3922*ab8db090SAndroid Build Coastguard Worker 
3923*ab8db090SAndroid Build Coastguard Worker 
3924*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
3925*ab8db090SAndroid Build Coastguard Worker   }
3926*ab8db090SAndroid Build Coastguard Worker }
3927*ab8db090SAndroid Build Coastguard Worker 
3928*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Trie_predictive_search)3929*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Trie_predictive_search) {
3930*ab8db090SAndroid Build Coastguard Worker   {
3931*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
3932*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Agent *arg2 = 0 ;
3933*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
3934*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
3935*ab8db090SAndroid Build Coastguard Worker     void *argp2 = 0 ;
3936*ab8db090SAndroid Build Coastguard Worker     int res2 = 0 ;
3937*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
3938*ab8db090SAndroid Build Coastguard Worker     bool result;
3939*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
3940*ab8db090SAndroid Build Coastguard Worker 
3941*ab8db090SAndroid Build Coastguard Worker     if ((items < 2) || (items > 2)) {
3942*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Trie_predictive_search(self,agent);");
3943*ab8db090SAndroid Build Coastguard Worker     }
3944*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
3945*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
3946*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_predictive_search" "', argument " "1"" of type '" "marisa_swig::Trie const *""'");
3947*ab8db090SAndroid Build Coastguard Worker     }
3948*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
3949*ab8db090SAndroid Build Coastguard Worker     res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_marisa_swig__Agent,  0 );
3950*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res2)) {
3951*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Trie_predictive_search" "', argument " "2"" of type '" "marisa_swig::Agent &""'");
3952*ab8db090SAndroid Build Coastguard Worker     }
3953*ab8db090SAndroid Build Coastguard Worker     if (!argp2) {
3954*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Trie_predictive_search" "', argument " "2"" of type '" "marisa_swig::Agent &""'");
3955*ab8db090SAndroid Build Coastguard Worker     }
3956*ab8db090SAndroid Build Coastguard Worker     arg2 = reinterpret_cast< marisa_swig::Agent * >(argp2);
3957*ab8db090SAndroid Build Coastguard Worker     {
3958*ab8db090SAndroid Build Coastguard Worker       try {
3959*ab8db090SAndroid Build Coastguard Worker         result = (bool)((marisa_swig::Trie const *)arg1)->predictive_search(*arg2);
3960*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
3961*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
3962*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
3963*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
3964*ab8db090SAndroid Build Coastguard Worker       }
3965*ab8db090SAndroid Build Coastguard Worker     }
3966*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
3967*ab8db090SAndroid Build Coastguard Worker 
3968*ab8db090SAndroid Build Coastguard Worker 
3969*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
3970*ab8db090SAndroid Build Coastguard Worker   fail:
3971*ab8db090SAndroid Build Coastguard Worker 
3972*ab8db090SAndroid Build Coastguard Worker 
3973*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
3974*ab8db090SAndroid Build Coastguard Worker   }
3975*ab8db090SAndroid Build Coastguard Worker }
3976*ab8db090SAndroid Build Coastguard Worker 
3977*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Trie_lookup__SWIG_1)3978*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Trie_lookup__SWIG_1) {
3979*ab8db090SAndroid Build Coastguard Worker   {
3980*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
3981*ab8db090SAndroid Build Coastguard Worker     char *arg2 = (char *) 0 ;
3982*ab8db090SAndroid Build Coastguard Worker     std::size_t arg3 ;
3983*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
3984*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
3985*ab8db090SAndroid Build Coastguard Worker     int res2 ;
3986*ab8db090SAndroid Build Coastguard Worker     char *buf2 = 0 ;
3987*ab8db090SAndroid Build Coastguard Worker     size_t size2 = 0 ;
3988*ab8db090SAndroid Build Coastguard Worker     int alloc2 = 0 ;
3989*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
3990*ab8db090SAndroid Build Coastguard Worker     std::size_t result;
3991*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
3992*ab8db090SAndroid Build Coastguard Worker 
3993*ab8db090SAndroid Build Coastguard Worker     if ((items < 2) || (items > 2)) {
3994*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Trie_lookup(self,ptr,length);");
3995*ab8db090SAndroid Build Coastguard Worker     }
3996*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
3997*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
3998*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_lookup" "', argument " "1"" of type '" "marisa_swig::Trie const *""'");
3999*ab8db090SAndroid Build Coastguard Worker     }
4000*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
4001*ab8db090SAndroid Build Coastguard Worker     res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, &size2, &alloc2);
4002*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res2)) {
4003*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Trie_lookup" "', argument " "2"" of type '" "char const *""'");
4004*ab8db090SAndroid Build Coastguard Worker     }
4005*ab8db090SAndroid Build Coastguard Worker     arg2 = reinterpret_cast< char * >(buf2);
4006*ab8db090SAndroid Build Coastguard Worker     arg3 = static_cast< std::size_t >(size2 - 1);
4007*ab8db090SAndroid Build Coastguard Worker     {
4008*ab8db090SAndroid Build Coastguard Worker       try {
4009*ab8db090SAndroid Build Coastguard Worker         result = ((marisa_swig::Trie const *)arg1)->lookup((char const *)arg2,arg3);
4010*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
4011*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
4012*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
4013*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
4014*ab8db090SAndroid Build Coastguard Worker       }
4015*ab8db090SAndroid Build Coastguard Worker     }
4016*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
4017*ab8db090SAndroid Build Coastguard Worker 
4018*ab8db090SAndroid Build Coastguard Worker     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
4019*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
4020*ab8db090SAndroid Build Coastguard Worker   fail:
4021*ab8db090SAndroid Build Coastguard Worker 
4022*ab8db090SAndroid Build Coastguard Worker     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
4023*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
4024*ab8db090SAndroid Build Coastguard Worker   }
4025*ab8db090SAndroid Build Coastguard Worker }
4026*ab8db090SAndroid Build Coastguard Worker 
4027*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Trie_lookup)4028*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Trie_lookup) {
4029*ab8db090SAndroid Build Coastguard Worker   dXSARGS;
4030*ab8db090SAndroid Build Coastguard Worker 
4031*ab8db090SAndroid Build Coastguard Worker   {
4032*ab8db090SAndroid Build Coastguard Worker     unsigned long _index = 0;
4033*ab8db090SAndroid Build Coastguard Worker     SWIG_TypeRank _rank = 0;
4034*ab8db090SAndroid Build Coastguard Worker     if (items == 2) {
4035*ab8db090SAndroid Build Coastguard Worker       SWIG_TypeRank _ranki = 0;
4036*ab8db090SAndroid Build Coastguard Worker       SWIG_TypeRank _rankm = 0;
4037*ab8db090SAndroid Build Coastguard Worker       SWIG_TypeRank _pi = 1;
4038*ab8db090SAndroid Build Coastguard Worker       int _v = 0;
4039*ab8db090SAndroid Build Coastguard Worker       {
4040*ab8db090SAndroid Build Coastguard Worker         void *vptr = 0;
4041*ab8db090SAndroid Build Coastguard Worker         int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_marisa_swig__Trie, 0);
4042*ab8db090SAndroid Build Coastguard Worker         _v = SWIG_CheckState(res);
4043*ab8db090SAndroid Build Coastguard Worker       }
4044*ab8db090SAndroid Build Coastguard Worker       if (!_v) goto check_1;
4045*ab8db090SAndroid Build Coastguard Worker       _ranki += _v*_pi;
4046*ab8db090SAndroid Build Coastguard Worker       _rankm += _pi;
4047*ab8db090SAndroid Build Coastguard Worker       _pi *= SWIG_MAXCASTRANK;
4048*ab8db090SAndroid Build Coastguard Worker       {
4049*ab8db090SAndroid Build Coastguard Worker         void *vptr = 0;
4050*ab8db090SAndroid Build Coastguard Worker         int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_marisa_swig__Agent, 0);
4051*ab8db090SAndroid Build Coastguard Worker         _v = SWIG_CheckState(res);
4052*ab8db090SAndroid Build Coastguard Worker       }
4053*ab8db090SAndroid Build Coastguard Worker       if (!_v) goto check_1;
4054*ab8db090SAndroid Build Coastguard Worker       _ranki += _v*_pi;
4055*ab8db090SAndroid Build Coastguard Worker       _rankm += _pi;
4056*ab8db090SAndroid Build Coastguard Worker       _pi *= SWIG_MAXCASTRANK;
4057*ab8db090SAndroid Build Coastguard Worker       if (!_index || (_ranki < _rank)) {
4058*ab8db090SAndroid Build Coastguard Worker         _rank = _ranki; _index = 1;
4059*ab8db090SAndroid Build Coastguard Worker         if (_rank == _rankm) goto dispatch;
4060*ab8db090SAndroid Build Coastguard Worker       }
4061*ab8db090SAndroid Build Coastguard Worker     }
4062*ab8db090SAndroid Build Coastguard Worker   check_1:
4063*ab8db090SAndroid Build Coastguard Worker 
4064*ab8db090SAndroid Build Coastguard Worker     if (items == 2) {
4065*ab8db090SAndroid Build Coastguard Worker       SWIG_TypeRank _ranki = 0;
4066*ab8db090SAndroid Build Coastguard Worker       SWIG_TypeRank _rankm = 0;
4067*ab8db090SAndroid Build Coastguard Worker       SWIG_TypeRank _pi = 1;
4068*ab8db090SAndroid Build Coastguard Worker       int _v = 0;
4069*ab8db090SAndroid Build Coastguard Worker       {
4070*ab8db090SAndroid Build Coastguard Worker         void *vptr = 0;
4071*ab8db090SAndroid Build Coastguard Worker         int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_marisa_swig__Trie, 0);
4072*ab8db090SAndroid Build Coastguard Worker         _v = SWIG_CheckState(res);
4073*ab8db090SAndroid Build Coastguard Worker       }
4074*ab8db090SAndroid Build Coastguard Worker       if (!_v) goto check_2;
4075*ab8db090SAndroid Build Coastguard Worker       _ranki += _v*_pi;
4076*ab8db090SAndroid Build Coastguard Worker       _rankm += _pi;
4077*ab8db090SAndroid Build Coastguard Worker       _pi *= SWIG_MAXCASTRANK;
4078*ab8db090SAndroid Build Coastguard Worker       {
4079*ab8db090SAndroid Build Coastguard Worker         int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
4080*ab8db090SAndroid Build Coastguard Worker         _v = SWIG_CheckState(res);
4081*ab8db090SAndroid Build Coastguard Worker       }
4082*ab8db090SAndroid Build Coastguard Worker       if (!_v) goto check_2;
4083*ab8db090SAndroid Build Coastguard Worker       _ranki += _v*_pi;
4084*ab8db090SAndroid Build Coastguard Worker       _rankm += _pi;
4085*ab8db090SAndroid Build Coastguard Worker       _pi *= SWIG_MAXCASTRANK;
4086*ab8db090SAndroid Build Coastguard Worker       if (items > 2) {
4087*ab8db090SAndroid Build Coastguard Worker         {
4088*ab8db090SAndroid Build Coastguard Worker           {
4089*ab8db090SAndroid Build Coastguard Worker             int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
4090*ab8db090SAndroid Build Coastguard Worker             _v = SWIG_CheckState(res);
4091*ab8db090SAndroid Build Coastguard Worker           }
4092*ab8db090SAndroid Build Coastguard Worker         }
4093*ab8db090SAndroid Build Coastguard Worker         if (!_v) goto check_2;
4094*ab8db090SAndroid Build Coastguard Worker         _ranki += _v*_pi;
4095*ab8db090SAndroid Build Coastguard Worker         _rankm += _pi;
4096*ab8db090SAndroid Build Coastguard Worker         _pi *= SWIG_MAXCASTRANK;
4097*ab8db090SAndroid Build Coastguard Worker       }
4098*ab8db090SAndroid Build Coastguard Worker       if (!_index || (_ranki < _rank)) {
4099*ab8db090SAndroid Build Coastguard Worker         _rank = _ranki; _index = 2;
4100*ab8db090SAndroid Build Coastguard Worker         if (_rank == _rankm) goto dispatch;
4101*ab8db090SAndroid Build Coastguard Worker       }
4102*ab8db090SAndroid Build Coastguard Worker     }
4103*ab8db090SAndroid Build Coastguard Worker   check_2:
4104*ab8db090SAndroid Build Coastguard Worker 
4105*ab8db090SAndroid Build Coastguard Worker   dispatch:
4106*ab8db090SAndroid Build Coastguard Worker     switch(_index) {
4107*ab8db090SAndroid Build Coastguard Worker     case 1:
4108*ab8db090SAndroid Build Coastguard Worker       ++PL_markstack_ptr; SWIG_CALLXS(_wrap_Trie_lookup__SWIG_0); return;
4109*ab8db090SAndroid Build Coastguard Worker     case 2:
4110*ab8db090SAndroid Build Coastguard Worker       ++PL_markstack_ptr; SWIG_CALLXS(_wrap_Trie_lookup__SWIG_1); return;
4111*ab8db090SAndroid Build Coastguard Worker     }
4112*ab8db090SAndroid Build Coastguard Worker   }
4113*ab8db090SAndroid Build Coastguard Worker 
4114*ab8db090SAndroid Build Coastguard Worker   croak("No matching function for overloaded 'Trie_lookup'");
4115*ab8db090SAndroid Build Coastguard Worker   XSRETURN(0);
4116*ab8db090SAndroid Build Coastguard Worker }
4117*ab8db090SAndroid Build Coastguard Worker 
4118*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Trie_reverse_lookup__SWIG_1)4119*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Trie_reverse_lookup__SWIG_1) {
4120*ab8db090SAndroid Build Coastguard Worker   {
4121*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
4122*ab8db090SAndroid Build Coastguard Worker     std::size_t arg2 ;
4123*ab8db090SAndroid Build Coastguard Worker     char **arg3 = (char **) 0 ;
4124*ab8db090SAndroid Build Coastguard Worker     std::size_t *arg4 = (std::size_t *) 0 ;
4125*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
4126*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
4127*ab8db090SAndroid Build Coastguard Worker     size_t val2 ;
4128*ab8db090SAndroid Build Coastguard Worker     int ecode2 = 0 ;
4129*ab8db090SAndroid Build Coastguard Worker     char *temp3 = 0 ;
4130*ab8db090SAndroid Build Coastguard Worker     std::size_t tempn3 ;
4131*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
4132*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
4133*ab8db090SAndroid Build Coastguard Worker 
4134*ab8db090SAndroid Build Coastguard Worker     arg3 = &temp3; arg4 = &tempn3;
4135*ab8db090SAndroid Build Coastguard Worker     if ((items < 2) || (items > 2)) {
4136*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Trie_reverse_lookup(self,id,length_out);");
4137*ab8db090SAndroid Build Coastguard Worker     }
4138*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
4139*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
4140*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_reverse_lookup" "', argument " "1"" of type '" "marisa_swig::Trie const *""'");
4141*ab8db090SAndroid Build Coastguard Worker     }
4142*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
4143*ab8db090SAndroid Build Coastguard Worker     ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
4144*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(ecode2)) {
4145*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Trie_reverse_lookup" "', argument " "2"" of type '" "std::size_t""'");
4146*ab8db090SAndroid Build Coastguard Worker     }
4147*ab8db090SAndroid Build Coastguard Worker     arg2 = static_cast< std::size_t >(val2);
4148*ab8db090SAndroid Build Coastguard Worker     {
4149*ab8db090SAndroid Build Coastguard Worker       try {
4150*ab8db090SAndroid Build Coastguard Worker         ((marisa_swig::Trie const *)arg1)->reverse_lookup(arg2,(char const **)arg3,arg4);
4151*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
4152*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
4153*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
4154*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
4155*ab8db090SAndroid Build Coastguard Worker       }
4156*ab8db090SAndroid Build Coastguard Worker     }
4157*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = sv_newmortal();
4158*ab8db090SAndroid Build Coastguard Worker     if (*arg3) {
4159*ab8db090SAndroid Build Coastguard Worker       if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_FromCharPtrAndSize(*arg3,*arg4); argvi++  ;
4160*ab8db090SAndroid Build Coastguard Worker       delete [] (*arg3);
4161*ab8db090SAndroid Build Coastguard Worker     }
4162*ab8db090SAndroid Build Coastguard Worker 
4163*ab8db090SAndroid Build Coastguard Worker 
4164*ab8db090SAndroid Build Coastguard Worker 
4165*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
4166*ab8db090SAndroid Build Coastguard Worker   fail:
4167*ab8db090SAndroid Build Coastguard Worker 
4168*ab8db090SAndroid Build Coastguard Worker 
4169*ab8db090SAndroid Build Coastguard Worker 
4170*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
4171*ab8db090SAndroid Build Coastguard Worker   }
4172*ab8db090SAndroid Build Coastguard Worker }
4173*ab8db090SAndroid Build Coastguard Worker 
4174*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Trie_reverse_lookup)4175*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Trie_reverse_lookup) {
4176*ab8db090SAndroid Build Coastguard Worker   dXSARGS;
4177*ab8db090SAndroid Build Coastguard Worker 
4178*ab8db090SAndroid Build Coastguard Worker   {
4179*ab8db090SAndroid Build Coastguard Worker     unsigned long _index = 0;
4180*ab8db090SAndroid Build Coastguard Worker     SWIG_TypeRank _rank = 0;
4181*ab8db090SAndroid Build Coastguard Worker     if (items == 2) {
4182*ab8db090SAndroid Build Coastguard Worker       SWIG_TypeRank _ranki = 0;
4183*ab8db090SAndroid Build Coastguard Worker       SWIG_TypeRank _rankm = 0;
4184*ab8db090SAndroid Build Coastguard Worker       SWIG_TypeRank _pi = 1;
4185*ab8db090SAndroid Build Coastguard Worker       int _v = 0;
4186*ab8db090SAndroid Build Coastguard Worker       {
4187*ab8db090SAndroid Build Coastguard Worker         void *vptr = 0;
4188*ab8db090SAndroid Build Coastguard Worker         int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_marisa_swig__Trie, 0);
4189*ab8db090SAndroid Build Coastguard Worker         _v = SWIG_CheckState(res);
4190*ab8db090SAndroid Build Coastguard Worker       }
4191*ab8db090SAndroid Build Coastguard Worker       if (!_v) goto check_1;
4192*ab8db090SAndroid Build Coastguard Worker       _ranki += _v*_pi;
4193*ab8db090SAndroid Build Coastguard Worker       _rankm += _pi;
4194*ab8db090SAndroid Build Coastguard Worker       _pi *= SWIG_MAXCASTRANK;
4195*ab8db090SAndroid Build Coastguard Worker       {
4196*ab8db090SAndroid Build Coastguard Worker         void *vptr = 0;
4197*ab8db090SAndroid Build Coastguard Worker         int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_marisa_swig__Agent, 0);
4198*ab8db090SAndroid Build Coastguard Worker         _v = SWIG_CheckState(res);
4199*ab8db090SAndroid Build Coastguard Worker       }
4200*ab8db090SAndroid Build Coastguard Worker       if (!_v) goto check_1;
4201*ab8db090SAndroid Build Coastguard Worker       _ranki += _v*_pi;
4202*ab8db090SAndroid Build Coastguard Worker       _rankm += _pi;
4203*ab8db090SAndroid Build Coastguard Worker       _pi *= SWIG_MAXCASTRANK;
4204*ab8db090SAndroid Build Coastguard Worker       if (!_index || (_ranki < _rank)) {
4205*ab8db090SAndroid Build Coastguard Worker         _rank = _ranki; _index = 1;
4206*ab8db090SAndroid Build Coastguard Worker         if (_rank == _rankm) goto dispatch;
4207*ab8db090SAndroid Build Coastguard Worker       }
4208*ab8db090SAndroid Build Coastguard Worker     }
4209*ab8db090SAndroid Build Coastguard Worker   check_1:
4210*ab8db090SAndroid Build Coastguard Worker 
4211*ab8db090SAndroid Build Coastguard Worker     if (items == 2) {
4212*ab8db090SAndroid Build Coastguard Worker       SWIG_TypeRank _ranki = 0;
4213*ab8db090SAndroid Build Coastguard Worker       SWIG_TypeRank _rankm = 0;
4214*ab8db090SAndroid Build Coastguard Worker       SWIG_TypeRank _pi = 1;
4215*ab8db090SAndroid Build Coastguard Worker       int _v = 0;
4216*ab8db090SAndroid Build Coastguard Worker       {
4217*ab8db090SAndroid Build Coastguard Worker         void *vptr = 0;
4218*ab8db090SAndroid Build Coastguard Worker         int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_marisa_swig__Trie, 0);
4219*ab8db090SAndroid Build Coastguard Worker         _v = SWIG_CheckState(res);
4220*ab8db090SAndroid Build Coastguard Worker       }
4221*ab8db090SAndroid Build Coastguard Worker       if (!_v) goto check_2;
4222*ab8db090SAndroid Build Coastguard Worker       _ranki += _v*_pi;
4223*ab8db090SAndroid Build Coastguard Worker       _rankm += _pi;
4224*ab8db090SAndroid Build Coastguard Worker       _pi *= SWIG_MAXCASTRANK;
4225*ab8db090SAndroid Build Coastguard Worker       {
4226*ab8db090SAndroid Build Coastguard Worker         {
4227*ab8db090SAndroid Build Coastguard Worker           int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
4228*ab8db090SAndroid Build Coastguard Worker           _v = SWIG_CheckState(res);
4229*ab8db090SAndroid Build Coastguard Worker         }
4230*ab8db090SAndroid Build Coastguard Worker       }
4231*ab8db090SAndroid Build Coastguard Worker       if (!_v) goto check_2;
4232*ab8db090SAndroid Build Coastguard Worker       _ranki += _v*_pi;
4233*ab8db090SAndroid Build Coastguard Worker       _rankm += _pi;
4234*ab8db090SAndroid Build Coastguard Worker       _pi *= SWIG_MAXCASTRANK;
4235*ab8db090SAndroid Build Coastguard Worker       if (!_index || (_ranki < _rank)) {
4236*ab8db090SAndroid Build Coastguard Worker         _rank = _ranki; _index = 2;
4237*ab8db090SAndroid Build Coastguard Worker         if (_rank == _rankm) goto dispatch;
4238*ab8db090SAndroid Build Coastguard Worker       }
4239*ab8db090SAndroid Build Coastguard Worker     }
4240*ab8db090SAndroid Build Coastguard Worker   check_2:
4241*ab8db090SAndroid Build Coastguard Worker 
4242*ab8db090SAndroid Build Coastguard Worker   dispatch:
4243*ab8db090SAndroid Build Coastguard Worker     switch(_index) {
4244*ab8db090SAndroid Build Coastguard Worker     case 1:
4245*ab8db090SAndroid Build Coastguard Worker       ++PL_markstack_ptr; SWIG_CALLXS(_wrap_Trie_reverse_lookup__SWIG_0); return;
4246*ab8db090SAndroid Build Coastguard Worker     case 2:
4247*ab8db090SAndroid Build Coastguard Worker       ++PL_markstack_ptr; SWIG_CALLXS(_wrap_Trie_reverse_lookup__SWIG_1); return;
4248*ab8db090SAndroid Build Coastguard Worker     }
4249*ab8db090SAndroid Build Coastguard Worker   }
4250*ab8db090SAndroid Build Coastguard Worker 
4251*ab8db090SAndroid Build Coastguard Worker   croak("No matching function for overloaded 'Trie_reverse_lookup'");
4252*ab8db090SAndroid Build Coastguard Worker   XSRETURN(0);
4253*ab8db090SAndroid Build Coastguard Worker }
4254*ab8db090SAndroid Build Coastguard Worker 
4255*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Trie_num_tries)4256*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Trie_num_tries) {
4257*ab8db090SAndroid Build Coastguard Worker   {
4258*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
4259*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
4260*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
4261*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
4262*ab8db090SAndroid Build Coastguard Worker     std::size_t result;
4263*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
4264*ab8db090SAndroid Build Coastguard Worker 
4265*ab8db090SAndroid Build Coastguard Worker     if ((items < 1) || (items > 1)) {
4266*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Trie_num_tries(self);");
4267*ab8db090SAndroid Build Coastguard Worker     }
4268*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
4269*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
4270*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_num_tries" "', argument " "1"" of type '" "marisa_swig::Trie const *""'");
4271*ab8db090SAndroid Build Coastguard Worker     }
4272*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
4273*ab8db090SAndroid Build Coastguard Worker     {
4274*ab8db090SAndroid Build Coastguard Worker       try {
4275*ab8db090SAndroid Build Coastguard Worker         result = ((marisa_swig::Trie const *)arg1)->num_tries();
4276*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
4277*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
4278*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
4279*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
4280*ab8db090SAndroid Build Coastguard Worker       }
4281*ab8db090SAndroid Build Coastguard Worker     }
4282*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
4283*ab8db090SAndroid Build Coastguard Worker 
4284*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
4285*ab8db090SAndroid Build Coastguard Worker   fail:
4286*ab8db090SAndroid Build Coastguard Worker 
4287*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
4288*ab8db090SAndroid Build Coastguard Worker   }
4289*ab8db090SAndroid Build Coastguard Worker }
4290*ab8db090SAndroid Build Coastguard Worker 
4291*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Trie_num_keys)4292*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Trie_num_keys) {
4293*ab8db090SAndroid Build Coastguard Worker   {
4294*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
4295*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
4296*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
4297*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
4298*ab8db090SAndroid Build Coastguard Worker     std::size_t result;
4299*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
4300*ab8db090SAndroid Build Coastguard Worker 
4301*ab8db090SAndroid Build Coastguard Worker     if ((items < 1) || (items > 1)) {
4302*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Trie_num_keys(self);");
4303*ab8db090SAndroid Build Coastguard Worker     }
4304*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
4305*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
4306*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_num_keys" "', argument " "1"" of type '" "marisa_swig::Trie const *""'");
4307*ab8db090SAndroid Build Coastguard Worker     }
4308*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
4309*ab8db090SAndroid Build Coastguard Worker     {
4310*ab8db090SAndroid Build Coastguard Worker       try {
4311*ab8db090SAndroid Build Coastguard Worker         result = ((marisa_swig::Trie const *)arg1)->num_keys();
4312*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
4313*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
4314*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
4315*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
4316*ab8db090SAndroid Build Coastguard Worker       }
4317*ab8db090SAndroid Build Coastguard Worker     }
4318*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
4319*ab8db090SAndroid Build Coastguard Worker 
4320*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
4321*ab8db090SAndroid Build Coastguard Worker   fail:
4322*ab8db090SAndroid Build Coastguard Worker 
4323*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
4324*ab8db090SAndroid Build Coastguard Worker   }
4325*ab8db090SAndroid Build Coastguard Worker }
4326*ab8db090SAndroid Build Coastguard Worker 
4327*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Trie_num_nodes)4328*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Trie_num_nodes) {
4329*ab8db090SAndroid Build Coastguard Worker   {
4330*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
4331*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
4332*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
4333*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
4334*ab8db090SAndroid Build Coastguard Worker     std::size_t result;
4335*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
4336*ab8db090SAndroid Build Coastguard Worker 
4337*ab8db090SAndroid Build Coastguard Worker     if ((items < 1) || (items > 1)) {
4338*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Trie_num_nodes(self);");
4339*ab8db090SAndroid Build Coastguard Worker     }
4340*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
4341*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
4342*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_num_nodes" "', argument " "1"" of type '" "marisa_swig::Trie const *""'");
4343*ab8db090SAndroid Build Coastguard Worker     }
4344*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
4345*ab8db090SAndroid Build Coastguard Worker     {
4346*ab8db090SAndroid Build Coastguard Worker       try {
4347*ab8db090SAndroid Build Coastguard Worker         result = ((marisa_swig::Trie const *)arg1)->num_nodes();
4348*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
4349*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
4350*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
4351*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
4352*ab8db090SAndroid Build Coastguard Worker       }
4353*ab8db090SAndroid Build Coastguard Worker     }
4354*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
4355*ab8db090SAndroid Build Coastguard Worker 
4356*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
4357*ab8db090SAndroid Build Coastguard Worker   fail:
4358*ab8db090SAndroid Build Coastguard Worker 
4359*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
4360*ab8db090SAndroid Build Coastguard Worker   }
4361*ab8db090SAndroid Build Coastguard Worker }
4362*ab8db090SAndroid Build Coastguard Worker 
4363*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Trie_tail_mode)4364*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Trie_tail_mode) {
4365*ab8db090SAndroid Build Coastguard Worker   {
4366*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
4367*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
4368*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
4369*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
4370*ab8db090SAndroid Build Coastguard Worker     marisa_swig::TailMode result;
4371*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
4372*ab8db090SAndroid Build Coastguard Worker 
4373*ab8db090SAndroid Build Coastguard Worker     if ((items < 1) || (items > 1)) {
4374*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Trie_tail_mode(self);");
4375*ab8db090SAndroid Build Coastguard Worker     }
4376*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
4377*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
4378*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_tail_mode" "', argument " "1"" of type '" "marisa_swig::Trie const *""'");
4379*ab8db090SAndroid Build Coastguard Worker     }
4380*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
4381*ab8db090SAndroid Build Coastguard Worker     {
4382*ab8db090SAndroid Build Coastguard Worker       try {
4383*ab8db090SAndroid Build Coastguard Worker         result = (marisa_swig::TailMode)((marisa_swig::Trie const *)arg1)->tail_mode();
4384*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
4385*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
4386*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
4387*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
4388*ab8db090SAndroid Build Coastguard Worker       }
4389*ab8db090SAndroid Build Coastguard Worker     }
4390*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
4391*ab8db090SAndroid Build Coastguard Worker 
4392*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
4393*ab8db090SAndroid Build Coastguard Worker   fail:
4394*ab8db090SAndroid Build Coastguard Worker 
4395*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
4396*ab8db090SAndroid Build Coastguard Worker   }
4397*ab8db090SAndroid Build Coastguard Worker }
4398*ab8db090SAndroid Build Coastguard Worker 
4399*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Trie_node_order)4400*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Trie_node_order) {
4401*ab8db090SAndroid Build Coastguard Worker   {
4402*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
4403*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
4404*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
4405*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
4406*ab8db090SAndroid Build Coastguard Worker     marisa_swig::NodeOrder result;
4407*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
4408*ab8db090SAndroid Build Coastguard Worker 
4409*ab8db090SAndroid Build Coastguard Worker     if ((items < 1) || (items > 1)) {
4410*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Trie_node_order(self);");
4411*ab8db090SAndroid Build Coastguard Worker     }
4412*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
4413*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
4414*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_node_order" "', argument " "1"" of type '" "marisa_swig::Trie const *""'");
4415*ab8db090SAndroid Build Coastguard Worker     }
4416*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
4417*ab8db090SAndroid Build Coastguard Worker     {
4418*ab8db090SAndroid Build Coastguard Worker       try {
4419*ab8db090SAndroid Build Coastguard Worker         result = (marisa_swig::NodeOrder)((marisa_swig::Trie const *)arg1)->node_order();
4420*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
4421*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
4422*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
4423*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
4424*ab8db090SAndroid Build Coastguard Worker       }
4425*ab8db090SAndroid Build Coastguard Worker     }
4426*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
4427*ab8db090SAndroid Build Coastguard Worker 
4428*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
4429*ab8db090SAndroid Build Coastguard Worker   fail:
4430*ab8db090SAndroid Build Coastguard Worker 
4431*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
4432*ab8db090SAndroid Build Coastguard Worker   }
4433*ab8db090SAndroid Build Coastguard Worker }
4434*ab8db090SAndroid Build Coastguard Worker 
4435*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Trie_empty)4436*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Trie_empty) {
4437*ab8db090SAndroid Build Coastguard Worker   {
4438*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
4439*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
4440*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
4441*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
4442*ab8db090SAndroid Build Coastguard Worker     bool result;
4443*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
4444*ab8db090SAndroid Build Coastguard Worker 
4445*ab8db090SAndroid Build Coastguard Worker     if ((items < 1) || (items > 1)) {
4446*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Trie_empty(self);");
4447*ab8db090SAndroid Build Coastguard Worker     }
4448*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
4449*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
4450*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_empty" "', argument " "1"" of type '" "marisa_swig::Trie const *""'");
4451*ab8db090SAndroid Build Coastguard Worker     }
4452*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
4453*ab8db090SAndroid Build Coastguard Worker     {
4454*ab8db090SAndroid Build Coastguard Worker       try {
4455*ab8db090SAndroid Build Coastguard Worker         result = (bool)((marisa_swig::Trie const *)arg1)->empty();
4456*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
4457*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
4458*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
4459*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
4460*ab8db090SAndroid Build Coastguard Worker       }
4461*ab8db090SAndroid Build Coastguard Worker     }
4462*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
4463*ab8db090SAndroid Build Coastguard Worker 
4464*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
4465*ab8db090SAndroid Build Coastguard Worker   fail:
4466*ab8db090SAndroid Build Coastguard Worker 
4467*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
4468*ab8db090SAndroid Build Coastguard Worker   }
4469*ab8db090SAndroid Build Coastguard Worker }
4470*ab8db090SAndroid Build Coastguard Worker 
4471*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Trie_size)4472*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Trie_size) {
4473*ab8db090SAndroid Build Coastguard Worker   {
4474*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
4475*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
4476*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
4477*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
4478*ab8db090SAndroid Build Coastguard Worker     std::size_t result;
4479*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
4480*ab8db090SAndroid Build Coastguard Worker 
4481*ab8db090SAndroid Build Coastguard Worker     if ((items < 1) || (items > 1)) {
4482*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Trie_size(self);");
4483*ab8db090SAndroid Build Coastguard Worker     }
4484*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
4485*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
4486*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_size" "', argument " "1"" of type '" "marisa_swig::Trie const *""'");
4487*ab8db090SAndroid Build Coastguard Worker     }
4488*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
4489*ab8db090SAndroid Build Coastguard Worker     {
4490*ab8db090SAndroid Build Coastguard Worker       try {
4491*ab8db090SAndroid Build Coastguard Worker         result = ((marisa_swig::Trie const *)arg1)->size();
4492*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
4493*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
4494*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
4495*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
4496*ab8db090SAndroid Build Coastguard Worker       }
4497*ab8db090SAndroid Build Coastguard Worker     }
4498*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
4499*ab8db090SAndroid Build Coastguard Worker 
4500*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
4501*ab8db090SAndroid Build Coastguard Worker   fail:
4502*ab8db090SAndroid Build Coastguard Worker 
4503*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
4504*ab8db090SAndroid Build Coastguard Worker   }
4505*ab8db090SAndroid Build Coastguard Worker }
4506*ab8db090SAndroid Build Coastguard Worker 
4507*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Trie_total_size)4508*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Trie_total_size) {
4509*ab8db090SAndroid Build Coastguard Worker   {
4510*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
4511*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
4512*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
4513*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
4514*ab8db090SAndroid Build Coastguard Worker     std::size_t result;
4515*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
4516*ab8db090SAndroid Build Coastguard Worker 
4517*ab8db090SAndroid Build Coastguard Worker     if ((items < 1) || (items > 1)) {
4518*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Trie_total_size(self);");
4519*ab8db090SAndroid Build Coastguard Worker     }
4520*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
4521*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
4522*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_total_size" "', argument " "1"" of type '" "marisa_swig::Trie const *""'");
4523*ab8db090SAndroid Build Coastguard Worker     }
4524*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
4525*ab8db090SAndroid Build Coastguard Worker     {
4526*ab8db090SAndroid Build Coastguard Worker       try {
4527*ab8db090SAndroid Build Coastguard Worker         result = ((marisa_swig::Trie const *)arg1)->total_size();
4528*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
4529*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
4530*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
4531*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
4532*ab8db090SAndroid Build Coastguard Worker       }
4533*ab8db090SAndroid Build Coastguard Worker     }
4534*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
4535*ab8db090SAndroid Build Coastguard Worker 
4536*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
4537*ab8db090SAndroid Build Coastguard Worker   fail:
4538*ab8db090SAndroid Build Coastguard Worker 
4539*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
4540*ab8db090SAndroid Build Coastguard Worker   }
4541*ab8db090SAndroid Build Coastguard Worker }
4542*ab8db090SAndroid Build Coastguard Worker 
4543*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Trie_io_size)4544*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Trie_io_size) {
4545*ab8db090SAndroid Build Coastguard Worker   {
4546*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
4547*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
4548*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
4549*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
4550*ab8db090SAndroid Build Coastguard Worker     std::size_t result;
4551*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
4552*ab8db090SAndroid Build Coastguard Worker 
4553*ab8db090SAndroid Build Coastguard Worker     if ((items < 1) || (items > 1)) {
4554*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Trie_io_size(self);");
4555*ab8db090SAndroid Build Coastguard Worker     }
4556*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
4557*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
4558*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_io_size" "', argument " "1"" of type '" "marisa_swig::Trie const *""'");
4559*ab8db090SAndroid Build Coastguard Worker     }
4560*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
4561*ab8db090SAndroid Build Coastguard Worker     {
4562*ab8db090SAndroid Build Coastguard Worker       try {
4563*ab8db090SAndroid Build Coastguard Worker         result = ((marisa_swig::Trie const *)arg1)->io_size();
4564*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
4565*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
4566*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
4567*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
4568*ab8db090SAndroid Build Coastguard Worker       }
4569*ab8db090SAndroid Build Coastguard Worker     }
4570*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
4571*ab8db090SAndroid Build Coastguard Worker 
4572*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
4573*ab8db090SAndroid Build Coastguard Worker   fail:
4574*ab8db090SAndroid Build Coastguard Worker 
4575*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
4576*ab8db090SAndroid Build Coastguard Worker   }
4577*ab8db090SAndroid Build Coastguard Worker }
4578*ab8db090SAndroid Build Coastguard Worker 
4579*ab8db090SAndroid Build Coastguard Worker 
XS(_wrap_Trie_clear)4580*ab8db090SAndroid Build Coastguard Worker XS(_wrap_Trie_clear) {
4581*ab8db090SAndroid Build Coastguard Worker   {
4582*ab8db090SAndroid Build Coastguard Worker     marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
4583*ab8db090SAndroid Build Coastguard Worker     void *argp1 = 0 ;
4584*ab8db090SAndroid Build Coastguard Worker     int res1 = 0 ;
4585*ab8db090SAndroid Build Coastguard Worker     int argvi = 0;
4586*ab8db090SAndroid Build Coastguard Worker     dXSARGS;
4587*ab8db090SAndroid Build Coastguard Worker 
4588*ab8db090SAndroid Build Coastguard Worker     if ((items < 1) || (items > 1)) {
4589*ab8db090SAndroid Build Coastguard Worker       SWIG_croak("Usage: Trie_clear(self);");
4590*ab8db090SAndroid Build Coastguard Worker     }
4591*ab8db090SAndroid Build Coastguard Worker     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
4592*ab8db090SAndroid Build Coastguard Worker     if (!SWIG_IsOK(res1)) {
4593*ab8db090SAndroid Build Coastguard Worker       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_clear" "', argument " "1"" of type '" "marisa_swig::Trie *""'");
4594*ab8db090SAndroid Build Coastguard Worker     }
4595*ab8db090SAndroid Build Coastguard Worker     arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
4596*ab8db090SAndroid Build Coastguard Worker     {
4597*ab8db090SAndroid Build Coastguard Worker       try {
4598*ab8db090SAndroid Build Coastguard Worker         (arg1)->clear();
4599*ab8db090SAndroid Build Coastguard Worker       } catch (const marisa::Exception &ex) {
4600*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_RuntimeError, ex.what());
4601*ab8db090SAndroid Build Coastguard Worker       } catch (...) {
4602*ab8db090SAndroid Build Coastguard Worker         SWIG_exception(SWIG_UnknownError,"Unknown exception");
4603*ab8db090SAndroid Build Coastguard Worker       }
4604*ab8db090SAndroid Build Coastguard Worker     }
4605*ab8db090SAndroid Build Coastguard Worker     ST(argvi) = sv_newmortal();
4606*ab8db090SAndroid Build Coastguard Worker 
4607*ab8db090SAndroid Build Coastguard Worker     XSRETURN(argvi);
4608*ab8db090SAndroid Build Coastguard Worker   fail:
4609*ab8db090SAndroid Build Coastguard Worker 
4610*ab8db090SAndroid Build Coastguard Worker     SWIG_croak_null();
4611*ab8db090SAndroid Build Coastguard Worker   }
4612*ab8db090SAndroid Build Coastguard Worker }
4613*ab8db090SAndroid Build Coastguard Worker 
4614*ab8db090SAndroid Build Coastguard Worker 
4615*ab8db090SAndroid Build Coastguard Worker 
4616*ab8db090SAndroid Build Coastguard Worker /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
4617*ab8db090SAndroid Build Coastguard Worker 
4618*ab8db090SAndroid Build Coastguard Worker static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0};
4619*ab8db090SAndroid Build Coastguard Worker static swig_type_info _swigt__p_marisa__Key = {"_p_marisa__Key", "marisa::Key *", 0, 0, (void*)0, 0};
4620*ab8db090SAndroid Build Coastguard Worker static swig_type_info _swigt__p_marisa_swig__Agent = {"_p_marisa_swig__Agent", "marisa_swig::Agent *", 0, 0, (void*)"marisa::Agent", 0};
4621*ab8db090SAndroid Build Coastguard Worker static swig_type_info _swigt__p_marisa_swig__Key = {"_p_marisa_swig__Key", "marisa_swig::Key *", 0, 0, (void*)"marisa::Key", 0};
4622*ab8db090SAndroid Build Coastguard Worker static swig_type_info _swigt__p_marisa_swig__Keyset = {"_p_marisa_swig__Keyset", "marisa_swig::Keyset *", 0, 0, (void*)"marisa::Keyset", 0};
4623*ab8db090SAndroid Build Coastguard Worker static swig_type_info _swigt__p_marisa_swig__Query = {"_p_marisa_swig__Query", "marisa_swig::Query *", 0, 0, (void*)"marisa::Query", 0};
4624*ab8db090SAndroid Build Coastguard Worker static swig_type_info _swigt__p_marisa_swig__Trie = {"_p_marisa_swig__Trie", "marisa_swig::Trie *", 0, 0, (void*)"marisa::Trie", 0};
4625*ab8db090SAndroid Build Coastguard Worker static swig_type_info _swigt__p_p_char = {"_p_p_char", "char **", 0, 0, (void*)0, 0};
4626*ab8db090SAndroid Build Coastguard Worker static swig_type_info _swigt__p_std__size_t = {"_p_std__size_t", "std::size_t *", 0, 0, (void*)0, 0};
4627*ab8db090SAndroid Build Coastguard Worker 
4628*ab8db090SAndroid Build Coastguard Worker static swig_type_info *swig_type_initial[] = {
4629*ab8db090SAndroid Build Coastguard Worker   &_swigt__p_char,
4630*ab8db090SAndroid Build Coastguard Worker   &_swigt__p_marisa__Key,
4631*ab8db090SAndroid Build Coastguard Worker   &_swigt__p_marisa_swig__Agent,
4632*ab8db090SAndroid Build Coastguard Worker   &_swigt__p_marisa_swig__Key,
4633*ab8db090SAndroid Build Coastguard Worker   &_swigt__p_marisa_swig__Keyset,
4634*ab8db090SAndroid Build Coastguard Worker   &_swigt__p_marisa_swig__Query,
4635*ab8db090SAndroid Build Coastguard Worker   &_swigt__p_marisa_swig__Trie,
4636*ab8db090SAndroid Build Coastguard Worker   &_swigt__p_p_char,
4637*ab8db090SAndroid Build Coastguard Worker   &_swigt__p_std__size_t,
4638*ab8db090SAndroid Build Coastguard Worker };
4639*ab8db090SAndroid Build Coastguard Worker 
4640*ab8db090SAndroid Build Coastguard Worker static swig_cast_info _swigc__p_char[] = {  {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}};
4641*ab8db090SAndroid Build Coastguard Worker static swig_cast_info _swigc__p_marisa__Key[] = {  {&_swigt__p_marisa__Key, 0, 0, 0},{0, 0, 0, 0}};
4642*ab8db090SAndroid Build Coastguard Worker static swig_cast_info _swigc__p_marisa_swig__Agent[] = {  {&_swigt__p_marisa_swig__Agent, 0, 0, 0},{0, 0, 0, 0}};
4643*ab8db090SAndroid Build Coastguard Worker static swig_cast_info _swigc__p_marisa_swig__Key[] = {  {&_swigt__p_marisa_swig__Key, 0, 0, 0},{0, 0, 0, 0}};
4644*ab8db090SAndroid Build Coastguard Worker static swig_cast_info _swigc__p_marisa_swig__Keyset[] = {  {&_swigt__p_marisa_swig__Keyset, 0, 0, 0},{0, 0, 0, 0}};
4645*ab8db090SAndroid Build Coastguard Worker static swig_cast_info _swigc__p_marisa_swig__Query[] = {  {&_swigt__p_marisa_swig__Query, 0, 0, 0},{0, 0, 0, 0}};
4646*ab8db090SAndroid Build Coastguard Worker static swig_cast_info _swigc__p_marisa_swig__Trie[] = {  {&_swigt__p_marisa_swig__Trie, 0, 0, 0},{0, 0, 0, 0}};
4647*ab8db090SAndroid Build Coastguard Worker static swig_cast_info _swigc__p_p_char[] = {  {&_swigt__p_p_char, 0, 0, 0},{0, 0, 0, 0}};
4648*ab8db090SAndroid Build Coastguard Worker static swig_cast_info _swigc__p_std__size_t[] = {  {&_swigt__p_std__size_t, 0, 0, 0},{0, 0, 0, 0}};
4649*ab8db090SAndroid Build Coastguard Worker 
4650*ab8db090SAndroid Build Coastguard Worker static swig_cast_info *swig_cast_initial[] = {
4651*ab8db090SAndroid Build Coastguard Worker   _swigc__p_char,
4652*ab8db090SAndroid Build Coastguard Worker   _swigc__p_marisa__Key,
4653*ab8db090SAndroid Build Coastguard Worker   _swigc__p_marisa_swig__Agent,
4654*ab8db090SAndroid Build Coastguard Worker   _swigc__p_marisa_swig__Key,
4655*ab8db090SAndroid Build Coastguard Worker   _swigc__p_marisa_swig__Keyset,
4656*ab8db090SAndroid Build Coastguard Worker   _swigc__p_marisa_swig__Query,
4657*ab8db090SAndroid Build Coastguard Worker   _swigc__p_marisa_swig__Trie,
4658*ab8db090SAndroid Build Coastguard Worker   _swigc__p_p_char,
4659*ab8db090SAndroid Build Coastguard Worker   _swigc__p_std__size_t,
4660*ab8db090SAndroid Build Coastguard Worker };
4661*ab8db090SAndroid Build Coastguard Worker 
4662*ab8db090SAndroid Build Coastguard Worker 
4663*ab8db090SAndroid Build Coastguard Worker /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */
4664*ab8db090SAndroid Build Coastguard Worker 
4665*ab8db090SAndroid Build Coastguard Worker static swig_constant_info swig_constants[] = {
4666*ab8db090SAndroid Build Coastguard Worker {0,0,0,0,0,0}
4667*ab8db090SAndroid Build Coastguard Worker };
4668*ab8db090SAndroid Build Coastguard Worker #ifdef __cplusplus
4669*ab8db090SAndroid Build Coastguard Worker }
4670*ab8db090SAndroid Build Coastguard Worker #endif
4671*ab8db090SAndroid Build Coastguard Worker static swig_variable_info swig_variables[] = {
4672*ab8db090SAndroid Build Coastguard Worker {0,0,0,0}
4673*ab8db090SAndroid Build Coastguard Worker };
4674*ab8db090SAndroid Build Coastguard Worker static swig_command_info swig_commands[] = {
4675*ab8db090SAndroid Build Coastguard Worker {"marisac::Key_str", _wrap_Key_str},
4676*ab8db090SAndroid Build Coastguard Worker {"marisac::Key_id", _wrap_Key_id},
4677*ab8db090SAndroid Build Coastguard Worker {"marisac::Key_weight", _wrap_Key_weight},
4678*ab8db090SAndroid Build Coastguard Worker {"marisac::delete_Key", _wrap_delete_Key},
4679*ab8db090SAndroid Build Coastguard Worker {"marisac::Query_str", _wrap_Query_str},
4680*ab8db090SAndroid Build Coastguard Worker {"marisac::Query_id", _wrap_Query_id},
4681*ab8db090SAndroid Build Coastguard Worker {"marisac::delete_Query", _wrap_delete_Query},
4682*ab8db090SAndroid Build Coastguard Worker {"marisac::new_Keyset", _wrap_new_Keyset},
4683*ab8db090SAndroid Build Coastguard Worker {"marisac::delete_Keyset", _wrap_delete_Keyset},
4684*ab8db090SAndroid Build Coastguard Worker {"marisac::Keyset_push_back", _wrap_Keyset_push_back},
4685*ab8db090SAndroid Build Coastguard Worker {"marisac::Keyset_key", _wrap_Keyset_key},
4686*ab8db090SAndroid Build Coastguard Worker {"marisac::Keyset_key_str", _wrap_Keyset_key_str},
4687*ab8db090SAndroid Build Coastguard Worker {"marisac::Keyset_key_id", _wrap_Keyset_key_id},
4688*ab8db090SAndroid Build Coastguard Worker {"marisac::Keyset_num_keys", _wrap_Keyset_num_keys},
4689*ab8db090SAndroid Build Coastguard Worker {"marisac::Keyset_empty", _wrap_Keyset_empty},
4690*ab8db090SAndroid Build Coastguard Worker {"marisac::Keyset_size", _wrap_Keyset_size},
4691*ab8db090SAndroid Build Coastguard Worker {"marisac::Keyset_total_length", _wrap_Keyset_total_length},
4692*ab8db090SAndroid Build Coastguard Worker {"marisac::Keyset_reset", _wrap_Keyset_reset},
4693*ab8db090SAndroid Build Coastguard Worker {"marisac::Keyset_clear", _wrap_Keyset_clear},
4694*ab8db090SAndroid Build Coastguard Worker {"marisac::new_Agent", _wrap_new_Agent},
4695*ab8db090SAndroid Build Coastguard Worker {"marisac::delete_Agent", _wrap_delete_Agent},
4696*ab8db090SAndroid Build Coastguard Worker {"marisac::Agent_set_query", _wrap_Agent_set_query},
4697*ab8db090SAndroid Build Coastguard Worker {"marisac::Agent_key", _wrap_Agent_key},
4698*ab8db090SAndroid Build Coastguard Worker {"marisac::Agent_query", _wrap_Agent_query},
4699*ab8db090SAndroid Build Coastguard Worker {"marisac::Agent_key_str", _wrap_Agent_key_str},
4700*ab8db090SAndroid Build Coastguard Worker {"marisac::Agent_key_id", _wrap_Agent_key_id},
4701*ab8db090SAndroid Build Coastguard Worker {"marisac::Agent_query_str", _wrap_Agent_query_str},
4702*ab8db090SAndroid Build Coastguard Worker {"marisac::Agent_query_id", _wrap_Agent_query_id},
4703*ab8db090SAndroid Build Coastguard Worker {"marisac::new_Trie", _wrap_new_Trie},
4704*ab8db090SAndroid Build Coastguard Worker {"marisac::delete_Trie", _wrap_delete_Trie},
4705*ab8db090SAndroid Build Coastguard Worker {"marisac::Trie_build", _wrap_Trie_build},
4706*ab8db090SAndroid Build Coastguard Worker {"marisac::Trie_mmap", _wrap_Trie_mmap},
4707*ab8db090SAndroid Build Coastguard Worker {"marisac::Trie_load", _wrap_Trie_load},
4708*ab8db090SAndroid Build Coastguard Worker {"marisac::Trie_save", _wrap_Trie_save},
4709*ab8db090SAndroid Build Coastguard Worker {"marisac::Trie_common_prefix_search", _wrap_Trie_common_prefix_search},
4710*ab8db090SAndroid Build Coastguard Worker {"marisac::Trie_predictive_search", _wrap_Trie_predictive_search},
4711*ab8db090SAndroid Build Coastguard Worker {"marisac::Trie_lookup", _wrap_Trie_lookup},
4712*ab8db090SAndroid Build Coastguard Worker {"marisac::Trie_reverse_lookup", _wrap_Trie_reverse_lookup},
4713*ab8db090SAndroid Build Coastguard Worker {"marisac::Trie_num_tries", _wrap_Trie_num_tries},
4714*ab8db090SAndroid Build Coastguard Worker {"marisac::Trie_num_keys", _wrap_Trie_num_keys},
4715*ab8db090SAndroid Build Coastguard Worker {"marisac::Trie_num_nodes", _wrap_Trie_num_nodes},
4716*ab8db090SAndroid Build Coastguard Worker {"marisac::Trie_tail_mode", _wrap_Trie_tail_mode},
4717*ab8db090SAndroid Build Coastguard Worker {"marisac::Trie_node_order", _wrap_Trie_node_order},
4718*ab8db090SAndroid Build Coastguard Worker {"marisac::Trie_empty", _wrap_Trie_empty},
4719*ab8db090SAndroid Build Coastguard Worker {"marisac::Trie_size", _wrap_Trie_size},
4720*ab8db090SAndroid Build Coastguard Worker {"marisac::Trie_total_size", _wrap_Trie_total_size},
4721*ab8db090SAndroid Build Coastguard Worker {"marisac::Trie_io_size", _wrap_Trie_io_size},
4722*ab8db090SAndroid Build Coastguard Worker {"marisac::Trie_clear", _wrap_Trie_clear},
4723*ab8db090SAndroid Build Coastguard Worker {0,0}
4724*ab8db090SAndroid Build Coastguard Worker };
4725*ab8db090SAndroid Build Coastguard Worker /* -----------------------------------------------------------------------------
4726*ab8db090SAndroid Build Coastguard Worker  * Type initialization:
4727*ab8db090SAndroid Build Coastguard Worker  * This problem is tough by the requirement that no dynamic
4728*ab8db090SAndroid Build Coastguard Worker  * memory is used. Also, since swig_type_info structures store pointers to
4729*ab8db090SAndroid Build Coastguard Worker  * swig_cast_info structures and swig_cast_info structures store pointers back
4730*ab8db090SAndroid Build Coastguard Worker  * to swig_type_info structures, we need some lookup code at initialization.
4731*ab8db090SAndroid Build Coastguard Worker  * The idea is that swig generates all the structures that are needed.
4732*ab8db090SAndroid Build Coastguard Worker  * The runtime then collects these partially filled structures.
4733*ab8db090SAndroid Build Coastguard Worker  * The SWIG_InitializeModule function takes these initial arrays out of
4734*ab8db090SAndroid Build Coastguard Worker  * swig_module, and does all the lookup, filling in the swig_module.types
4735*ab8db090SAndroid Build Coastguard Worker  * array with the correct data and linking the correct swig_cast_info
4736*ab8db090SAndroid Build Coastguard Worker  * structures together.
4737*ab8db090SAndroid Build Coastguard Worker  *
4738*ab8db090SAndroid Build Coastguard Worker  * The generated swig_type_info structures are assigned staticly to an initial
4739*ab8db090SAndroid Build Coastguard Worker  * array. We just loop through that array, and handle each type individually.
4740*ab8db090SAndroid Build Coastguard Worker  * First we lookup if this type has been already loaded, and if so, use the
4741*ab8db090SAndroid Build Coastguard Worker  * loaded structure instead of the generated one. Then we have to fill in the
4742*ab8db090SAndroid Build Coastguard Worker  * cast linked list. The cast data is initially stored in something like a
4743*ab8db090SAndroid Build Coastguard Worker  * two-dimensional array. Each row corresponds to a type (there are the same
4744*ab8db090SAndroid Build Coastguard Worker  * number of rows as there are in the swig_type_initial array). Each entry in
4745*ab8db090SAndroid Build Coastguard Worker  * a column is one of the swig_cast_info structures for that type.
4746*ab8db090SAndroid Build Coastguard Worker  * The cast_initial array is actually an array of arrays, because each row has
4747*ab8db090SAndroid Build Coastguard Worker  * a variable number of columns. So to actually build the cast linked list,
4748*ab8db090SAndroid Build Coastguard Worker  * we find the array of casts associated with the type, and loop through it
4749*ab8db090SAndroid Build Coastguard Worker  * adding the casts to the list. The one last trick we need to do is making
4750*ab8db090SAndroid Build Coastguard Worker  * sure the type pointer in the swig_cast_info struct is correct.
4751*ab8db090SAndroid Build Coastguard Worker  *
4752*ab8db090SAndroid Build Coastguard Worker  * First off, we lookup the cast->type name to see if it is already loaded.
4753*ab8db090SAndroid Build Coastguard Worker  * There are three cases to handle:
4754*ab8db090SAndroid Build Coastguard Worker  *  1) If the cast->type has already been loaded AND the type we are adding
4755*ab8db090SAndroid Build Coastguard Worker  *     casting info to has not been loaded (it is in this module), THEN we
4756*ab8db090SAndroid Build Coastguard Worker  *     replace the cast->type pointer with the type pointer that has already
4757*ab8db090SAndroid Build Coastguard Worker  *     been loaded.
4758*ab8db090SAndroid Build Coastguard Worker  *  2) If BOTH types (the one we are adding casting info to, and the
4759*ab8db090SAndroid Build Coastguard Worker  *     cast->type) are loaded, THEN the cast info has already been loaded by
4760*ab8db090SAndroid Build Coastguard Worker  *     the previous module so we just ignore it.
4761*ab8db090SAndroid Build Coastguard Worker  *  3) Finally, if cast->type has not already been loaded, then we add that
4762*ab8db090SAndroid Build Coastguard Worker  *     swig_cast_info to the linked list (because the cast->type) pointer will
4763*ab8db090SAndroid Build Coastguard Worker  *     be correct.
4764*ab8db090SAndroid Build Coastguard Worker  * ----------------------------------------------------------------------------- */
4765*ab8db090SAndroid Build Coastguard Worker 
4766*ab8db090SAndroid Build Coastguard Worker #ifdef __cplusplus
4767*ab8db090SAndroid Build Coastguard Worker extern "C" {
4768*ab8db090SAndroid Build Coastguard Worker #if 0
4769*ab8db090SAndroid Build Coastguard Worker } /* c-mode */
4770*ab8db090SAndroid Build Coastguard Worker #endif
4771*ab8db090SAndroid Build Coastguard Worker #endif
4772*ab8db090SAndroid Build Coastguard Worker 
4773*ab8db090SAndroid Build Coastguard Worker #if 0
4774*ab8db090SAndroid Build Coastguard Worker #define SWIGRUNTIME_DEBUG
4775*ab8db090SAndroid Build Coastguard Worker #endif
4776*ab8db090SAndroid Build Coastguard Worker 
4777*ab8db090SAndroid Build Coastguard Worker 
4778*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME void
SWIG_InitializeModule(void * clientdata)4779*ab8db090SAndroid Build Coastguard Worker SWIG_InitializeModule(void *clientdata) {
4780*ab8db090SAndroid Build Coastguard Worker   size_t i;
4781*ab8db090SAndroid Build Coastguard Worker   swig_module_info *module_head, *iter;
4782*ab8db090SAndroid Build Coastguard Worker   int found, init;
4783*ab8db090SAndroid Build Coastguard Worker 
4784*ab8db090SAndroid Build Coastguard Worker   clientdata = clientdata;
4785*ab8db090SAndroid Build Coastguard Worker 
4786*ab8db090SAndroid Build Coastguard Worker   /* check to see if the circular list has been setup, if not, set it up */
4787*ab8db090SAndroid Build Coastguard Worker   if (swig_module.next==0) {
4788*ab8db090SAndroid Build Coastguard Worker     /* Initialize the swig_module */
4789*ab8db090SAndroid Build Coastguard Worker     swig_module.type_initial = swig_type_initial;
4790*ab8db090SAndroid Build Coastguard Worker     swig_module.cast_initial = swig_cast_initial;
4791*ab8db090SAndroid Build Coastguard Worker     swig_module.next = &swig_module;
4792*ab8db090SAndroid Build Coastguard Worker     init = 1;
4793*ab8db090SAndroid Build Coastguard Worker   } else {
4794*ab8db090SAndroid Build Coastguard Worker     init = 0;
4795*ab8db090SAndroid Build Coastguard Worker   }
4796*ab8db090SAndroid Build Coastguard Worker 
4797*ab8db090SAndroid Build Coastguard Worker   /* Try and load any already created modules */
4798*ab8db090SAndroid Build Coastguard Worker   module_head = SWIG_GetModule(clientdata);
4799*ab8db090SAndroid Build Coastguard Worker   if (!module_head) {
4800*ab8db090SAndroid Build Coastguard Worker     /* This is the first module loaded for this interpreter */
4801*ab8db090SAndroid Build Coastguard Worker     /* so set the swig module into the interpreter */
4802*ab8db090SAndroid Build Coastguard Worker     SWIG_SetModule(clientdata, &swig_module);
4803*ab8db090SAndroid Build Coastguard Worker     module_head = &swig_module;
4804*ab8db090SAndroid Build Coastguard Worker   } else {
4805*ab8db090SAndroid Build Coastguard Worker     /* the interpreter has loaded a SWIG module, but has it loaded this one? */
4806*ab8db090SAndroid Build Coastguard Worker     found=0;
4807*ab8db090SAndroid Build Coastguard Worker     iter=module_head;
4808*ab8db090SAndroid Build Coastguard Worker     do {
4809*ab8db090SAndroid Build Coastguard Worker       if (iter==&swig_module) {
4810*ab8db090SAndroid Build Coastguard Worker         found=1;
4811*ab8db090SAndroid Build Coastguard Worker         break;
4812*ab8db090SAndroid Build Coastguard Worker       }
4813*ab8db090SAndroid Build Coastguard Worker       iter=iter->next;
4814*ab8db090SAndroid Build Coastguard Worker     } while (iter!= module_head);
4815*ab8db090SAndroid Build Coastguard Worker 
4816*ab8db090SAndroid Build Coastguard Worker     /* if the is found in the list, then all is done and we may leave */
4817*ab8db090SAndroid Build Coastguard Worker     if (found) return;
4818*ab8db090SAndroid Build Coastguard Worker     /* otherwise we must add out module into the list */
4819*ab8db090SAndroid Build Coastguard Worker     swig_module.next = module_head->next;
4820*ab8db090SAndroid Build Coastguard Worker     module_head->next = &swig_module;
4821*ab8db090SAndroid Build Coastguard Worker   }
4822*ab8db090SAndroid Build Coastguard Worker 
4823*ab8db090SAndroid Build Coastguard Worker   /* When multiple interpeters are used, a module could have already been initialized in
4824*ab8db090SAndroid Build Coastguard Worker        a different interpreter, but not yet have a pointer in this interpreter.
4825*ab8db090SAndroid Build Coastguard Worker        In this case, we do not want to continue adding types... everything should be
4826*ab8db090SAndroid Build Coastguard Worker        set up already */
4827*ab8db090SAndroid Build Coastguard Worker   if (init == 0) return;
4828*ab8db090SAndroid Build Coastguard Worker 
4829*ab8db090SAndroid Build Coastguard Worker   /* Now work on filling in swig_module.types */
4830*ab8db090SAndroid Build Coastguard Worker #ifdef SWIGRUNTIME_DEBUG
4831*ab8db090SAndroid Build Coastguard Worker   printf("SWIG_InitializeModule: size %d\n", swig_module.size);
4832*ab8db090SAndroid Build Coastguard Worker #endif
4833*ab8db090SAndroid Build Coastguard Worker   for (i = 0; i < swig_module.size; ++i) {
4834*ab8db090SAndroid Build Coastguard Worker     swig_type_info *type = 0;
4835*ab8db090SAndroid Build Coastguard Worker     swig_type_info *ret;
4836*ab8db090SAndroid Build Coastguard Worker     swig_cast_info *cast;
4837*ab8db090SAndroid Build Coastguard Worker 
4838*ab8db090SAndroid Build Coastguard Worker #ifdef SWIGRUNTIME_DEBUG
4839*ab8db090SAndroid Build Coastguard Worker     printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
4840*ab8db090SAndroid Build Coastguard Worker #endif
4841*ab8db090SAndroid Build Coastguard Worker 
4842*ab8db090SAndroid Build Coastguard Worker     /* if there is another module already loaded */
4843*ab8db090SAndroid Build Coastguard Worker     if (swig_module.next != &swig_module) {
4844*ab8db090SAndroid Build Coastguard Worker       type = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, swig_module.type_initial[i]->name);
4845*ab8db090SAndroid Build Coastguard Worker     }
4846*ab8db090SAndroid Build Coastguard Worker     if (type) {
4847*ab8db090SAndroid Build Coastguard Worker       /* Overwrite clientdata field */
4848*ab8db090SAndroid Build Coastguard Worker #ifdef SWIGRUNTIME_DEBUG
4849*ab8db090SAndroid Build Coastguard Worker       printf("SWIG_InitializeModule: found type %s\n", type->name);
4850*ab8db090SAndroid Build Coastguard Worker #endif
4851*ab8db090SAndroid Build Coastguard Worker       if (swig_module.type_initial[i]->clientdata) {
4852*ab8db090SAndroid Build Coastguard Worker         type->clientdata = swig_module.type_initial[i]->clientdata;
4853*ab8db090SAndroid Build Coastguard Worker #ifdef SWIGRUNTIME_DEBUG
4854*ab8db090SAndroid Build Coastguard Worker         printf("SWIG_InitializeModule: found and overwrite type %s \n", type->name);
4855*ab8db090SAndroid Build Coastguard Worker #endif
4856*ab8db090SAndroid Build Coastguard Worker       }
4857*ab8db090SAndroid Build Coastguard Worker     } else {
4858*ab8db090SAndroid Build Coastguard Worker       type = swig_module.type_initial[i];
4859*ab8db090SAndroid Build Coastguard Worker     }
4860*ab8db090SAndroid Build Coastguard Worker 
4861*ab8db090SAndroid Build Coastguard Worker     /* Insert casting types */
4862*ab8db090SAndroid Build Coastguard Worker     cast = swig_module.cast_initial[i];
4863*ab8db090SAndroid Build Coastguard Worker     while (cast->type) {
4864*ab8db090SAndroid Build Coastguard Worker       /* Don't need to add information already in the list */
4865*ab8db090SAndroid Build Coastguard Worker       ret = 0;
4866*ab8db090SAndroid Build Coastguard Worker #ifdef SWIGRUNTIME_DEBUG
4867*ab8db090SAndroid Build Coastguard Worker       printf("SWIG_InitializeModule: look cast %s\n", cast->type->name);
4868*ab8db090SAndroid Build Coastguard Worker #endif
4869*ab8db090SAndroid Build Coastguard Worker       if (swig_module.next != &swig_module) {
4870*ab8db090SAndroid Build Coastguard Worker         ret = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, cast->type->name);
4871*ab8db090SAndroid Build Coastguard Worker #ifdef SWIGRUNTIME_DEBUG
4872*ab8db090SAndroid Build Coastguard Worker         if (ret) printf("SWIG_InitializeModule: found cast %s\n", ret->name);
4873*ab8db090SAndroid Build Coastguard Worker #endif
4874*ab8db090SAndroid Build Coastguard Worker       }
4875*ab8db090SAndroid Build Coastguard Worker       if (ret) {
4876*ab8db090SAndroid Build Coastguard Worker         if (type == swig_module.type_initial[i]) {
4877*ab8db090SAndroid Build Coastguard Worker #ifdef SWIGRUNTIME_DEBUG
4878*ab8db090SAndroid Build Coastguard Worker           printf("SWIG_InitializeModule: skip old type %s\n", ret->name);
4879*ab8db090SAndroid Build Coastguard Worker #endif
4880*ab8db090SAndroid Build Coastguard Worker           cast->type = ret;
4881*ab8db090SAndroid Build Coastguard Worker           ret = 0;
4882*ab8db090SAndroid Build Coastguard Worker         } else {
4883*ab8db090SAndroid Build Coastguard Worker           /* Check for casting already in the list */
4884*ab8db090SAndroid Build Coastguard Worker           swig_cast_info *ocast = SWIG_TypeCheck(ret->name, type);
4885*ab8db090SAndroid Build Coastguard Worker #ifdef SWIGRUNTIME_DEBUG
4886*ab8db090SAndroid Build Coastguard Worker           if (ocast) printf("SWIG_InitializeModule: skip old cast %s\n", ret->name);
4887*ab8db090SAndroid Build Coastguard Worker #endif
4888*ab8db090SAndroid Build Coastguard Worker           if (!ocast) ret = 0;
4889*ab8db090SAndroid Build Coastguard Worker         }
4890*ab8db090SAndroid Build Coastguard Worker       }
4891*ab8db090SAndroid Build Coastguard Worker 
4892*ab8db090SAndroid Build Coastguard Worker       if (!ret) {
4893*ab8db090SAndroid Build Coastguard Worker #ifdef SWIGRUNTIME_DEBUG
4894*ab8db090SAndroid Build Coastguard Worker         printf("SWIG_InitializeModule: adding cast %s\n", cast->type->name);
4895*ab8db090SAndroid Build Coastguard Worker #endif
4896*ab8db090SAndroid Build Coastguard Worker         if (type->cast) {
4897*ab8db090SAndroid Build Coastguard Worker           type->cast->prev = cast;
4898*ab8db090SAndroid Build Coastguard Worker           cast->next = type->cast;
4899*ab8db090SAndroid Build Coastguard Worker         }
4900*ab8db090SAndroid Build Coastguard Worker         type->cast = cast;
4901*ab8db090SAndroid Build Coastguard Worker       }
4902*ab8db090SAndroid Build Coastguard Worker       cast++;
4903*ab8db090SAndroid Build Coastguard Worker     }
4904*ab8db090SAndroid Build Coastguard Worker     /* Set entry in modules->types array equal to the type */
4905*ab8db090SAndroid Build Coastguard Worker     swig_module.types[i] = type;
4906*ab8db090SAndroid Build Coastguard Worker   }
4907*ab8db090SAndroid Build Coastguard Worker   swig_module.types[i] = 0;
4908*ab8db090SAndroid Build Coastguard Worker 
4909*ab8db090SAndroid Build Coastguard Worker #ifdef SWIGRUNTIME_DEBUG
4910*ab8db090SAndroid Build Coastguard Worker   printf("**** SWIG_InitializeModule: Cast List ******\n");
4911*ab8db090SAndroid Build Coastguard Worker   for (i = 0; i < swig_module.size; ++i) {
4912*ab8db090SAndroid Build Coastguard Worker     int j = 0;
4913*ab8db090SAndroid Build Coastguard Worker     swig_cast_info *cast = swig_module.cast_initial[i];
4914*ab8db090SAndroid Build Coastguard Worker     printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
4915*ab8db090SAndroid Build Coastguard Worker     while (cast->type) {
4916*ab8db090SAndroid Build Coastguard Worker       printf("SWIG_InitializeModule: cast type %s\n", cast->type->name);
4917*ab8db090SAndroid Build Coastguard Worker       cast++;
4918*ab8db090SAndroid Build Coastguard Worker       ++j;
4919*ab8db090SAndroid Build Coastguard Worker     }
4920*ab8db090SAndroid Build Coastguard Worker     printf("---- Total casts: %d\n",j);
4921*ab8db090SAndroid Build Coastguard Worker   }
4922*ab8db090SAndroid Build Coastguard Worker   printf("**** SWIG_InitializeModule: Cast List ******\n");
4923*ab8db090SAndroid Build Coastguard Worker #endif
4924*ab8db090SAndroid Build Coastguard Worker }
4925*ab8db090SAndroid Build Coastguard Worker 
4926*ab8db090SAndroid Build Coastguard Worker /* This function will propagate the clientdata field of type to
4927*ab8db090SAndroid Build Coastguard Worker * any new swig_type_info structures that have been added into the list
4928*ab8db090SAndroid Build Coastguard Worker * of equivalent types.  It is like calling
4929*ab8db090SAndroid Build Coastguard Worker * SWIG_TypeClientData(type, clientdata) a second time.
4930*ab8db090SAndroid Build Coastguard Worker */
4931*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME void
SWIG_PropagateClientData(void)4932*ab8db090SAndroid Build Coastguard Worker SWIG_PropagateClientData(void) {
4933*ab8db090SAndroid Build Coastguard Worker   size_t i;
4934*ab8db090SAndroid Build Coastguard Worker   swig_cast_info *equiv;
4935*ab8db090SAndroid Build Coastguard Worker   static int init_run = 0;
4936*ab8db090SAndroid Build Coastguard Worker 
4937*ab8db090SAndroid Build Coastguard Worker   if (init_run) return;
4938*ab8db090SAndroid Build Coastguard Worker   init_run = 1;
4939*ab8db090SAndroid Build Coastguard Worker 
4940*ab8db090SAndroid Build Coastguard Worker   for (i = 0; i < swig_module.size; i++) {
4941*ab8db090SAndroid Build Coastguard Worker     if (swig_module.types[i]->clientdata) {
4942*ab8db090SAndroid Build Coastguard Worker       equiv = swig_module.types[i]->cast;
4943*ab8db090SAndroid Build Coastguard Worker       while (equiv) {
4944*ab8db090SAndroid Build Coastguard Worker         if (!equiv->converter) {
4945*ab8db090SAndroid Build Coastguard Worker           if (equiv->type && !equiv->type->clientdata)
4946*ab8db090SAndroid Build Coastguard Worker           SWIG_TypeClientData(equiv->type, swig_module.types[i]->clientdata);
4947*ab8db090SAndroid Build Coastguard Worker         }
4948*ab8db090SAndroid Build Coastguard Worker         equiv = equiv->next;
4949*ab8db090SAndroid Build Coastguard Worker       }
4950*ab8db090SAndroid Build Coastguard Worker     }
4951*ab8db090SAndroid Build Coastguard Worker   }
4952*ab8db090SAndroid Build Coastguard Worker }
4953*ab8db090SAndroid Build Coastguard Worker 
4954*ab8db090SAndroid Build Coastguard Worker #ifdef __cplusplus
4955*ab8db090SAndroid Build Coastguard Worker #if 0
4956*ab8db090SAndroid Build Coastguard Worker {
4957*ab8db090SAndroid Build Coastguard Worker   /* c-mode */
4958*ab8db090SAndroid Build Coastguard Worker #endif
4959*ab8db090SAndroid Build Coastguard Worker }
4960*ab8db090SAndroid Build Coastguard Worker #endif
4961*ab8db090SAndroid Build Coastguard Worker 
4962*ab8db090SAndroid Build Coastguard Worker 
4963*ab8db090SAndroid Build Coastguard Worker 
4964*ab8db090SAndroid Build Coastguard Worker #ifdef __cplusplus
4965*ab8db090SAndroid Build Coastguard Worker extern "C"
4966*ab8db090SAndroid Build Coastguard Worker #endif
4967*ab8db090SAndroid Build Coastguard Worker 
XS(SWIG_init)4968*ab8db090SAndroid Build Coastguard Worker XS(SWIG_init) {
4969*ab8db090SAndroid Build Coastguard Worker   dXSARGS;
4970*ab8db090SAndroid Build Coastguard Worker   int i;
4971*ab8db090SAndroid Build Coastguard Worker 
4972*ab8db090SAndroid Build Coastguard Worker   SWIG_InitializeModule(0);
4973*ab8db090SAndroid Build Coastguard Worker 
4974*ab8db090SAndroid Build Coastguard Worker   /* Install commands */
4975*ab8db090SAndroid Build Coastguard Worker   for (i = 0; swig_commands[i].name; i++) {
4976*ab8db090SAndroid Build Coastguard Worker     newXS((char*) swig_commands[i].name,swig_commands[i].wrapper, (char*)__FILE__);
4977*ab8db090SAndroid Build Coastguard Worker   }
4978*ab8db090SAndroid Build Coastguard Worker 
4979*ab8db090SAndroid Build Coastguard Worker   /* Install variables */
4980*ab8db090SAndroid Build Coastguard Worker   for (i = 0; swig_variables[i].name; i++) {
4981*ab8db090SAndroid Build Coastguard Worker     SV *sv;
4982*ab8db090SAndroid Build Coastguard Worker     sv = get_sv((char*) swig_variables[i].name, TRUE | 0x2 | GV_ADDMULTI);
4983*ab8db090SAndroid Build Coastguard Worker     if (swig_variables[i].type) {
4984*ab8db090SAndroid Build Coastguard Worker       SWIG_MakePtr(sv,(void *)1, *swig_variables[i].type,0);
4985*ab8db090SAndroid Build Coastguard Worker     } else {
4986*ab8db090SAndroid Build Coastguard Worker       sv_setiv(sv,(IV) 0);
4987*ab8db090SAndroid Build Coastguard Worker     }
4988*ab8db090SAndroid Build Coastguard Worker     swig_create_magic(sv, (char *) swig_variables[i].name, swig_variables[i].set, swig_variables[i].get);
4989*ab8db090SAndroid Build Coastguard Worker   }
4990*ab8db090SAndroid Build Coastguard Worker 
4991*ab8db090SAndroid Build Coastguard Worker   /* Install constant */
4992*ab8db090SAndroid Build Coastguard Worker   for (i = 0; swig_constants[i].type; i++) {
4993*ab8db090SAndroid Build Coastguard Worker     SV *sv;
4994*ab8db090SAndroid Build Coastguard Worker     sv = get_sv((char*)swig_constants[i].name, TRUE | 0x2 | GV_ADDMULTI);
4995*ab8db090SAndroid Build Coastguard Worker     switch(swig_constants[i].type) {
4996*ab8db090SAndroid Build Coastguard Worker     case SWIG_INT:
4997*ab8db090SAndroid Build Coastguard Worker       sv_setiv(sv, (IV) swig_constants[i].lvalue);
4998*ab8db090SAndroid Build Coastguard Worker       break;
4999*ab8db090SAndroid Build Coastguard Worker     case SWIG_FLOAT:
5000*ab8db090SAndroid Build Coastguard Worker       sv_setnv(sv, (double) swig_constants[i].dvalue);
5001*ab8db090SAndroid Build Coastguard Worker       break;
5002*ab8db090SAndroid Build Coastguard Worker     case SWIG_STRING:
5003*ab8db090SAndroid Build Coastguard Worker       sv_setpv(sv, (char *) swig_constants[i].pvalue);
5004*ab8db090SAndroid Build Coastguard Worker       break;
5005*ab8db090SAndroid Build Coastguard Worker     case SWIG_POINTER:
5006*ab8db090SAndroid Build Coastguard Worker       SWIG_MakePtr(sv, swig_constants[i].pvalue, *(swig_constants[i].ptype),0);
5007*ab8db090SAndroid Build Coastguard Worker       break;
5008*ab8db090SAndroid Build Coastguard Worker     case SWIG_BINARY:
5009*ab8db090SAndroid Build Coastguard Worker       SWIG_MakePackedObj(sv, swig_constants[i].pvalue, swig_constants[i].lvalue, *(swig_constants[i].ptype));
5010*ab8db090SAndroid Build Coastguard Worker       break;
5011*ab8db090SAndroid Build Coastguard Worker     default:
5012*ab8db090SAndroid Build Coastguard Worker       break;
5013*ab8db090SAndroid Build Coastguard Worker     }
5014*ab8db090SAndroid Build Coastguard Worker     SvREADONLY_on(sv);
5015*ab8db090SAndroid Build Coastguard Worker   }
5016*ab8db090SAndroid Build Coastguard Worker 
5017*ab8db090SAndroid Build Coastguard Worker   /*@SWIG:/usr/share/swig1.3/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5018*ab8db090SAndroid Build Coastguard Worker     SV *sv = get_sv((char*) SWIG_prefix "OK", TRUE | 0x2 | GV_ADDMULTI);
5019*ab8db090SAndroid Build Coastguard Worker     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(marisa_swig::OK)));
5020*ab8db090SAndroid Build Coastguard Worker     SvREADONLY_on(sv);
5021*ab8db090SAndroid Build Coastguard Worker   } while(0) /*@SWIG@*/;
5022*ab8db090SAndroid Build Coastguard Worker   /*@SWIG:/usr/share/swig1.3/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5023*ab8db090SAndroid Build Coastguard Worker     SV *sv = get_sv((char*) SWIG_prefix "STATE_ERROR", TRUE | 0x2 | GV_ADDMULTI);
5024*ab8db090SAndroid Build Coastguard Worker     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(marisa_swig::STATE_ERROR)));
5025*ab8db090SAndroid Build Coastguard Worker     SvREADONLY_on(sv);
5026*ab8db090SAndroid Build Coastguard Worker   } while(0) /*@SWIG@*/;
5027*ab8db090SAndroid Build Coastguard Worker   /*@SWIG:/usr/share/swig1.3/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5028*ab8db090SAndroid Build Coastguard Worker     SV *sv = get_sv((char*) SWIG_prefix "NULL_ERROR", TRUE | 0x2 | GV_ADDMULTI);
5029*ab8db090SAndroid Build Coastguard Worker     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(marisa_swig::NULL_ERROR)));
5030*ab8db090SAndroid Build Coastguard Worker     SvREADONLY_on(sv);
5031*ab8db090SAndroid Build Coastguard Worker   } while(0) /*@SWIG@*/;
5032*ab8db090SAndroid Build Coastguard Worker   /*@SWIG:/usr/share/swig1.3/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5033*ab8db090SAndroid Build Coastguard Worker     SV *sv = get_sv((char*) SWIG_prefix "BOUND_ERROR", TRUE | 0x2 | GV_ADDMULTI);
5034*ab8db090SAndroid Build Coastguard Worker     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(marisa_swig::BOUND_ERROR)));
5035*ab8db090SAndroid Build Coastguard Worker     SvREADONLY_on(sv);
5036*ab8db090SAndroid Build Coastguard Worker   } while(0) /*@SWIG@*/;
5037*ab8db090SAndroid Build Coastguard Worker   /*@SWIG:/usr/share/swig1.3/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5038*ab8db090SAndroid Build Coastguard Worker     SV *sv = get_sv((char*) SWIG_prefix "RANGE_ERROR", TRUE | 0x2 | GV_ADDMULTI);
5039*ab8db090SAndroid Build Coastguard Worker     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(marisa_swig::RANGE_ERROR)));
5040*ab8db090SAndroid Build Coastguard Worker     SvREADONLY_on(sv);
5041*ab8db090SAndroid Build Coastguard Worker   } while(0) /*@SWIG@*/;
5042*ab8db090SAndroid Build Coastguard Worker   /*@SWIG:/usr/share/swig1.3/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5043*ab8db090SAndroid Build Coastguard Worker     SV *sv = get_sv((char*) SWIG_prefix "CODE_ERROR", TRUE | 0x2 | GV_ADDMULTI);
5044*ab8db090SAndroid Build Coastguard Worker     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(marisa_swig::CODE_ERROR)));
5045*ab8db090SAndroid Build Coastguard Worker     SvREADONLY_on(sv);
5046*ab8db090SAndroid Build Coastguard Worker   } while(0) /*@SWIG@*/;
5047*ab8db090SAndroid Build Coastguard Worker   /*@SWIG:/usr/share/swig1.3/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5048*ab8db090SAndroid Build Coastguard Worker     SV *sv = get_sv((char*) SWIG_prefix "RESET_ERROR", TRUE | 0x2 | GV_ADDMULTI);
5049*ab8db090SAndroid Build Coastguard Worker     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(marisa_swig::RESET_ERROR)));
5050*ab8db090SAndroid Build Coastguard Worker     SvREADONLY_on(sv);
5051*ab8db090SAndroid Build Coastguard Worker   } while(0) /*@SWIG@*/;
5052*ab8db090SAndroid Build Coastguard Worker   /*@SWIG:/usr/share/swig1.3/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5053*ab8db090SAndroid Build Coastguard Worker     SV *sv = get_sv((char*) SWIG_prefix "SIZE_ERROR", TRUE | 0x2 | GV_ADDMULTI);
5054*ab8db090SAndroid Build Coastguard Worker     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(marisa_swig::SIZE_ERROR)));
5055*ab8db090SAndroid Build Coastguard Worker     SvREADONLY_on(sv);
5056*ab8db090SAndroid Build Coastguard Worker   } while(0) /*@SWIG@*/;
5057*ab8db090SAndroid Build Coastguard Worker   /*@SWIG:/usr/share/swig1.3/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5058*ab8db090SAndroid Build Coastguard Worker     SV *sv = get_sv((char*) SWIG_prefix "MEMORY_ERROR", TRUE | 0x2 | GV_ADDMULTI);
5059*ab8db090SAndroid Build Coastguard Worker     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(marisa_swig::MEMORY_ERROR)));
5060*ab8db090SAndroid Build Coastguard Worker     SvREADONLY_on(sv);
5061*ab8db090SAndroid Build Coastguard Worker   } while(0) /*@SWIG@*/;
5062*ab8db090SAndroid Build Coastguard Worker   /*@SWIG:/usr/share/swig1.3/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5063*ab8db090SAndroid Build Coastguard Worker     SV *sv = get_sv((char*) SWIG_prefix "IO_ERROR", TRUE | 0x2 | GV_ADDMULTI);
5064*ab8db090SAndroid Build Coastguard Worker     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(marisa_swig::IO_ERROR)));
5065*ab8db090SAndroid Build Coastguard Worker     SvREADONLY_on(sv);
5066*ab8db090SAndroid Build Coastguard Worker   } while(0) /*@SWIG@*/;
5067*ab8db090SAndroid Build Coastguard Worker   /*@SWIG:/usr/share/swig1.3/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5068*ab8db090SAndroid Build Coastguard Worker     SV *sv = get_sv((char*) SWIG_prefix "FORMAT_ERROR", TRUE | 0x2 | GV_ADDMULTI);
5069*ab8db090SAndroid Build Coastguard Worker     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(marisa_swig::FORMAT_ERROR)));
5070*ab8db090SAndroid Build Coastguard Worker     SvREADONLY_on(sv);
5071*ab8db090SAndroid Build Coastguard Worker   } while(0) /*@SWIG@*/;
5072*ab8db090SAndroid Build Coastguard Worker   /*@SWIG:/usr/share/swig1.3/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5073*ab8db090SAndroid Build Coastguard Worker     SV *sv = get_sv((char*) SWIG_prefix "MIN_NUM_TRIES", TRUE | 0x2 | GV_ADDMULTI);
5074*ab8db090SAndroid Build Coastguard Worker     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(marisa_swig::MIN_NUM_TRIES)));
5075*ab8db090SAndroid Build Coastguard Worker     SvREADONLY_on(sv);
5076*ab8db090SAndroid Build Coastguard Worker   } while(0) /*@SWIG@*/;
5077*ab8db090SAndroid Build Coastguard Worker   /*@SWIG:/usr/share/swig1.3/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5078*ab8db090SAndroid Build Coastguard Worker     SV *sv = get_sv((char*) SWIG_prefix "MAX_NUM_TRIES", TRUE | 0x2 | GV_ADDMULTI);
5079*ab8db090SAndroid Build Coastguard Worker     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(marisa_swig::MAX_NUM_TRIES)));
5080*ab8db090SAndroid Build Coastguard Worker     SvREADONLY_on(sv);
5081*ab8db090SAndroid Build Coastguard Worker   } while(0) /*@SWIG@*/;
5082*ab8db090SAndroid Build Coastguard Worker   /*@SWIG:/usr/share/swig1.3/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5083*ab8db090SAndroid Build Coastguard Worker     SV *sv = get_sv((char*) SWIG_prefix "DEFAULT_NUM_TRIES", TRUE | 0x2 | GV_ADDMULTI);
5084*ab8db090SAndroid Build Coastguard Worker     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(marisa_swig::DEFAULT_NUM_TRIES)));
5085*ab8db090SAndroid Build Coastguard Worker     SvREADONLY_on(sv);
5086*ab8db090SAndroid Build Coastguard Worker   } while(0) /*@SWIG@*/;
5087*ab8db090SAndroid Build Coastguard Worker   /*@SWIG:/usr/share/swig1.3/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5088*ab8db090SAndroid Build Coastguard Worker     SV *sv = get_sv((char*) SWIG_prefix "HUGE_CACHE", TRUE | 0x2 | GV_ADDMULTI);
5089*ab8db090SAndroid Build Coastguard Worker     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(marisa_swig::HUGE_CACHE)));
5090*ab8db090SAndroid Build Coastguard Worker     SvREADONLY_on(sv);
5091*ab8db090SAndroid Build Coastguard Worker   } while(0) /*@SWIG@*/;
5092*ab8db090SAndroid Build Coastguard Worker   /*@SWIG:/usr/share/swig1.3/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5093*ab8db090SAndroid Build Coastguard Worker     SV *sv = get_sv((char*) SWIG_prefix "LARGE_CACHE", TRUE | 0x2 | GV_ADDMULTI);
5094*ab8db090SAndroid Build Coastguard Worker     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(marisa_swig::LARGE_CACHE)));
5095*ab8db090SAndroid Build Coastguard Worker     SvREADONLY_on(sv);
5096*ab8db090SAndroid Build Coastguard Worker   } while(0) /*@SWIG@*/;
5097*ab8db090SAndroid Build Coastguard Worker   /*@SWIG:/usr/share/swig1.3/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5098*ab8db090SAndroid Build Coastguard Worker     SV *sv = get_sv((char*) SWIG_prefix "NORMAL_CACHE", TRUE | 0x2 | GV_ADDMULTI);
5099*ab8db090SAndroid Build Coastguard Worker     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(marisa_swig::NORMAL_CACHE)));
5100*ab8db090SAndroid Build Coastguard Worker     SvREADONLY_on(sv);
5101*ab8db090SAndroid Build Coastguard Worker   } while(0) /*@SWIG@*/;
5102*ab8db090SAndroid Build Coastguard Worker   /*@SWIG:/usr/share/swig1.3/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5103*ab8db090SAndroid Build Coastguard Worker     SV *sv = get_sv((char*) SWIG_prefix "SMALL_CACHE", TRUE | 0x2 | GV_ADDMULTI);
5104*ab8db090SAndroid Build Coastguard Worker     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(marisa_swig::SMALL_CACHE)));
5105*ab8db090SAndroid Build Coastguard Worker     SvREADONLY_on(sv);
5106*ab8db090SAndroid Build Coastguard Worker   } while(0) /*@SWIG@*/;
5107*ab8db090SAndroid Build Coastguard Worker   /*@SWIG:/usr/share/swig1.3/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5108*ab8db090SAndroid Build Coastguard Worker     SV *sv = get_sv((char*) SWIG_prefix "TINY_CACHE", TRUE | 0x2 | GV_ADDMULTI);
5109*ab8db090SAndroid Build Coastguard Worker     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(marisa_swig::TINY_CACHE)));
5110*ab8db090SAndroid Build Coastguard Worker     SvREADONLY_on(sv);
5111*ab8db090SAndroid Build Coastguard Worker   } while(0) /*@SWIG@*/;
5112*ab8db090SAndroid Build Coastguard Worker   /*@SWIG:/usr/share/swig1.3/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5113*ab8db090SAndroid Build Coastguard Worker     SV *sv = get_sv((char*) SWIG_prefix "DEFAULT_CACHE", TRUE | 0x2 | GV_ADDMULTI);
5114*ab8db090SAndroid Build Coastguard Worker     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(marisa_swig::DEFAULT_CACHE)));
5115*ab8db090SAndroid Build Coastguard Worker     SvREADONLY_on(sv);
5116*ab8db090SAndroid Build Coastguard Worker   } while(0) /*@SWIG@*/;
5117*ab8db090SAndroid Build Coastguard Worker   /*@SWIG:/usr/share/swig1.3/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5118*ab8db090SAndroid Build Coastguard Worker     SV *sv = get_sv((char*) SWIG_prefix "TEXT_TAIL", TRUE | 0x2 | GV_ADDMULTI);
5119*ab8db090SAndroid Build Coastguard Worker     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(marisa_swig::TEXT_TAIL)));
5120*ab8db090SAndroid Build Coastguard Worker     SvREADONLY_on(sv);
5121*ab8db090SAndroid Build Coastguard Worker   } while(0) /*@SWIG@*/;
5122*ab8db090SAndroid Build Coastguard Worker   /*@SWIG:/usr/share/swig1.3/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5123*ab8db090SAndroid Build Coastguard Worker     SV *sv = get_sv((char*) SWIG_prefix "BINARY_TAIL", TRUE | 0x2 | GV_ADDMULTI);
5124*ab8db090SAndroid Build Coastguard Worker     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(marisa_swig::BINARY_TAIL)));
5125*ab8db090SAndroid Build Coastguard Worker     SvREADONLY_on(sv);
5126*ab8db090SAndroid Build Coastguard Worker   } while(0) /*@SWIG@*/;
5127*ab8db090SAndroid Build Coastguard Worker   /*@SWIG:/usr/share/swig1.3/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5128*ab8db090SAndroid Build Coastguard Worker     SV *sv = get_sv((char*) SWIG_prefix "DEFAULT_TAIL", TRUE | 0x2 | GV_ADDMULTI);
5129*ab8db090SAndroid Build Coastguard Worker     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(marisa_swig::DEFAULT_TAIL)));
5130*ab8db090SAndroid Build Coastguard Worker     SvREADONLY_on(sv);
5131*ab8db090SAndroid Build Coastguard Worker   } while(0) /*@SWIG@*/;
5132*ab8db090SAndroid Build Coastguard Worker   /*@SWIG:/usr/share/swig1.3/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5133*ab8db090SAndroid Build Coastguard Worker     SV *sv = get_sv((char*) SWIG_prefix "LABEL_ORDER", TRUE | 0x2 | GV_ADDMULTI);
5134*ab8db090SAndroid Build Coastguard Worker     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(marisa_swig::LABEL_ORDER)));
5135*ab8db090SAndroid Build Coastguard Worker     SvREADONLY_on(sv);
5136*ab8db090SAndroid Build Coastguard Worker   } while(0) /*@SWIG@*/;
5137*ab8db090SAndroid Build Coastguard Worker   /*@SWIG:/usr/share/swig1.3/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5138*ab8db090SAndroid Build Coastguard Worker     SV *sv = get_sv((char*) SWIG_prefix "WEIGHT_ORDER", TRUE | 0x2 | GV_ADDMULTI);
5139*ab8db090SAndroid Build Coastguard Worker     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(marisa_swig::WEIGHT_ORDER)));
5140*ab8db090SAndroid Build Coastguard Worker     SvREADONLY_on(sv);
5141*ab8db090SAndroid Build Coastguard Worker   } while(0) /*@SWIG@*/;
5142*ab8db090SAndroid Build Coastguard Worker   /*@SWIG:/usr/share/swig1.3/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5143*ab8db090SAndroid Build Coastguard Worker     SV *sv = get_sv((char*) SWIG_prefix "DEFAULT_ORDER", TRUE | 0x2 | GV_ADDMULTI);
5144*ab8db090SAndroid Build Coastguard Worker     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(marisa_swig::DEFAULT_ORDER)));
5145*ab8db090SAndroid Build Coastguard Worker     SvREADONLY_on(sv);
5146*ab8db090SAndroid Build Coastguard Worker   } while(0) /*@SWIG@*/;
5147*ab8db090SAndroid Build Coastguard Worker   SWIG_TypeClientData(SWIGTYPE_p_marisa_swig__Key, (void*) "marisa::Key");
5148*ab8db090SAndroid Build Coastguard Worker   SWIG_TypeClientData(SWIGTYPE_p_marisa_swig__Query, (void*) "marisa::Query");
5149*ab8db090SAndroid Build Coastguard Worker   SWIG_TypeClientData(SWIGTYPE_p_marisa_swig__Keyset, (void*) "marisa::Keyset");
5150*ab8db090SAndroid Build Coastguard Worker   SWIG_TypeClientData(SWIGTYPE_p_marisa_swig__Agent, (void*) "marisa::Agent");
5151*ab8db090SAndroid Build Coastguard Worker   SWIG_TypeClientData(SWIGTYPE_p_marisa_swig__Trie, (void*) "marisa::Trie");
5152*ab8db090SAndroid Build Coastguard Worker   /*@SWIG:/usr/share/swig1.3/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5153*ab8db090SAndroid Build Coastguard Worker     SV *sv = get_sv((char*) SWIG_prefix "INVALID_KEY_ID", TRUE | 0x2 | GV_ADDMULTI);
5154*ab8db090SAndroid Build Coastguard Worker     sv_setsv(sv, SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(MARISA_INVALID_KEY_ID)));
5155*ab8db090SAndroid Build Coastguard Worker     SvREADONLY_on(sv);
5156*ab8db090SAndroid Build Coastguard Worker   } while(0) /*@SWIG@*/;
5157*ab8db090SAndroid Build Coastguard Worker   ST(0) = &PL_sv_yes;
5158*ab8db090SAndroid Build Coastguard Worker   XSRETURN(1);
5159*ab8db090SAndroid Build Coastguard Worker }
5160*ab8db090SAndroid Build Coastguard Worker 
5161