"Fossies" - the Fresh Open Source Software Archive

Member "xapian-bindings-1.4.14/python3/xapian_wrap.h" (23 Nov 2019, 24674 Bytes) of package /linux/www/xapian-bindings-1.4.14.tar.xz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file.

    1 /* ----------------------------------------------------------------------------
    2  * This file was automatically generated by SWIG (http://www.swig.org).
    3  * Version 3.0.13
    4  *
    5  * This file is not intended to be easily readable and contains a number of
    6  * coding conventions designed to improve portability and efficiency. Do not make
    7  * changes to this file unless you know what you are doing--modify the SWIG
    8  * interface file instead.
    9  * ----------------------------------------------------------------------------- */
   10 
   11 #ifndef SWIG_xapian_WRAP_H_
   12 #define SWIG_xapian_WRAP_H_
   13 
   14 #include <map>
   15 #include <string>
   16 
   17 
   18 class SwigDirector_StemImplementation : public Xapian::StemImplementation, public Swig::Director {
   19 
   20 public:
   21     SwigDirector_StemImplementation(PyObject *self);
   22     virtual ~SwigDirector_StemImplementation();
   23     virtual std::string operator ()(std::string const &word);
   24     virtual std::string get_description() const;
   25 
   26 /* Internal director utilities */
   27 public:
   28     bool swig_get_inner(const char *swig_protected_method_name) const {
   29       std::map<std::string, bool>::const_iterator iv = swig_inner.find(swig_protected_method_name);
   30       return (iv != swig_inner.end() ? iv->second : false);
   31     }
   32     void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const {
   33       swig_inner[swig_protected_method_name] = swig_val;
   34     }
   35 private:
   36     mutable std::map<std::string, bool> swig_inner;
   37 
   38 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
   39 /* VTable implementation */
   40     PyObject *swig_get_method(size_t method_index, const char *method_name) const {
   41       PyObject *method = vtable[method_index];
   42       if (!method) {
   43         swig::SwigVar_PyObject name = SWIG_Python_str_FromChar(method_name);
   44         method = PyObject_GetAttr(swig_get_self(), name);
   45         if (!method) {
   46           std::string msg = "Method in class StemImplementation doesn't exist, undefined ";
   47           msg += method_name;
   48           Swig::DirectorMethodException::raise(msg.c_str());
   49         }
   50         vtable[method_index] = method;
   51       }
   52       return method;
   53     }
   54 private:
   55     mutable swig::SwigVar_PyObject vtable[2];
   56 #endif
   57 
   58 };
   59 
   60 
   61 class SwigDirector_MatchDecider : public Xapian::MatchDecider, public Swig::Director {
   62 
   63 public:
   64     SwigDirector_MatchDecider(PyObject *self);
   65     virtual bool operator ()(Xapian::Document const &doc) const;
   66     virtual ~SwigDirector_MatchDecider();
   67 
   68 /* Internal director utilities */
   69 public:
   70     bool swig_get_inner(const char *swig_protected_method_name) const {
   71       std::map<std::string, bool>::const_iterator iv = swig_inner.find(swig_protected_method_name);
   72       return (iv != swig_inner.end() ? iv->second : false);
   73     }
   74     void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const {
   75       swig_inner[swig_protected_method_name] = swig_val;
   76     }
   77 private:
   78     mutable std::map<std::string, bool> swig_inner;
   79 
   80 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
   81 /* VTable implementation */
   82     PyObject *swig_get_method(size_t method_index, const char *method_name) const {
   83       PyObject *method = vtable[method_index];
   84       if (!method) {
   85         swig::SwigVar_PyObject name = SWIG_Python_str_FromChar(method_name);
   86         method = PyObject_GetAttr(swig_get_self(), name);
   87         if (!method) {
   88           std::string msg = "Method in class MatchDecider doesn't exist, undefined ";
   89           msg += method_name;
   90           Swig::DirectorMethodException::raise(msg.c_str());
   91         }
   92         vtable[method_index] = method;
   93       }
   94       return method;
   95     }
   96 private:
   97     mutable swig::SwigVar_PyObject vtable[1];
   98 #endif
   99 
  100 };
  101 
  102 
  103 class SwigDirector_ExpandDecider : public Xapian::ExpandDecider, public Swig::Director {
  104 
  105 public:
  106     SwigDirector_ExpandDecider(PyObject *self);
  107     virtual bool operator ()(std::string const &term) const;
  108     virtual ~SwigDirector_ExpandDecider();
  109 
  110 /* Internal director utilities */
  111 public:
  112     bool swig_get_inner(const char *swig_protected_method_name) const {
  113       std::map<std::string, bool>::const_iterator iv = swig_inner.find(swig_protected_method_name);
  114       return (iv != swig_inner.end() ? iv->second : false);
  115     }
  116     void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const {
  117       swig_inner[swig_protected_method_name] = swig_val;
  118     }
  119 private:
  120     mutable std::map<std::string, bool> swig_inner;
  121 
  122 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
  123 /* VTable implementation */
  124     PyObject *swig_get_method(size_t method_index, const char *method_name) const {
  125       PyObject *method = vtable[method_index];
  126       if (!method) {
  127         swig::SwigVar_PyObject name = SWIG_Python_str_FromChar(method_name);
  128         method = PyObject_GetAttr(swig_get_self(), name);
  129         if (!method) {
  130           std::string msg = "Method in class ExpandDecider doesn't exist, undefined ";
  131           msg += method_name;
  132           Swig::DirectorMethodException::raise(msg.c_str());
  133         }
  134         vtable[method_index] = method;
  135       }
  136       return method;
  137     }
  138 private:
  139     mutable swig::SwigVar_PyObject vtable[1];
  140 #endif
  141 
  142 };
  143 
  144 
  145 class SwigDirector_KeyMaker : public Xapian::KeyMaker, public Swig::Director {
  146 
  147 public:
  148     SwigDirector_KeyMaker(PyObject *self);
  149     virtual std::string operator ()(Xapian::Document const &doc) const;
  150     virtual ~SwigDirector_KeyMaker();
  151 
  152 /* Internal director utilities */
  153 public:
  154     bool swig_get_inner(const char *swig_protected_method_name) const {
  155       std::map<std::string, bool>::const_iterator iv = swig_inner.find(swig_protected_method_name);
  156       return (iv != swig_inner.end() ? iv->second : false);
  157     }
  158     void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const {
  159       swig_inner[swig_protected_method_name] = swig_val;
  160     }
  161 private:
  162     mutable std::map<std::string, bool> swig_inner;
  163 
  164 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
  165 /* VTable implementation */
  166     PyObject *swig_get_method(size_t method_index, const char *method_name) const {
  167       PyObject *method = vtable[method_index];
  168       if (!method) {
  169         swig::SwigVar_PyObject name = SWIG_Python_str_FromChar(method_name);
  170         method = PyObject_GetAttr(swig_get_self(), name);
  171         if (!method) {
  172           std::string msg = "Method in class KeyMaker doesn't exist, undefined ";
  173           msg += method_name;
  174           Swig::DirectorMethodException::raise(msg.c_str());
  175         }
  176         vtable[method_index] = method;
  177       }
  178       return method;
  179     }
  180 private:
  181     mutable swig::SwigVar_PyObject vtable[1];
  182 #endif
  183 
  184 };
  185 
  186 
  187 class SwigDirector_Stopper : public Xapian::Stopper, public Swig::Director {
  188 
  189 public:
  190     SwigDirector_Stopper(PyObject *self);
  191     virtual bool operator ()(std::string const &term) const;
  192     virtual ~SwigDirector_Stopper();
  193     virtual std::string get_description() const;
  194 
  195 /* Internal director utilities */
  196 public:
  197     bool swig_get_inner(const char *swig_protected_method_name) const {
  198       std::map<std::string, bool>::const_iterator iv = swig_inner.find(swig_protected_method_name);
  199       return (iv != swig_inner.end() ? iv->second : false);
  200     }
  201     void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const {
  202       swig_inner[swig_protected_method_name] = swig_val;
  203     }
  204 private:
  205     mutable std::map<std::string, bool> swig_inner;
  206 
  207 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
  208 /* VTable implementation */
  209     PyObject *swig_get_method(size_t method_index, const char *method_name) const {
  210       PyObject *method = vtable[method_index];
  211       if (!method) {
  212         swig::SwigVar_PyObject name = SWIG_Python_str_FromChar(method_name);
  213         method = PyObject_GetAttr(swig_get_self(), name);
  214         if (!method) {
  215           std::string msg = "Method in class Stopper doesn't exist, undefined ";
  216           msg += method_name;
  217           Swig::DirectorMethodException::raise(msg.c_str());
  218         }
  219         vtable[method_index] = method;
  220       }
  221       return method;
  222     }
  223 private:
  224     mutable swig::SwigVar_PyObject vtable[2];
  225 #endif
  226 
  227 };
  228 
  229 
  230 class SwigDirector_RangeProcessor : public Xapian::RangeProcessor, public Swig::Director {
  231 
  232 public:
  233     SwigDirector_RangeProcessor(PyObject *self);
  234     SwigDirector_RangeProcessor(PyObject *self, Xapian::valueno slot_, std::string const &str_ = std::string(), unsigned int flags_ = 0);
  235     virtual ~SwigDirector_RangeProcessor();
  236     virtual Xapian::Query operator ()(std::string const &begin, std::string const &end);
  237 
  238 /* Internal director utilities */
  239 public:
  240     bool swig_get_inner(const char *swig_protected_method_name) const {
  241       std::map<std::string, bool>::const_iterator iv = swig_inner.find(swig_protected_method_name);
  242       return (iv != swig_inner.end() ? iv->second : false);
  243     }
  244     void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const {
  245       swig_inner[swig_protected_method_name] = swig_val;
  246     }
  247 private:
  248     mutable std::map<std::string, bool> swig_inner;
  249 
  250 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
  251 /* VTable implementation */
  252     PyObject *swig_get_method(size_t method_index, const char *method_name) const {
  253       PyObject *method = vtable[method_index];
  254       if (!method) {
  255         swig::SwigVar_PyObject name = SWIG_Python_str_FromChar(method_name);
  256         method = PyObject_GetAttr(swig_get_self(), name);
  257         if (!method) {
  258           std::string msg = "Method in class RangeProcessor doesn't exist, undefined ";
  259           msg += method_name;
  260           Swig::DirectorMethodException::raise(msg.c_str());
  261         }
  262         vtable[method_index] = method;
  263       }
  264       return method;
  265     }
  266 private:
  267     mutable swig::SwigVar_PyObject vtable[1];
  268 #endif
  269 
  270 };
  271 
  272 
  273 class SwigDirector_ValueRangeProcessor : public Xapian::ValueRangeProcessor, public Swig::Director {
  274 
  275 public:
  276     SwigDirector_ValueRangeProcessor(PyObject *self);
  277     virtual ~SwigDirector_ValueRangeProcessor();
  278     virtual Xapian::valueno operator ()(std::string &begin, std::string &end);
  279 
  280 /* Internal director utilities */
  281 public:
  282     bool swig_get_inner(const char *swig_protected_method_name) const {
  283       std::map<std::string, bool>::const_iterator iv = swig_inner.find(swig_protected_method_name);
  284       return (iv != swig_inner.end() ? iv->second : false);
  285     }
  286     void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const {
  287       swig_inner[swig_protected_method_name] = swig_val;
  288     }
  289 private:
  290     mutable std::map<std::string, bool> swig_inner;
  291 
  292 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
  293 /* VTable implementation */
  294     PyObject *swig_get_method(size_t method_index, const char *method_name) const {
  295       PyObject *method = vtable[method_index];
  296       if (!method) {
  297         swig::SwigVar_PyObject name = SWIG_Python_str_FromChar(method_name);
  298         method = PyObject_GetAttr(swig_get_self(), name);
  299         if (!method) {
  300           std::string msg = "Method in class ValueRangeProcessor doesn't exist, undefined ";
  301           msg += method_name;
  302           Swig::DirectorMethodException::raise(msg.c_str());
  303         }
  304         vtable[method_index] = method;
  305       }
  306       return method;
  307     }
  308 private:
  309     mutable swig::SwigVar_PyObject vtable[1];
  310 #endif
  311 
  312 };
  313 
  314 
  315 class SwigDirector_FieldProcessor : public Xapian::FieldProcessor, public Swig::Director {
  316 
  317 public:
  318     SwigDirector_FieldProcessor(PyObject *self);
  319     virtual ~SwigDirector_FieldProcessor();
  320     virtual Xapian::Query operator ()(std::string const &str);
  321 
  322 /* Internal director utilities */
  323 public:
  324     bool swig_get_inner(const char *swig_protected_method_name) const {
  325       std::map<std::string, bool>::const_iterator iv = swig_inner.find(swig_protected_method_name);
  326       return (iv != swig_inner.end() ? iv->second : false);
  327     }
  328     void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const {
  329       swig_inner[swig_protected_method_name] = swig_val;
  330     }
  331 private:
  332     mutable std::map<std::string, bool> swig_inner;
  333 
  334 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
  335 /* VTable implementation */
  336     PyObject *swig_get_method(size_t method_index, const char *method_name) const {
  337       PyObject *method = vtable[method_index];
  338       if (!method) {
  339         swig::SwigVar_PyObject name = SWIG_Python_str_FromChar(method_name);
  340         method = PyObject_GetAttr(swig_get_self(), name);
  341         if (!method) {
  342           std::string msg = "Method in class FieldProcessor doesn't exist, undefined ";
  343           msg += method_name;
  344           Swig::DirectorMethodException::raise(msg.c_str());
  345         }
  346         vtable[method_index] = method;
  347       }
  348       return method;
  349     }
  350 private:
  351     mutable swig::SwigVar_PyObject vtable[1];
  352 #endif
  353 
  354 };
  355 
  356 
  357 class SwigDirector_Compactor : public Xapian::Compactor, public Swig::Director {
  358 
  359 public:
  360     SwigDirector_Compactor(PyObject *self);
  361     virtual ~SwigDirector_Compactor();
  362     virtual void set_status(std::string const &table, std::string const &status);
  363     virtual std::string resolve_duplicate_metadata(std::string const &key, size_t num_tags, std::string const tags[]);
  364 
  365 /* Internal director utilities */
  366 public:
  367     bool swig_get_inner(const char *swig_protected_method_name) const {
  368       std::map<std::string, bool>::const_iterator iv = swig_inner.find(swig_protected_method_name);
  369       return (iv != swig_inner.end() ? iv->second : false);
  370     }
  371     void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const {
  372       swig_inner[swig_protected_method_name] = swig_val;
  373     }
  374 private:
  375     mutable std::map<std::string, bool> swig_inner;
  376 
  377 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
  378 /* VTable implementation */
  379     PyObject *swig_get_method(size_t method_index, const char *method_name) const {
  380       PyObject *method = vtable[method_index];
  381       if (!method) {
  382         swig::SwigVar_PyObject name = SWIG_Python_str_FromChar(method_name);
  383         method = PyObject_GetAttr(swig_get_self(), name);
  384         if (!method) {
  385           std::string msg = "Method in class Compactor doesn't exist, undefined ";
  386           msg += method_name;
  387           Swig::DirectorMethodException::raise(msg.c_str());
  388         }
  389         vtable[method_index] = method;
  390       }
  391       return method;
  392     }
  393 private:
  394     mutable swig::SwigVar_PyObject vtable[2];
  395 #endif
  396 
  397 };
  398 
  399 
  400 class SwigDirector_PostingSource : public Xapian::PostingSource, public Swig::Director {
  401 
  402 public:
  403     SwigDirector_PostingSource(PyObject *self);
  404     virtual ~SwigDirector_PostingSource();
  405     virtual Xapian::doccount get_termfreq_min() const;
  406     virtual Xapian::doccount get_termfreq_est() const;
  407     virtual Xapian::doccount get_termfreq_max() const;
  408     virtual double get_weight() const;
  409     virtual Xapian::docid get_docid() const;
  410     virtual void next(double min_wt);
  411     virtual void skip_to(Xapian::docid did, double min_wt);
  412     virtual bool check(Xapian::docid did, double min_wt);
  413     virtual bool at_end() const;
  414     virtual Xapian::PostingSource *clone() const;
  415     virtual std::string name() const;
  416     virtual std::string serialise() const;
  417     virtual Xapian::PostingSource *unserialise(std::string const &serialised) const;
  418     virtual Xapian::PostingSource *unserialise_with_registry(std::string const &serialised, Xapian::Registry const &registry) const;
  419     virtual void init(Xapian::Database const &db);
  420     virtual std::string get_description() const;
  421 
  422 /* Internal director utilities */
  423 public:
  424     bool swig_get_inner(const char *swig_protected_method_name) const {
  425       std::map<std::string, bool>::const_iterator iv = swig_inner.find(swig_protected_method_name);
  426       return (iv != swig_inner.end() ? iv->second : false);
  427     }
  428     void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const {
  429       swig_inner[swig_protected_method_name] = swig_val;
  430     }
  431 private:
  432     mutable std::map<std::string, bool> swig_inner;
  433 
  434 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
  435 /* VTable implementation */
  436     PyObject *swig_get_method(size_t method_index, const char *method_name) const {
  437       PyObject *method = vtable[method_index];
  438       if (!method) {
  439         swig::SwigVar_PyObject name = SWIG_Python_str_FromChar(method_name);
  440         method = PyObject_GetAttr(swig_get_self(), name);
  441         if (!method) {
  442           std::string msg = "Method in class PostingSource doesn't exist, undefined ";
  443           msg += method_name;
  444           Swig::DirectorMethodException::raise(msg.c_str());
  445         }
  446         vtable[method_index] = method;
  447       }
  448       return method;
  449     }
  450 private:
  451     mutable swig::SwigVar_PyObject vtable[12];
  452 #endif
  453 
  454 };
  455 
  456 
  457 class SwigDirector_ValuePostingSource : public Xapian::ValuePostingSource, public Swig::Director {
  458 
  459 public:
  460     SwigDirector_ValuePostingSource(PyObject *self, Xapian::valueno slot_);
  461     virtual ~SwigDirector_ValuePostingSource();
  462     virtual Xapian::doccount get_termfreq_min() const;
  463     virtual Xapian::doccount get_termfreq_est() const;
  464     virtual Xapian::doccount get_termfreq_max() const;
  465     virtual double get_weight() const;
  466     virtual Xapian::docid get_docid() const;
  467     virtual void next(double min_wt);
  468     virtual void skip_to(Xapian::docid min_docid, double min_wt);
  469     virtual bool check(Xapian::docid min_docid, double min_wt);
  470     virtual bool at_end() const;
  471     virtual Xapian::PostingSource *clone() const;
  472     virtual std::string name() const;
  473     virtual std::string serialise() const;
  474     virtual Xapian::PostingSource *unserialise(std::string const &serialised) const;
  475     virtual Xapian::PostingSource *unserialise_with_registry(std::string const &serialised, Xapian::Registry const &registry) const;
  476     virtual void init(Xapian::Database const &db_);
  477     virtual std::string get_description() const;
  478 
  479 /* Internal director utilities */
  480 public:
  481     bool swig_get_inner(const char *swig_protected_method_name) const {
  482       std::map<std::string, bool>::const_iterator iv = swig_inner.find(swig_protected_method_name);
  483       return (iv != swig_inner.end() ? iv->second : false);
  484     }
  485     void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const {
  486       swig_inner[swig_protected_method_name] = swig_val;
  487     }
  488 private:
  489     mutable std::map<std::string, bool> swig_inner;
  490 
  491 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
  492 /* VTable implementation */
  493     PyObject *swig_get_method(size_t method_index, const char *method_name) const {
  494       PyObject *method = vtable[method_index];
  495       if (!method) {
  496         swig::SwigVar_PyObject name = SWIG_Python_str_FromChar(method_name);
  497         method = PyObject_GetAttr(swig_get_self(), name);
  498         if (!method) {
  499           std::string msg = "Method in class ValuePostingSource doesn't exist, undefined ";
  500           msg += method_name;
  501           Swig::DirectorMethodException::raise(msg.c_str());
  502         }
  503         vtable[method_index] = method;
  504       }
  505       return method;
  506     }
  507 private:
  508     mutable swig::SwigVar_PyObject vtable[12];
  509 #endif
  510 
  511 };
  512 
  513 
  514 class SwigDirector_ValueWeightPostingSource : public Xapian::ValueWeightPostingSource, public Swig::Director {
  515 
  516 public:
  517     SwigDirector_ValueWeightPostingSource(PyObject *self, Xapian::valueno slot_);
  518     virtual ~SwigDirector_ValueWeightPostingSource();
  519     virtual Xapian::doccount get_termfreq_min() const;
  520     virtual Xapian::doccount get_termfreq_est() const;
  521     virtual Xapian::doccount get_termfreq_max() const;
  522     virtual double get_weight() const;
  523     virtual Xapian::docid get_docid() const;
  524     virtual void next(double min_wt);
  525     virtual void skip_to(Xapian::docid min_docid, double min_wt);
  526     virtual bool check(Xapian::docid min_docid, double min_wt);
  527     virtual bool at_end() const;
  528     virtual Xapian::ValueWeightPostingSource *clone() const;
  529     virtual std::string name() const;
  530     virtual std::string serialise() const;
  531     virtual Xapian::ValueWeightPostingSource *unserialise(std::string const &serialised) const;
  532     virtual Xapian::PostingSource *unserialise_with_registry(std::string const &serialised, Xapian::Registry const &registry) const;
  533     virtual void init(Xapian::Database const &db_);
  534     virtual std::string get_description() const;
  535 
  536 /* Internal director utilities */
  537 public:
  538     bool swig_get_inner(const char *swig_protected_method_name) const {
  539       std::map<std::string, bool>::const_iterator iv = swig_inner.find(swig_protected_method_name);
  540       return (iv != swig_inner.end() ? iv->second : false);
  541     }
  542     void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const {
  543       swig_inner[swig_protected_method_name] = swig_val;
  544     }
  545 private:
  546     mutable std::map<std::string, bool> swig_inner;
  547 
  548 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
  549 /* VTable implementation */
  550     PyObject *swig_get_method(size_t method_index, const char *method_name) const {
  551       PyObject *method = vtable[method_index];
  552       if (!method) {
  553         swig::SwigVar_PyObject name = SWIG_Python_str_FromChar(method_name);
  554         method = PyObject_GetAttr(swig_get_self(), name);
  555         if (!method) {
  556           std::string msg = "Method in class ValueWeightPostingSource doesn't exist, undefined ";
  557           msg += method_name;
  558           Swig::DirectorMethodException::raise(msg.c_str());
  559         }
  560         vtable[method_index] = method;
  561       }
  562       return method;
  563     }
  564 private:
  565     mutable swig::SwigVar_PyObject vtable[12];
  566 #endif
  567 
  568 };
  569 
  570 
  571 class SwigDirector_MatchSpy : public Xapian::MatchSpy, public Swig::Director {
  572 
  573 public:
  574     SwigDirector_MatchSpy(PyObject *self);
  575     virtual ~SwigDirector_MatchSpy();
  576     virtual void operator ()(Xapian::Document const &doc, double wt);
  577     virtual Xapian::MatchSpy *clone() const;
  578     virtual std::string name() const;
  579     virtual std::string serialise() const;
  580     virtual Xapian::MatchSpy *unserialise(std::string const &serialised, Xapian::Registry const &context) const;
  581     virtual std::string serialise_results() const;
  582     virtual void merge_results(std::string const &serialised);
  583     virtual std::string get_description() const;
  584 
  585 /* Internal director utilities */
  586 public:
  587     bool swig_get_inner(const char *swig_protected_method_name) const {
  588       std::map<std::string, bool>::const_iterator iv = swig_inner.find(swig_protected_method_name);
  589       return (iv != swig_inner.end() ? iv->second : false);
  590     }
  591     void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const {
  592       swig_inner[swig_protected_method_name] = swig_val;
  593     }
  594 private:
  595     mutable std::map<std::string, bool> swig_inner;
  596 
  597 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
  598 /* VTable implementation */
  599     PyObject *swig_get_method(size_t method_index, const char *method_name) const {
  600       PyObject *method = vtable[method_index];
  601       if (!method) {
  602         swig::SwigVar_PyObject name = SWIG_Python_str_FromChar(method_name);
  603         method = PyObject_GetAttr(swig_get_self(), name);
  604         if (!method) {
  605           std::string msg = "Method in class MatchSpy doesn't exist, undefined ";
  606           msg += method_name;
  607           Swig::DirectorMethodException::raise(msg.c_str());
  608         }
  609         vtable[method_index] = method;
  610       }
  611       return method;
  612     }
  613 private:
  614     mutable swig::SwigVar_PyObject vtable[4];
  615 #endif
  616 
  617 };
  618 
  619 
  620 class SwigDirector_LatLongMetric : public Xapian::LatLongMetric, public Swig::Director {
  621 
  622 public:
  623     SwigDirector_LatLongMetric(PyObject *self);
  624     virtual ~SwigDirector_LatLongMetric();
  625     virtual double pointwise_distance(Xapian::LatLongCoord const &a, Xapian::LatLongCoord const &b) const;
  626     virtual Xapian::LatLongMetric *clone() const;
  627     virtual std::string name() const;
  628     virtual std::string serialise() const;
  629     virtual Xapian::LatLongMetric *unserialise(std::string const &serialised) const;
  630 
  631 /* Internal director utilities */
  632 public:
  633     bool swig_get_inner(const char *swig_protected_method_name) const {
  634       std::map<std::string, bool>::const_iterator iv = swig_inner.find(swig_protected_method_name);
  635       return (iv != swig_inner.end() ? iv->second : false);
  636     }
  637     void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const {
  638       swig_inner[swig_protected_method_name] = swig_val;
  639     }
  640 private:
  641     mutable std::map<std::string, bool> swig_inner;
  642 
  643 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
  644 /* VTable implementation */
  645     PyObject *swig_get_method(size_t method_index, const char *method_name) const {
  646       PyObject *method = vtable[method_index];
  647       if (!method) {
  648         swig::SwigVar_PyObject name = SWIG_Python_str_FromChar(method_name);
  649         method = PyObject_GetAttr(swig_get_self(), name);
  650         if (!method) {
  651           std::string msg = "Method in class LatLongMetric doesn't exist, undefined ";
  652           msg += method_name;
  653           Swig::DirectorMethodException::raise(msg.c_str());
  654         }
  655         vtable[method_index] = method;
  656       }
  657       return method;
  658     }
  659 private:
  660     mutable swig::SwigVar_PyObject vtable[2];
  661 #endif
  662 
  663 };
  664 
  665 
  666 #endif