database.h   database.h 
skipping to change at line 219 skipping to change at line 219
return TermIterator(NULL); return TermIterator(NULL);
} }
/** An iterator which runs across all terms with a given prefix. /** An iterator which runs across all terms with a given prefix.
* *
* This is functionally similar to getting an iterator with * This is functionally similar to getting an iterator with
* allterms_begin() and then calling skip_to(prefix) on that iterat or * allterms_begin() and then calling skip_to(prefix) on that iterat or
* to move to the start of the prefix, but is more convenient (beca use * to move to the start of the prefix, but is more convenient (beca use
* it detects the end of the prefixed terms), and may be more * it detects the end of the prefixed terms), and may be more
* efficient than simply calling skip_to() after opening the iterat or, * efficient than simply calling skip_to() after opening the iterat or,
* particularly for network databases. * particularly for remote databases.
* *
* @param prefix The prefix to restrict the returned terms to. * @param prefix The prefix to restrict the returned terms to.
*/ */
TermIterator allterms_begin(const std::string & prefix) const; TermIterator allterms_begin(const std::string & prefix) const;
/** Corresponding end iterator to allterms_begin(prefix). /** Corresponding end iterator to allterms_begin(prefix).
*/ */
TermIterator allterms_end(const std::string &) const { TermIterator allterms_end(const std::string &) const {
return TermIterator(NULL); return TermIterator(NULL);
} }
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 document.h   document.h 
skipping to change at line 230 skipping to change at line 230
return ValueIteratorEnd_(); return ValueIteratorEnd_();
} }
/** Get the document id which is associated with this document (if a ny). /** Get the document id which is associated with this document (if a ny).
* *
* NB If multiple databases are being searched together, then this * NB If multiple databases are being searched together, then this
* will be the document id in the individual database, not the merg ed * will be the document id in the individual database, not the merg ed
* database! * database!
* *
* @return If this document came from a database, return the docume nt * @return If this document came from a database, return the docume nt
* id in that database. Otherwise, return 0. * id in that database. Otherwise, return 0 (in Xapian
* 1.0.22/1.2.4 or later; prior to this the returned value
was
* uninitialised).
*/ */
docid get_docid() const; docid get_docid() const;
/** Serialise document into a string. /** Serialise document into a string.
* *
* The document representation may change between Xapian releases: * The document representation may change between Xapian releases:
* even between minor versions. However, it is guaranteed not to * even between minor versions. However, it is guaranteed not to
* change if the remote database protocol has not changed between * change if the remote database protocol has not changed between
* releases. * releases.
*/ */
 End of changes. 1 change blocks. 
1 lines changed or deleted 4 lines changed or added


 error.h   error.h 
