25 #ifndef OM_HGUARD_INMEMORY_DATABASE_H    26 #define OM_HGUARD_INMEMORY_DATABASE_H    55         auto p = std::lower_bound(positions.begin(), positions.end(), pos);
    56         Assert(p == positions.end() || *p != pos);
    57         positions.insert(p, pos);
    69         auto p = std::lower_bound(positions.begin(), positions.end(), pos);
    70         Assert(p == positions.end() || *p != pos);
    71         positions.insert(p, pos);
    99     vector<InMemoryPosting> 
docs;
   126     void add_posting(
const std::string& tname,
   140     vector<InMemoryPosting>::const_iterator 
pos;
   141     vector<InMemoryPosting>::const_iterator 
end;
   155                      const InMemoryTerm & imterm, 
const std::string & term_);
   176     string get_description() 
const;
   212     string get_description() 
const;
   220     vector<InMemoryTermEntry>::const_iterator 
pos;
   221     vector<InMemoryTermEntry>::const_iterator 
end;
   240     string get_termname() 
const;
   245     TermList * skip_to(
const std::string & term);
   284     void make_term(
const string & tname);
   292                     const map<Xapian::valueno, string>& values_);
   295                       const string & tname,
   299                       bool use_position = 
true);
   340     void get_freqs(
const string & term,
   346     bool term_exists(
const string & tname) 
const;
   347     bool has_positions() 
const;
   349     LeafPostList * open_post_list(
const string & tname) 
const;
   354     std::string get_metadata(
const std::string & key) 
const;
   355     TermList * open_metadata_keylist(
const std::string &prefix) 
const;
   356     void set_metadata(
const std::string & key, 
const std::string & value);
   359                                          const string & tname) 
const;
   361                                       const string & tname) 
const;
   362     TermList * open_allterms(
const string & prefix) 
const;
   367         if (path) *path = string();
 Xapian::Internal::intrusive_ptr< const InMemoryDatabase > db
 
PositionList from an InMemory DB or a Document object. 
 
vector< InMemoryPosting >::const_iterator end
 
vector< InMemoryTermEntry >::const_iterator end
 
Define the XAPIAN_NORETURN macro. 
 
virtual void replace_document(Xapian::docid did, const Xapian::Document &document)
Replace a given document in the database. 
 
Abstract base class for postlists. 
 
vector< Xapian::termpos > positions
 
Xapian::docid did
The document ID of the document in that database. 
 
A database held entirely in memory. 
 
Xapian::termcount wdf_upper_bound
 
Base class for databases. 
 
int get_backend_info(string *path) const
Get backend information about this database. 
 
friend class InMemoryAllDocsPostList
 
XAPIAN_TOTALLENGTH_TYPE totallength
The total length of all documents in a database. 
 
TermList * open_term_list() const
Open a term list. 
 
Xapian::totallength totlen
 
virtual Xapian::termcount get_wdf_upper_bound(const std::string &term) const
Get an upper bound on the wdf of term term. 
 
vector< Xapian::termcount > doclengths
 
A document in the database, possibly plus modifications. 
 
Abstract base class for termlists. 
 
vector< InMemoryTermEntry >::const_iterator pos
 
Abstract base class for leaf postlists. 
 
static void throw_database_closed()
 
Abstract base class for leaf postlists. 
 
vector< Xapian::termpos > positions
 
Xapian::termcount document_length
 
virtual void delete_document(Xapian::docid did)
Delete a document in the database. 
 
PositionList * open_position_list(Xapian::docid did, const string &tname) const
Open a position list for the given term in the given document. 
 
vector< InMemoryPosting > docs
 
unsigned XAPIAN_TERMCOUNT_BASE_TYPE termcount
A counts of terms. 
 
Class representing a document and the terms indexing it. 
 
InMemoryPositionList mypositions
List of positions of the current term. 
 
friend class InMemoryDatabase
InMemoryDatabase::open_document() needs to call our private constructor. 
 
vector< InMemoryTermEntry > terms
 
Xapian::termcount collection_freq
 
InMemoryDoc(bool is_valid_)
 
std::map< string, string > metadata
 
A PostList in an inmemory database. 
 
void add_position(Xapian::termpos pos)
 
A position list in a inmemory database. 
 
std::map< Xapian::valueno, ValueStats > valuestats
 
Class for iterating over term positions. 
 
Xapian::Internal::intrusive_ptr< const InMemoryDatabase > db
 
vector< std::map< Xapian::valueno, string > > valuelists
 
Xapian::doccount termfreq
 
A document read from a InMemoryDatabase. 
 
Xapian::termcount get_unique_terms(Xapian::docid did) const
Get the number of unique term in document. 
 
void operator=(const InMemoryDocument &)
Don't allow assignment. 
 
vector< std::string > doclists
 
unsigned XAPIAN_DOCID_BASE_TYPE doccount
A count of documents. 
 
Xapian::termcount positionlist_count(Xapian::docid did, const string &tname) const
 
map< string, InMemoryTerm > postlists
 
bool locked() const
Return true if the database is open for writing. 
 
Xapian::Internal::intrusive_ptr< const InMemoryDatabase > db
 
Collates statistics while calculating term weight in an ESet. 
 
unsigned valueno
The number for a value slot in a document. 
 
unsigned XAPIAN_TERMPOS_BASE_TYPE termpos
A term position within a document or query. 
 
Xapian::termcount get_doclength(Xapian::docid did) const
Get the length of a given document. 
 
Abstract base class for termlists. 
 
vector< InMemoryPosting >::const_iterator pos
 
void add_position(Xapian::termpos pos)
 
Various assertion macros. 
 
unsigned XAPIAN_DOCID_BASE_TYPE docid
A unique identifier for a document. 
 
Abstract base class for iterating term positions in a document. 
 
API for working with documents. 
 
A handle representing a document in a Xapian database. 
 
A PostList over all docs in an inmemory database. 
 
Xapian::termcount term_freq
 
vector< InMemoryDoc > termlists