<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>tmudr: tmudr::OrderInfo Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javaScript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.6.1 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <img id="MSearchSelect" src="search/search.png"
             onmouseover="return searchBox.OnSearchSelectShow()"
             onmouseout="return searchBox.OnSearchSelectHide()"
             alt=""/>
        <input type="text" id="MSearchField" value="Search" accesskey="S"
             onfocus="searchBox.OnSearchFieldFocus(true)" 
             onblur="searchBox.OnSearchFieldFocus(false)" 
             onkeyup="searchBox.OnSearchFieldChange(event)"/>
        <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
        </div>
      </li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
    </ul>
  </div>
  <div class="navpath"><b>tmudr</b>::<a class="el" href="classtmudr_1_1OrderInfo.html">OrderInfo</a>
  </div>
</div>
<div class="contents">
<h1>tmudr::OrderInfo Class Reference</h1><!-- doxytag: class="tmudr::OrderInfo" -->
<p>Ordering of a table by some ascending or descending columns.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="sqludr_8h_source.html">sqludr.h</a>&gt;</code></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1OrderInfo.html#a6dc71ab80df38d3c3fe0d060ac03664c">OrderTypeCode</a> { <a class="el" href="classtmudr_1_1OrderInfo.html#a6dc71ab80df38d3c3fe0d060ac03664ca6d13be11b628da60b716cbe1defdefcc">NO_ORDER</a>, 
<a class="el" href="classtmudr_1_1OrderInfo.html#a6dc71ab80df38d3c3fe0d060ac03664ca9f5d23e242952104222576f9ab331ad4">ASCENDING</a>, 
<a class="el" href="classtmudr_1_1OrderInfo.html#a6dc71ab80df38d3c3fe0d060ac03664ca4b7811d9e06b5befccfb56ef27fee64b">DESCENDING</a>
 }</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Ascending/descending order of columns. </p>
 <a href="classtmudr_1_1OrderInfo.html#a6dc71ab80df38d3c3fe0d060ac03664c">More...</a><br/></td></tr>
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1OrderInfo.html#a98f1be7578ab034d00919d3f8b5ac037">getNumEntries</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1OrderInfo.html#ad2ce0a427824990fb577c99465307667">getColumnNum</a> (int i) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtmudr_1_1OrderInfo.html#a6dc71ab80df38d3c3fe0d060ac03664c">OrderTypeCode</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1OrderInfo.html#acffea7ba665daca1bf67b15ca62c7a18">getOrderType</a> (int i) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1OrderInfo.html#a5b74383fb58f2003fcbab8daaf69194a">addEntry</a> (int colNum, <a class="el" href="classtmudr_1_1OrderInfo.html#a6dc71ab80df38d3c3fe0d060ac03664c">OrderTypeCode</a> orderType=ASCENDING)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1OrderInfo.html#a672fd00b856f225c189de7adce65cf30">addEntryAt</a> (int pos, int colNum, <a class="el" href="classtmudr_1_1OrderInfo.html#a6dc71ab80df38d3c3fe0d060ac03664c">OrderTypeCode</a> orderType=ASCENDING)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1OrderInfo.html#aceceec297c0709e19003dec60f149305">clear</a> ()</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Ordering of a table by some ascending or descending columns. </p>
<p>A list of columns, represented by column numbers, with an ascending/descending indicator for each column. </p>
<hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="a6dc71ab80df38d3c3fe0d060ac03664c"></a><!-- doxytag: member="tmudr::OrderInfo::OrderTypeCode" ref="a6dc71ab80df38d3c3fe0d060ac03664c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classtmudr_1_1OrderInfo.html#a6dc71ab80df38d3c3fe0d060ac03664c">tmudr::OrderInfo::OrderTypeCode</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Ascending/descending order of columns. </p>
<p>For outputs, the ordering of values from the first row out to the last. Note that this ordering applies within a parallel instance of the UDF at runtime, but it does not guarantee a total order. For example, two parallel instances may get these ordered values: instance 0 gets 1,3,5,7 instance 1 gets 2,4,6,8 </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a6dc71ab80df38d3c3fe0d060ac03664ca6d13be11b628da60b716cbe1defdefcc"></a><!-- doxytag: member="NO_ORDER" ref="a6dc71ab80df38d3c3fe0d060ac03664ca6d13be11b628da60b716cbe1defdefcc" args="" -->NO_ORDER</em>&nbsp;</td><td>
<p>Unspecified order. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a6dc71ab80df38d3c3fe0d060ac03664ca9f5d23e242952104222576f9ab331ad4"></a><!-- doxytag: member="ASCENDING" ref="a6dc71ab80df38d3c3fe0d060ac03664ca9f5d23e242952104222576f9ab331ad4" args="" -->ASCENDING</em>&nbsp;</td><td>
<p>Ascending order. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a6dc71ab80df38d3c3fe0d060ac03664ca4b7811d9e06b5befccfb56ef27fee64b"></a><!-- doxytag: member="DESCENDING" ref="a6dc71ab80df38d3c3fe0d060ac03664ca4b7811d9e06b5befccfb56ef27fee64b" args="" -->DESCENDING</em>&nbsp;</td><td>
<p>Descending order. </p>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a5b74383fb58f2003fcbab8daaf69194a"></a><!-- doxytag: member="tmudr::OrderInfo::addEntry" ref="a5b74383fb58f2003fcbab8daaf69194a" args="(int colNum, OrderTypeCode orderType=ASCENDING)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void OrderInfo::addEntry </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>colNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classtmudr_1_1OrderInfo.html#a6dc71ab80df38d3c3fe0d060ac03664c">OrderTypeCode</a>&nbsp;</td>
          <td class="paramname"> <em>orderType</em> = <code>ASCENDING</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Append an entry to the ordering.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>colNum</em>&nbsp;</td><td>Column number to append to the ordering. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>orderType</em>&nbsp;</td><td>Order type (ascending or descending) to use. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a672fd00b856f225c189de7adce65cf30"></a><!-- doxytag: member="tmudr::OrderInfo::addEntryAt" ref="a672fd00b856f225c189de7adce65cf30" args="(int pos, int colNum, OrderTypeCode orderType=ASCENDING)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void OrderInfo::addEntryAt </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>pos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>colNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classtmudr_1_1OrderInfo.html#a6dc71ab80df38d3c3fe0d060ac03664c">OrderTypeCode</a>&nbsp;</td>
          <td class="paramname"> <em>orderType</em> = <code>ASCENDING</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Insert an entry at any position of the ordering.</p>