/** @file error.h /** @file error.h
* @brief Hierarchy of classes which Xapian can throw as exceptions. * @brief Hierarchy of classes which Xapian can throw as exceptions.
*/ */
/* Warning: This file is generated by /data/home/olly/tmp/xapian-svn-snapsh ot/tags/1.2.3/xapian/xapian-core/generate-exceptions - do not modify direct ly! */ /* Warning: This file is generated by /data/home/olly/tmp/xapian-svn-snapsh ot/tags/1.2.4/xapian/xapian-core/generate-exceptions - do not modify direct ly! */
/* Copyright (C) 2003,2004,2006,2007,2009 Olly Betts /* Copyright (C) 2003,2004,2006,2007,2009 Olly Betts
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as * modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the * published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version. * License, or (at your option) any later version.
* *
* This program is distributed in the hope that it will be useful, * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 matchspy.h   matchspy.h 
/** @file matchspy.h /** @file matchspy.h
* @brief MatchSpy implementation. * @brief MatchSpy implementation.
*/ */
/* Copyright (C) 2007,2008,2009 Olly Betts /* Copyright (C) 2007,2008,2009,2010 Olly Betts
* Copyright (C) 2007,2009 Lemur Consulting Ltd * Copyright (C) 2007,2009 Lemur Consulting Ltd
* Copyright (C) 2010 Richard Boulton * Copyright (C) 2010 Richard Boulton
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or * the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* This program is distributed in the hope that it will be useful, * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
skipping to change at line 163 skipping to change at line 163
* *
* This default implementation returns a generic answer, to avoid forc ing * This default implementation returns a generic answer, to avoid forc ing
* those deriving their own MatchSpy subclasses from having to impleme nt * those deriving their own MatchSpy subclasses from having to impleme nt
* this (they may not care what get_description() gives for their * this (they may not care what get_description() gives for their
* subclass). * subclass).
*/ */
virtual std::string get_description() const; virtual std::string get_description() const;
}; };
/** Class for counting the frequencies of values in the matching documents. /** Class for counting the frequencies of values in the matching documents.
*
* Warning: this API is currently experimental, and is liable to change
* between releases without warning.
*/ */
class XAPIAN_VISIBILITY_DEFAULT ValueCountMatchSpy : public MatchSpy { class XAPIAN_VISIBILITY_DEFAULT ValueCountMatchSpy : public MatchSpy {
public: public:
struct Internal; struct Internal;
#ifndef SWIG // SWIG doesn't need to know about the internal class #ifndef SWIG // SWIG doesn't need to know about the internal class
struct XAPIAN_VISIBILITY_DEFAULT Internal struct XAPIAN_VISIBILITY_DEFAULT Internal
: public Xapian::Internal::RefCntBase : public Xapian::Internal::RefCntBase
{ {
/// The slot to count. /// The slot to count.
 End of changes. 2 change blocks. 
4 lines changed or deleted 1 lines changed or added


 positioniterator.h   positioniterator.h 
skipping to change at line 86 skipping to change at line 86
Xapian::termpos operator *() const; Xapian::termpos operator *() const;
PositionIterator & operator++(); PositionIterator & operator++();
DerefWrapper_<termpos> operator++(int) { DerefWrapper_<termpos> operator++(int) {
Xapian::termpos tmp = **this; Xapian::termpos tmp = **this;
operator++(); operator++();
return DerefWrapper_<termpos>(tmp); return DerefWrapper_<termpos>(tmp);
} }
// extra method, not required for an input_iterator /** Advance the iterator to the specified termpos.
*
* If the specified termpos isn't in the list, position ourselves o
n the
* first termpos after it (or at_end() if no greater term positions
are
* present).
*/
void skip_to(Xapian::termpos pos); void skip_to(Xapian::termpos pos);
/// Return a string describing this object. /// Return a string describing this object.
std::string get_description() const; std::string get_description() const;
// Allow use as an STL iterator // Allow use as an STL iterator
typedef std::input_iterator_tag iterator_category; typedef std::input_iterator_tag iterator_category;
typedef Xapian::termpos value_type; typedef Xapian::termpos value_type;
typedef Xapian::termpos_diff difference_type; // "om_termposcount" typedef Xapian::termpos_diff difference_type; // "om_termposcount"
typedef Xapian::termpos * pointer; typedef Xapian::termpos * pointer;
 End of changes. 1 change blocks. 
1 lines changed or deleted 8 lines changed or added


 postingiterator.h   postingiterator.h 
skipping to change at line 81 skipping to change at line 81
void operator=(const PostingIterator &other); void operator=(const PostingIterator &other);
PostingIterator & operator++(); PostingIterator & operator++();
DerefWrapper_<docid> operator++(int) { DerefWrapper_<docid> operator++(int) {
Xapian::docid tmp = **this; Xapian::docid tmp = **this;
operator++(); operator++();
return DerefWrapper_<docid>(tmp); return DerefWrapper_<docid>(tmp);
} }
/** Skip the iterator to document did, or the first document after d /** Advance the iterator to the specified docid.
id *
* if did isn't in the list of documents being iterated. * If the specified docid isn't in the list, position ourselves on
the
* first document after it (or at_end() if no greater docids are
* present).
*/ */
void skip_to(Xapian::docid did); void skip_to(Xapian::docid did);
/// Get the document id at the current position in the postlist. /// Get the document id at the current position in the postlist.
Xapian::docid operator *() const; Xapian::docid operator *() const;
/** Get the length of the document at the current position in the /** Get the length of the document at the current position in the
* postlist. * postlist.
* *
* This information may be stored in the postlist, in which case * This information may be stored in the postlist, in which case
 End of changes. 1 change blocks. 
3 lines changed or deleted 6 lines changed or added


 postingsource.h   postingsource.h 
/** @file postingsource.h /** @file postingsource.h
* @brief External sources of posting information * @brief External sources of posting information
*/ */
/* Copyright (C) 2007,2008,2009 Olly Betts /* Copyright (C) 2007,2008,2009,2010 Olly Betts
* Copyright (C) 2008,2009 Lemur Consulting Ltd * Copyright (C) 2008,2009 Lemur Consulting Ltd
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or * the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* This program is distributed in the hope that it will be useful, * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
skipping to change at line 35 skipping to change at line 35
#include <xapian/database.h> #include <xapian/database.h>
#include <xapian/types.h> #include <xapian/types.h>
#include <xapian/visibility.h> #include <xapian/visibility.h>
#include <string> #include <string>
#include <map> #include <map>
namespace Xapian { namespace Xapian {
/** Base class which provides an "external" source of postings. /** Base class which provides an "external" source of postings.
*
* Warning: the PostingSource interface is currently experimental, and is
* liable to change between releases without warning.
*/ */
class XAPIAN_VISIBILITY_DEFAULT PostingSource { class XAPIAN_VISIBILITY_DEFAULT PostingSource {
/// Don't allow assignment. /// Don't allow assignment.
void operator=(const PostingSource &); void operator=(const PostingSource &);
/// Don't allow copying. /// Don't allow copying.
PostingSource(const PostingSource &); PostingSource(const PostingSource &);
/// The current upper bound on what get_weight() can return. /// The current upper bound on what get_weight() can return.
double max_weight_; double max_weight_;
skipping to change at line 160 skipping to change at line 157
* the current position. * the current position.
* *
* Xapian will always call init() on a PostingSource before calling th is * Xapian will always call init() on a PostingSource before calling th is
* for the first time. * for the first time.
* *
* @param min_wt The minimum weight contribution that is needed (this is * @param min_wt The minimum weight contribution that is needed (this is
* just a hint which subclasses may ignore). * just a hint which subclasses may ignore).
*/ */
virtual void next(Xapian::weight min_wt) = 0; virtual void next(Xapian::weight min_wt) = 0;
/** Skip forward to the specified docid. /** Advance to the specified docid.
* *
* If the specified docid isn't in the list, position ourselves on the * If the specified docid isn't in the list, position ourselves on the
* first document after it (or at_end() if no greater docids are prese nt). * first document after it (or at_end() if no greater docids are prese nt).
* *
* If the current position is already the specified docid, this method will * If the current position is already the specified docid, this method will
* leave the position unmodified. * leave the position unmodified.
* *
* If the specified docid is earlier than the current position, the * If the specified docid is earlier than the current position, the
* behaviour is unspecified. A sensible behaviour would be to leave t he * behaviour is unspecified. A sensible behaviour would be to leave t he
* current position unmodified, but it is also reasonable to move to t he * current position unmodified, but it is also reasonable to move to t he
 End of changes. 3 change blocks. 
5 lines changed or deleted 2 lines changed or added


 queryparser.h   queryparser.h 
skipping to change at line 60 skipping to change at line 60
/// Simple implementation of Stopper class - this will suit most users. /// Simple implementation of Stopper class - this will suit most users.
class XAPIAN_VISIBILITY_DEFAULT SimpleStopper : public Stopper { class XAPIAN_VISIBILITY_DEFAULT SimpleStopper : public Stopper {
std::set<std::string> stop_words; std::set<std::string> stop_words;
public: public:
/// Default constructor. /// Default constructor.
SimpleStopper() { } SimpleStopper() { }
/// Initialise from a pair of iterators. /// Initialise from a pair of iterators.
#ifndef __SUNPRO_CC #if ! defined __SUNPRO_CC || __SUNPRO_CC - 0 >= 0x580
template <class Iterator> template <class Iterator>
SimpleStopper(Iterator begin, Iterator end) : stop_words(begin, end) { } SimpleStopper(Iterator begin, Iterator end) : stop_words(begin, end) { }
#else #else
// Sun's C++ doesn't cope with the Iterator pointing to const char *. // Older versions of Sun's C++ compiler don't cope with the Iterator
// pointing to const char *.
template <class Iterator> template <class Iterator>
SimpleStopper(Iterator begin, Iterator end) { SimpleStopper(Iterator begin, Iterator end) {
while (begin != end) stop_words.insert(*begin++); while (begin != end) stop_words.insert(*begin++);
} }
#endif #endif
/// Add a single stop word. /// Add a single stop word.
void add(const std::string & word) { stop_words.insert(word); } void add(const std::string & word) { stop_words.insert(word); }
/// Is term a stop-word? /// Is term a stop-word?
skipping to change at line 300 skipping to change at line 301
/// Support AND, OR, etc and bracketed subexpressions. /// Support AND, OR, etc and bracketed subexpressions.
FLAG_BOOLEAN = 1, FLAG_BOOLEAN = 1,
/// Support quoted phrases. /// Support quoted phrases.
FLAG_PHRASE = 2, FLAG_PHRASE = 2,
/// Support + and -. /// Support + and -.
FLAG_LOVEHATE = 4, FLAG_LOVEHATE = 4,
/// Support AND, OR, etc even if they aren't in ALLCAPS. /// Support AND, OR, etc even if they aren't in ALLCAPS.
FLAG_BOOLEAN_ANY_CASE = 8, FLAG_BOOLEAN_ANY_CASE = 8,
/** Support right truncation (e.g. Xap*). /** Support right truncation (e.g. Xap*).
* *
* Currently you can't use wildcards with boolean filter prefixes,
* or in a phrase (either an explicitly quoted one, or one implicit
ly
* generated by hyphens or other punctuation).
*
* NB: You need to tell the QueryParser object which database to * NB: You need to tell the QueryParser object which database to
* expand wildcards from by calling set_database. * expand wildcards from by calling set_database.
*/ */
FLAG_WILDCARD = 16, FLAG_WILDCARD = 16,
/** Allow queries such as 'NOT apples'. /** Allow queries such as 'NOT apples'.
* *
* These require the use of a list of all documents in the database * These require the use of a list of all documents in the database
* which is potentially expensive, so this feature isn't enabled by * which is potentially expensive, so this feature isn't enabled by
* default. * default.
*/ */
FLAG_PURE_NOT = 32, FLAG_PURE_NOT = 32,
/** Enable partial matching. /** Enable partial matching.
* *
* Partial matching causes the parser to treat the query as a * Partial matching causes the parser to treat the query as a
* "partially entered" search. This will automatically treat the * "partially entered" search. This will automatically treat the
* final word as a wildcarded match, unless it is followed by * final word as a wildcarded match, unless it is followed by
* whitespace, to produce more stable results from interactive * whitespace, to produce more stable results from interactive
* searches. * searches.
* *
* Currently FLAG_PARTIAL doesn't do anything if the final word
* in the query has a boolean filter prefix, or if it is in a phras
e
* (either an explicitly quoted one, or one implicitly generated by
* hyphens or other punctuation). It also doesn't do anything if
* if the final word is part of a value range.
*
* NB: You need to tell the QueryParser object which database to * NB: You need to tell the QueryParser object which database to
* expand wildcards from by calling set_database. * expand wildcards from by calling set_database.
*/ */
FLAG_PARTIAL = 64, FLAG_PARTIAL = 64,
/** Enable spelling correction. /** Enable spelling correction.
* *
* For each word in the query which doesn't exist as a term in the * For each word in the query which doesn't exist as a term in the
* database, Database::get_spelling_suggestion() will be called and if * database, Database::get_spelling_suggestion() will be called and if
* a suggestion is returned, a corrected version of the query strin g * a suggestion is returned, a corrected version of the query strin g
 End of changes. 4 change blocks. 
2 lines changed or deleted 15 lines changed or added


 termiterator.h   termiterator.h 
skipping to change at line 78 skipping to change at line 78
std::string operator *() const; std::string operator *() const;
TermIterator & operator++(); TermIterator & operator++();
DerefWrapper_<std::string> operator++(int) { DerefWrapper_<std::string> operator++(int) {
const std::string & term(**this); const std::string & term(**this);
operator++(); operator++();
return DerefWrapper_<std::string>(term); return DerefWrapper_<std::string>(term);
} }
/** Skip the iterator to term tname, or the first term after tname /** Advance the iterator to the specified term.
* if tname isn't in the list of terms being iterated. *
* If the specified term isn't in the list, position ourselves on t
he
* first term after it (or at_end() if no greater terms are present
).
*/ */
void skip_to(const std::string & tname); void skip_to(const std::string & tname);
/** Return the wdf of the current term (if meaningful). /** Return the wdf of the current term (if meaningful).
* *
* The wdf (within document frequency) is the number of occurences * The wdf (within document frequency) is the number of occurences
* of a term in a particular document. * of a term in a particular document.
*/ */
Xapian::termcount get_wdf() const; Xapian::termcount get_wdf() const;
 End of changes. 1 change blocks. 
2 lines changed or deleted 6 lines changed or added


 version.h   version.h 
skipping to change at line 46 skipping to change at line 46
#error was not compiled with this flag. The settings must match or your #error was not compiled with this flag. The settings must match or your
#error program will not work correctly. #error program will not work correctly.
#endif #endif
#endif #endif
#endif #endif
/// The library was compiled with GCC's -fvisibility=hidden option. /// The library was compiled with GCC's -fvisibility=hidden option.
#define XAPIAN_ENABLE_VISIBILITY #define XAPIAN_ENABLE_VISIBILITY
/// The version of Xapian as a C string literal. /// The version of Xapian as a C string literal.
#define XAPIAN_VERSION "1.2.3" #define XAPIAN_VERSION "1.2.4"
/** The major component of the Xapian version. /** The major component of the Xapian version.
* E.g. for Xapian 1.0.14 this would be: 1 * E.g. for Xapian 1.0.14 this would be: 1
*/ */
#define XAPIAN_MAJOR_VERSION 1 #define XAPIAN_MAJOR_VERSION 1
/** The minor component of the Xapian version. /** The minor component of the Xapian version.
* E.g. for Xapian 1.0.14 this would be: 0 * E.g. for Xapian 1.0.14 this would be: 0
*/ */
#define XAPIAN_MINOR_VERSION 2 #define XAPIAN_MINOR_VERSION 2
/** The revision component of the Xapian version. /** The revision component of the Xapian version.
* E.g. for Xapian 1.0.14 this would be: 14 * E.g. for Xapian 1.0.14 this would be: 14
*/ */
#define XAPIAN_REVISION 3 #define XAPIAN_REVISION 4
/// XAPIAN_HAS_BRASS_BACKEND Defined if the brass backend is enabled. /// XAPIAN_HAS_BRASS_BACKEND Defined if the brass backend is enabled.
#define XAPIAN_HAS_BRASS_BACKEND 1 #define XAPIAN_HAS_BRASS_BACKEND 1
/// XAPIAN_HAS_CHERT_BACKEND Defined if the chert backend is enabled. /// XAPIAN_HAS_CHERT_BACKEND Defined if the chert backend is enabled.
#define XAPIAN_HAS_CHERT_BACKEND 1 #define XAPIAN_HAS_CHERT_BACKEND 1
/// XAPIAN_HAS_FLINT_BACKEND Defined if the flint backend is enabled. /// XAPIAN_HAS_FLINT_BACKEND Defined if the flint backend is enabled.
#define XAPIAN_HAS_FLINT_BACKEND 1 #define XAPIAN_HAS_FLINT_BACKEND 1
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 xapian.h   xapian.h 
/** @file xapian.h /** @file xapian.h
* @brief Public interfaces for the Xapian library. * @brief Public interfaces for the Xapian library.
*/ */
// Copyright (C) 2003,2004,2005,2007,2008,2009 Olly Betts // Copyright (C) 2003,2004,2005,2007,2008,2009,2010 Olly Betts
// //
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or // the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version. // (at your option) any later version.
// //
// This program is distributed in the hope that it will be useful, // This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of // but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details. // GNU General Public License for more details.
skipping to change at line 65 skipping to change at line 65
// Stemming // Stemming
#include <xapian/stem.h> #include <xapian/stem.h>
// Subclass registry // Subclass registry
#include <xapian/registry.h> #include <xapian/registry.h>
// Unicode support // Unicode support
#include <xapian/unicode.h> #include <xapian/unicode.h>
// Database compaction and merging
#include <xapian/compactor.h>
// ELF visibility annotations for GCC. // ELF visibility annotations for GCC.
#include <xapian/visibility.h> #include <xapian/visibility.h>
/// The Xapian namespace contains public interfaces for the Xapian library. /// The Xapian namespace contains public interfaces for the Xapian library.
namespace Xapian { namespace Xapian {
// Functions returning library version: // Functions returning library version:
/** Report the version string of the library which the program is linked wi th. /** Report the version string of the library which the program is linked wi th.
* *
 End of changes. 2 change blocks. 
1 lines changed or deleted 4 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/