<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Xapian: API Documentation: xapian-core: Xapian::MultiValueSorter Class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head> <body bgcolor="#ffffff"> <!-- Generated by Doxygen 1.5.9 --> <script type="text/javascript"> <!-- function changeDisplayState (e){ var num=this.id.replace(/[^[0-9]/g,''); var button=this.firstChild; var sectionDiv=document.getElementById('dynsection'+num); if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){ sectionDiv.style.display='block'; button.src='open.gif'; }else{ sectionDiv.style.display='none'; button.src='closed.gif'; } } function initDynSections(){ var divs=document.getElementsByTagName('div'); var sectionCounter=1; for(var i=0;i<divs.length-1;i++){ if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){ var header=divs[i]; var section=divs[i+1]; var button=header.firstChild; if (button!='IMG'){ divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild); button=document.createElement('img'); divs[i].insertBefore(button,divs[i].firstChild); } header.style.cursor='pointer'; header.onclick=changeDisplayState; header.id='dynheader'+sectionCounter; button.src='closed.gif'; section.id='dynsection'+sectionCounter; section.style.display='none'; section.style.marginLeft='14px'; sectionCounter++; } } } window.onload = initDynSections; --> </script> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="namespaceXapian.html">Xapian</a>::<a class="el" href="classXapian_1_1MultiValueSorter.html">MultiValueSorter</a> </div> </div> <div class="contents"> <h1>Xapian::MultiValueSorter Class Reference</h1><!-- doxytag: class="Xapian::MultiValueSorter" --><!-- doxytag: inherits="Xapian::Sorter" --><a class="el" href="classXapian_1_1Sorter.html" title="Virtual base class for sorter functor.">Sorter</a> subclass which sorts by a several values. <a href="#_details">More...</a> <p> <div class="dynheader"> Inheritance diagram for Xapian::MultiValueSorter:</div> <div class="dynsection"> <p><center><img src="classXapian_1_1MultiValueSorter__inherit__graph.png" border="0" usemap="#Xapian_1_1MultiValueSorter__inherit__map" alt="Inheritance graph"></center> <map name="Xapian_1_1MultiValueSorter__inherit__map"> <area shape="rect" href="classXapian_1_1Sorter.html" title="Virtual base class for sorter functor." alt="" coords="37,84,149,111"><area shape="rect" href="classXapian_1_1KeyMaker.html" title="Virtual base class for key making functors." alt="" coords="27,7,160,33"></map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> <p> <a href="classXapian_1_1MultiValueSorter-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1MultiValueSorter.html#91f7cc327f2b2101eb947e1c4ef667ff">operator()</a> (const <a class="el" href="classXapian_1_1Document.html">Xapian::Document</a> &doc) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Build a key string for a <a class="el" href="classXapian_1_1Document.html" title="A handle representing a document in a Xapian database.">Document</a>. <a href="#91f7cc327f2b2101eb947e1c4ef667ff"></a><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> <a class="el" href="classXapian_1_1Sorter.html" title="Virtual base class for sorter functor.">Sorter</a> subclass which sorts by a several values. <p> Results are ordered by the first value. In the event of a tie, the second is used. If this is the same for both, the third is used, and so on.<p> <dl class="deprecated" compact><dt><b><a class="el" href="deprecated.html#_deprecated000002">Deprecated:</a></b></dt><dd>This class is deprecated - you should migrate to using <a class="el" href="classXapian_1_1MultiValueKeyMaker.html" title="KeyMaker subclass which combines several values.">MultiValueKeyMaker</a> instead. Note that MultiValueSorter::add() becomes MultiValueKeyMaker::add_value(), but the sense of the direction flag is reversed (to be consistent with <a class="el" href="classXapian_1_1Enquire.html#b10384fabd51eebd8174f916563e3f7a" title="Set the sorting to be by value only.">Enquire::set_sort_by_value()</a>), so:</dd></dl> <a class="el" href="classXapian_1_1MultiValueSorter.html" title="Sorter subclass which sorts by a several values.">MultiValueSorter</a> sorter; // Primary ordering is forwards on value 4. sorter.add(4); // Secondary ordering is reverse on value 5. sorter.add(5, false);<p> becomes:<p> <a class="el" href="classXapian_1_1MultiValueKeyMaker.html" title="KeyMaker subclass which combines several values.">MultiValueKeyMaker</a> sorter; // Primary ordering is forwards on value 4. sorter.add_value(4); // Secondary ordering is reverse on value 5. sorter.add_value(5, true); <hr><h2>Member Function Documentation</h2> <a class="anchor" name="91f7cc327f2b2101eb947e1c4ef667ff"></a><!-- doxytag: member="Xapian::MultiValueSorter::operator()" ref="91f7cc327f2b2101eb947e1c4ef667ff" args="(const Xapian::Document &doc) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual std::string Xapian::MultiValueSorter::operator() </td> <td>(</td> <td class="paramtype">const <a class="el" href="classXapian_1_1Document.html">Xapian::Document</a> & </td> <td class="paramname"> <em>doc</em> </td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Build a key string for a <a class="el" href="classXapian_1_1Document.html" title="A handle representing a document in a Xapian database.">Document</a>. <p> These keys can be used for sorting or collapsing matching documents.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>doc</em> </td><td><a class="el" href="classXapian_1_1Document.html" title="A handle representing a document in a Xapian database.">Document</a> object to build a key for. </td></tr> </table> </dl> <p>Implements <a class="el" href="classXapian_1_1KeyMaker.html#cd0a775f8546a830833357e5d792bedc">Xapian::KeyMaker</a>.</p> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li>xapian/<a class="el" href="keymaker_8h.html">keymaker.h</a></ul> </div> <hr> <address><small> Documentation for Xapian (version 1.2.12).<br> Generated on 27 Jun 2012 by <a href="http://www.doxygen.org/">Doxygen 1.5.9</a>. </small></address> </body> </html>