<p>A quick example to illustrate this: Let's say we have a table with columns (a,b,c). Their column numbers are 0, 1, and 2. We produce an ordering (C ASCENDING):</p>
<div class="fragment"><pre class="fragment"> OrderInfo myorder;
  
  myorder.addEntryAt(0, 2); 
</pre></div><p>Next, we want to make this into (B DESCENDING, C ASCENDING):</p>
<div class="fragment"><pre class="fragment"> myorder.addEntryAt(0, 1, <a class="code" href="classtmudr_1_1OrderInfo.html#a6dc71ab80df38d3c3fe0d060ac03664ca4b7811d9e06b5befccfb56ef27fee64b" title="Descending order.">DESCENDING</a>); 
</pre></div><dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>Position (0-based) at which we want to insert. The new entry will be position "pos" after the insertion, any existing entries will be moved up. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>colNum</em>&nbsp;</td><td>Number of the column by which we want to order </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>orderType</em>&nbsp;</td><td>Order type (ascending or descending) to use </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aceceec297c0709e19003dec60f149305"></a><!-- doxytag: member="tmudr::OrderInfo::clear" ref="aceceec297c0709e19003dec60f149305" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void OrderInfo::clear </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Clear the contents of the object </p>

</div>
</div>
<a class="anchor" id="ad2ce0a427824990fb577c99465307667"></a><!-- doxytag: member="tmudr::OrderInfo::getColumnNum" ref="ad2ce0a427824990fb577c99465307667" args="(int i) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int OrderInfo::getColumnNum </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>i</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the column number of an entry of the ordering.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>i</em>&nbsp;</td><td>the position (0-based) of the ordering, 0 meaning the leading position. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The column number of the n-th entry of the ordering (both are 0-based). </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a98f1be7578ab034d00919d3f8b5ac037"></a><!-- doxytag: member="tmudr::OrderInfo::getNumEntries" ref="a98f1be7578ab034d00919d3f8b5ac037" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int OrderInfo::getNumEntries </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the number of entries (columns) in the ordering.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Number of entries/columns that make up the ordering. </dd></dl>

</div>
</div>
<a class="anchor" id="acffea7ba665daca1bf67b15ca62c7a18"></a><!-- doxytag: member="tmudr::OrderInfo::getOrderType" ref="acffea7ba665daca1bf67b15ca62c7a18" args="(int i) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classtmudr_1_1OrderInfo.html#a6dc71ab80df38d3c3fe0d060ac03664c">OrderInfo::OrderTypeCode</a> OrderInfo::getOrderType </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>i</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the order type of an entry of the ordering.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>i</em>&nbsp;</td><td>the position (0-based) of the ordering, 0 meaning the leading position. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The order type of the n-th entry of the ordering (0-based). </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="sqludr_8h_source.html">sqludr.h</a></li>
<li>sqludr.cpp</li>
</ul>
</div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Enumerator</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<hr size="1"/><address style="text-align: right;"><small>Generated on 3 Mar 2017 for tmudr by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>
