<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.15"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>libstdc++: multiway_merge.h File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript" src="navtreedata.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(document).ready(initResizable); /* @license-end */</script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">libstdc++ </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.15 --> </div><!-- top --> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> <div id="nav-sync" class="sync"></div> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(document).ready(function(){initNavTree('a00914.html','');}); /* @license-end */ </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#nested-classes">Classes</a> | <a href="#namespaces">Namespaces</a> | <a href="#define-members">Macros</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">multiway_merge.h File Reference</div> </div> </div><!--header--> <div class="contents"> <p><a href="a00914_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> Classes</h2></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a09524.html">__gnu_parallel::__multiway_merge_3_variant_sentinel_switch< __sentinels, _RAIterIterator, _RAIter3, _DifferenceTp, _Compare ></a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a09528.html">__gnu_parallel::__multiway_merge_3_variant_sentinel_switch< true, _RAIterIterator, _RAIter3, _DifferenceTp, _Compare ></a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a09532.html">__gnu_parallel::__multiway_merge_4_variant_sentinel_switch< __sentinels, _RAIterIterator, _RAIter3, _DifferenceTp, _Compare ></a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a09536.html">__gnu_parallel::__multiway_merge_4_variant_sentinel_switch< true, _RAIterIterator, _RAIter3, _DifferenceTp, _Compare ></a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a09540.html">__gnu_parallel::__multiway_merge_k_variant_sentinel_switch< __sentinels, __stable, _RAIterIterator, _RAIter3, _DifferenceTp, _Compare ></a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a09544.html">__gnu_parallel::__multiway_merge_k_variant_sentinel_switch< false, __stable, _RAIterIterator, _RAIter3, _DifferenceTp, _Compare ></a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a09512.html">__gnu_parallel::_GuardedIterator< _RAIter, _Compare ></a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a09520.html">__gnu_parallel::_LoserTreeTraits< _Tp ></a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a09548.html">__gnu_parallel::_SamplingSorter< __stable, _RAIter, _StrictWeakOrdering ></a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a09552.html">__gnu_parallel::_SamplingSorter< false, _RAIter, _StrictWeakOrdering ></a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a> Namespaces</h2></td></tr> <tr class="memitem:a01572"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="a01572.html">__gnu_parallel</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> Macros</h2></td></tr> <tr class="memitem:affedcc6f03d294b53bfdc8df857754ba"><td class="memItemLeft" align="right" valign="top"><a id="affedcc6f03d294b53bfdc8df857754ba"></a> #define </td><td class="memItemRight" valign="bottom"><b>_GLIBCXX_PARALLEL_DECISION</b>(__a, __b, __c, __d)</td></tr> <tr class="separator:affedcc6f03d294b53bfdc8df857754ba"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2693f6e2ecfb03bdb564ca578f60b085"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00914.html#a2693f6e2ecfb03bdb564ca578f60b085">_GLIBCXX_PARALLEL_LENGTH</a>(__s)</td></tr> <tr class="separator:a2693f6e2ecfb03bdb564ca578f60b085"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a26e0cd0d18c4a7d12f3824dc1c9126e2"><td class="memItemLeft" align="right" valign="top"><a id="a26e0cd0d18c4a7d12f3824dc1c9126e2"></a> #define </td><td class="memItemRight" valign="bottom"><b>_GLIBCXX_PARALLEL_MERGE_3_CASE</b>(__a, __b, __c, __c0, __c1)</td></tr> <tr class="separator:a26e0cd0d18c4a7d12f3824dc1c9126e2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adf30b910ece749d99a7d174511f0b6f6"><td class="memItemLeft" align="right" valign="top"><a id="adf30b910ece749d99a7d174511f0b6f6"></a> #define </td><td class="memItemRight" valign="bottom"><b>_GLIBCXX_PARALLEL_MERGE_4_CASE</b>(__a, __b, __c, __d, __c0, __c1, __c2)</td></tr> <tr class="separator:adf30b910ece749d99a7d174511f0b6f6"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:a0059cd13cc6ab70692f8309ad92cb548"><td class="memTemplParams" colspan="2">template<typename _RAIter1 , typename _RAIter2 , typename _OutputIterator , typename _DifferenceTp , typename _Compare > </td></tr> <tr class="memitem:a0059cd13cc6ab70692f8309ad92cb548"><td class="memTemplItemLeft" align="right" valign="top">_OutputIterator </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01572.html#a0059cd13cc6ab70692f8309ad92cb548">__gnu_parallel::__merge_advance</a> (_RAIter1 &__begin1, _RAIter1 __end1, _RAIter2 &__begin2, _RAIter2 __end2, _OutputIterator __target, _DifferenceTp __max_length, _Compare __comp)</td></tr> <tr class="separator:a0059cd13cc6ab70692f8309ad92cb548"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5ccf0d17d06a0cdd449939227e55bd9d"><td class="memTemplParams" colspan="2">template<bool __stable, bool __sentinels, typename _RAIterIterator , typename _RAIter3 , typename _DifferenceTp , typename _Compare > </td></tr> <tr class="memitem:a5ccf0d17d06a0cdd449939227e55bd9d"><td class="memTemplItemLeft" align="right" valign="top">_RAIter3 </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01572.html#a5ccf0d17d06a0cdd449939227e55bd9d">__gnu_parallel::__sequential_multiway_merge</a> (_RAIterIterator __seqs_begin, _RAIterIterator __seqs_end, _RAIter3 __target, const typename std::iterator_traits< typename std::iterator_traits< _RAIterIterator >::value_type::first_type >::value_type &__sentinel, _DifferenceTp __length, _Compare __comp)</td></tr> <tr class="separator:a5ccf0d17d06a0cdd449939227e55bd9d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a25294b0a47406aefa9ebc5e0c151d0ce"><td class="memTemplParams" colspan="2">template<typename _RAIterPairIterator , typename _RAIterOut , typename _DifferenceTp , typename _Compare > </td></tr> <tr class="memitem:a25294b0a47406aefa9ebc5e0c151d0ce"><td class="memTemplItemLeft" align="right" valign="top">_RAIterOut </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01572.html#a25294b0a47406aefa9ebc5e0c151d0ce">__gnu_parallel::multiway_merge</a> (_RAIterPairIterator __seqs_begin, _RAIterPairIterator __seqs_end, _RAIterOut __target, _DifferenceTp __length, _Compare __comp, <a class="el" href="a09636.html">__gnu_parallel::sequential_tag</a>)</td></tr> <tr class="separator:a25294b0a47406aefa9ebc5e0c151d0ce"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac25efc956562ab237b7b6cb733060c6a"><td class="memTemplParams" colspan="2"><a id="ac25efc956562ab237b7b6cb733060c6a"></a> template<typename _RAIterPairIterator , typename _RAIterOut , typename _DifferenceTp , typename _Compare > </td></tr> <tr class="memitem:ac25efc956562ab237b7b6cb733060c6a"><td class="memTemplItemLeft" align="right" valign="top">_RAIterOut </td><td class="memTemplItemRight" valign="bottom"><b>__gnu_parallel::multiway_merge</b> (_RAIterPairIterator __seqs_begin, _RAIterPairIterator __seqs_end, _RAIterOut __target, _DifferenceTp __length, _Compare __comp, <a class="el" href="a09668.html">__gnu_parallel::exact_tag</a> __tag)</td></tr> <tr class="separator:ac25efc956562ab237b7b6cb733060c6a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8c908c501ec9005517a88a3004ff6a75"><td class="memTemplParams" colspan="2"><a id="a8c908c501ec9005517a88a3004ff6a75"></a> template<typename _RAIterPairIterator , typename _RAIterOut , typename _DifferenceTp , typename _Compare > </td></tr> <tr class="memitem:a8c908c501ec9005517a88a3004ff6a75"><td class="memTemplItemLeft" align="right" valign="top">_RAIterOut </td><td class="memTemplItemRight" valign="bottom"><b>__gnu_parallel::multiway_merge</b> (_RAIterPairIterator __seqs_begin, _RAIterPairIterator __seqs_end, _RAIterOut __target, _DifferenceTp __length, _Compare __comp, <a class="el" href="a09672.html">__gnu_parallel::sampling_tag</a> __tag)</td></tr> <tr class="separator:a8c908c501ec9005517a88a3004ff6a75"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a18da5adc61694c1f0c3f7735fa8daf2e"><td class="memTemplParams" colspan="2"><a id="a18da5adc61694c1f0c3f7735fa8daf2e"></a> template<typename _RAIterPairIterator , typename _RAIterOut , typename _DifferenceTp , typename _Compare > </td></tr> <tr class="memitem:a18da5adc61694c1f0c3f7735fa8daf2e"><td class="memTemplItemLeft" align="right" valign="top">_RAIterOut </td><td class="memTemplItemRight" valign="bottom"><b>__gnu_parallel::multiway_merge</b> (_RAIterPairIterator __seqs_begin, _RAIterPairIterator __seqs_end, _RAIterOut __target, _DifferenceTp __length, _Compare __comp, parallel_tag __tag=parallel_tag(0))</td></tr> <tr class="separator:a18da5adc61694c1f0c3f7735fa8daf2e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4569fbe5bdf414f0970bdc38875cdc2f"><td class="memTemplParams" colspan="2"><a id="a4569fbe5bdf414f0970bdc38875cdc2f"></a> template<typename _RAIterPairIterator , typename _RAIterOut , typename _DifferenceTp , typename _Compare > </td></tr> <tr class="memitem:a4569fbe5bdf414f0970bdc38875cdc2f"><td class="memTemplItemLeft" align="right" valign="top">_RAIterOut </td><td class="memTemplItemRight" valign="bottom"><b>__gnu_parallel::multiway_merge</b> (_RAIterPairIterator __seqs_begin, _RAIterPairIterator __seqs_end, _RAIterOut __target, _DifferenceTp __length, _Compare __comp, default_parallel_tag __tag)</td></tr> <tr class="separator:a4569fbe5bdf414f0970bdc38875cdc2f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7ee9d79b73a6f85ae97e472312ba411e"><td class="memTemplParams" colspan="2">template<template< typename RAI, typename C > class iterator, typename _RAIterIterator , typename _RAIter3 , typename _DifferenceTp , typename _Compare > </td></tr> <tr class="memitem:a7ee9d79b73a6f85ae97e472312ba411e"><td class="memTemplItemLeft" align="right" valign="top">_RAIter3 </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01572.html#a7ee9d79b73a6f85ae97e472312ba411e">__gnu_parallel::multiway_merge_3_variant</a> (_RAIterIterator __seqs_begin, _RAIterIterator __seqs_end, _RAIter3 __target, _DifferenceTp __length, _Compare __comp)</td></tr> <tr class="separator:a7ee9d79b73a6f85ae97e472312ba411e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac4af8f9977aa36823357bce35be6c946"><td class="memTemplParams" colspan="2">template<template< typename RAI, typename C > class iterator, typename _RAIterIterator , typename _RAIter3 , typename _DifferenceTp , typename _Compare > </td></tr> <tr class="memitem:ac4af8f9977aa36823357bce35be6c946"><td class="memTemplItemLeft" align="right" valign="top">_RAIter3 </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01572.html#ac4af8f9977aa36823357bce35be6c946">__gnu_parallel::multiway_merge_4_variant</a> (_RAIterIterator __seqs_begin, _RAIterIterator __seqs_end, _RAIter3 __target, _DifferenceTp __length, _Compare __comp)</td></tr> <tr class="separator:ac4af8f9977aa36823357bce35be6c946"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a567621588e461a8759651e29cd964ab9"><td class="memTemplParams" colspan="2">template<bool __stable, typename _RAIterIterator , typename _Compare , typename _DifferenceType > </td></tr> <tr class="memitem:a567621588e461a8759651e29cd964ab9"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01572.html#a567621588e461a8759651e29cd964ab9">__gnu_parallel::multiway_merge_exact_splitting</a> (_RAIterIterator __seqs_begin, _RAIterIterator __seqs_end, _DifferenceType __length, _DifferenceType __total_length, _Compare __comp, <a class="el" href="a07920.html">std::vector</a>< <a class="el" href="a07764.html">std::pair</a>< _DifferenceType, _DifferenceType > > *__pieces)</td></tr> <tr class="separator:a567621588e461a8759651e29cd964ab9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a150b06a4da2cf1cff673d1b6242c27fa"><td class="memTemplParams" colspan="2">template<typename _LT , typename _RAIterIterator , typename _RAIter3 , typename _DifferenceTp , typename _Compare > </td></tr> <tr class="memitem:a150b06a4da2cf1cff673d1b6242c27fa"><td class="memTemplItemLeft" align="right" valign="top">_RAIter3 </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01572.html#a150b06a4da2cf1cff673d1b6242c27fa">__gnu_parallel::multiway_merge_loser_tree</a> (_RAIterIterator __seqs_begin, _RAIterIterator __seqs_end, _RAIter3 __target, _DifferenceTp __length, _Compare __comp)</td></tr> <tr class="separator:a150b06a4da2cf1cff673d1b6242c27fa"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a686704fa4da0a4fdbc6800fe46048366"><td class="memTemplParams" colspan="2">template<typename UnguardedLoserTree , typename _RAIterIterator , typename _RAIter3 , typename _DifferenceTp , typename _Compare > </td></tr> <tr class="memitem:a686704fa4da0a4fdbc6800fe46048366"><td class="memTemplItemLeft" align="right" valign="top">_RAIter3 </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01572.html#a686704fa4da0a4fdbc6800fe46048366">__gnu_parallel::multiway_merge_loser_tree_sentinel</a> (_RAIterIterator __seqs_begin, _RAIterIterator __seqs_end, _RAIter3 __target, const typename std::iterator_traits< typename std::iterator_traits< _RAIterIterator >::value_type::first_type >::value_type &__sentinel, _DifferenceTp __length, _Compare __comp)</td></tr> <tr class="separator:a686704fa4da0a4fdbc6800fe46048366"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3ffd0c9da50da6118291d38f95d44b52"><td class="memTemplParams" colspan="2">template<typename _LT , typename _RAIterIterator , typename _RAIter3 , typename _DifferenceTp , typename _Compare > </td></tr> <tr class="memitem:a3ffd0c9da50da6118291d38f95d44b52"><td class="memTemplItemLeft" align="right" valign="top">_RAIter3 </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01572.html#a3ffd0c9da50da6118291d38f95d44b52">__gnu_parallel::multiway_merge_loser_tree_unguarded</a> (_RAIterIterator __seqs_begin, _RAIterIterator __seqs_end, _RAIter3 __target, const typename std::iterator_traits< typename std::iterator_traits< _RAIterIterator >::value_type::first_type >::value_type &__sentinel, _DifferenceTp __length, _Compare __comp)</td></tr> <tr class="separator:a3ffd0c9da50da6118291d38f95d44b52"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0e39d3891745fd0e244fb125bf34ce8b"><td class="memTemplParams" colspan="2">template<bool __stable, typename _RAIterIterator , typename _Compare , typename _DifferenceType > </td></tr> <tr class="memitem:a0e39d3891745fd0e244fb125bf34ce8b"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01572.html#a0e39d3891745fd0e244fb125bf34ce8b">__gnu_parallel::multiway_merge_sampling_splitting</a> (_RAIterIterator __seqs_begin, _RAIterIterator __seqs_end, _DifferenceType __length, _DifferenceType __total_length, _Compare __comp, <a class="el" href="a07920.html">std::vector</a>< <a class="el" href="a07764.html">std::pair</a>< _DifferenceType, _DifferenceType > > *__pieces)</td></tr> <tr class="separator:a0e39d3891745fd0e244fb125bf34ce8b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4d6e76ac42b48f0033139352dcb0418f"><td class="memTemplParams" colspan="2">template<typename _RAIterPairIterator , typename _RAIterOut , typename _DifferenceTp , typename _Compare > </td></tr> <tr class="memitem:a4d6e76ac42b48f0033139352dcb0418f"><td class="memTemplItemLeft" align="right" valign="top">_RAIterOut </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01572.html#a4d6e76ac42b48f0033139352dcb0418f">__gnu_parallel::multiway_merge_sentinels</a> (_RAIterPairIterator __seqs_begin, _RAIterPairIterator __seqs_end, _RAIterOut __target, _DifferenceTp __length, _Compare __comp, <a class="el" href="a09636.html">__gnu_parallel::sequential_tag</a>)</td></tr> <tr class="separator:a4d6e76ac42b48f0033139352dcb0418f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5228d191a298cdaa42baacdfc821cc12"><td class="memTemplParams" colspan="2"><a id="a5228d191a298cdaa42baacdfc821cc12"></a> template<typename _RAIterPairIterator , typename _RAIterOut , typename _DifferenceTp , typename _Compare > </td></tr> <tr class="memitem:a5228d191a298cdaa42baacdfc821cc12"><td class="memTemplItemLeft" align="right" valign="top">_RAIterOut </td><td class="memTemplItemRight" valign="bottom"><b>__gnu_parallel::multiway_merge_sentinels</b> (_RAIterPairIterator __seqs_begin, _RAIterPairIterator __seqs_end, _RAIterOut __target, _DifferenceTp __length, _Compare __comp, <a class="el" href="a09668.html">__gnu_parallel::exact_tag</a> __tag)</td></tr> <tr class="separator:a5228d191a298cdaa42baacdfc821cc12"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5db4fbc41fff695834ee6d0cbc91f8c6"><td class="memTemplParams" colspan="2"><a id="a5db4fbc41fff695834ee6d0cbc91f8c6"></a> template<typename _RAIterPairIterator , typename _RAIterOut , typename _DifferenceTp , typename _Compare > </td></tr> <tr class="memitem:a5db4fbc41fff695834ee6d0cbc91f8c6"><td class="memTemplItemLeft" align="right" valign="top">_RAIterOut </td><td class="memTemplItemRight" valign="bottom"><b>__gnu_parallel::multiway_merge_sentinels</b> (_RAIterPairIterator __seqs_begin, _RAIterPairIterator __seqs_end, _RAIterOut __target, _DifferenceTp __length, _Compare __comp, sampling_tag __tag)</td></tr> <tr class="separator:a5db4fbc41fff695834ee6d0cbc91f8c6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adc0ae12fb2b2ce342e71691226729f1f"><td class="memTemplParams" colspan="2"><a id="adc0ae12fb2b2ce342e71691226729f1f"></a> template<typename _RAIterPairIterator , typename _RAIterOut , typename _DifferenceTp , typename _Compare > </td></tr> <tr class="memitem:adc0ae12fb2b2ce342e71691226729f1f"><td class="memTemplItemLeft" align="right" valign="top">_RAIterOut </td><td class="memTemplItemRight" valign="bottom"><b>__gnu_parallel::multiway_merge_sentinels</b> (_RAIterPairIterator __seqs_begin, _RAIterPairIterator __seqs_end, _RAIterOut __target, _DifferenceTp __length, _Compare __comp, parallel_tag __tag=parallel_tag(0))</td></tr> <tr class="separator:adc0ae12fb2b2ce342e71691226729f1f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acb7509d5d4e88c17013e7f7a0fe539d5"><td class="memTemplParams" colspan="2"><a id="acb7509d5d4e88c17013e7f7a0fe539d5"></a> template<typename _RAIterPairIterator , typename _RAIterOut , typename _DifferenceTp , typename _Compare > </td></tr> <tr class="memitem:acb7509d5d4e88c17013e7f7a0fe539d5"><td class="memTemplItemLeft" align="right" valign="top">_RAIterOut </td><td class="memTemplItemRight" valign="bottom"><b>__gnu_parallel::multiway_merge_sentinels</b> (_RAIterPairIterator __seqs_begin, _RAIterPairIterator __seqs_end, _RAIterOut __target, _DifferenceTp __length, _Compare __comp, default_parallel_tag __tag)</td></tr> <tr class="separator:acb7509d5d4e88c17013e7f7a0fe539d5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a14c854d00d1321cf1ee7f6d12fb955c4"><td class="memTemplParams" colspan="2">template<bool __stable, bool __sentinels, typename _RAIterIterator , typename _RAIter3 , typename _DifferenceTp , typename _Splitter , typename _Compare > </td></tr> <tr class="memitem:a14c854d00d1321cf1ee7f6d12fb955c4"><td class="memTemplItemLeft" align="right" valign="top">_RAIter3 </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01572.html#a14c854d00d1321cf1ee7f6d12fb955c4">__gnu_parallel::parallel_multiway_merge</a> (_RAIterIterator __seqs_begin, _RAIterIterator __seqs_end, _RAIter3 __target, _Splitter __splitter, _DifferenceTp __length, _Compare __comp, _ThreadIndex __num_threads)</td></tr> <tr class="separator:a14c854d00d1321cf1ee7f6d12fb955c4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a27f5da3fdd4d5f56eecd6a078ec7bae2"><td class="memTemplParams" colspan="2"><a id="a27f5da3fdd4d5f56eecd6a078ec7bae2"></a> template<typename _RAIterPairIterator , typename _RAIterOut , typename _DifferenceTp , typename _Compare > </td></tr> <tr class="memitem:a27f5da3fdd4d5f56eecd6a078ec7bae2"><td class="memTemplItemLeft" align="right" valign="top">_RAIterOut </td><td class="memTemplItemRight" valign="bottom"><b>__gnu_parallel::stable_multiway_merge</b> (_RAIterPairIterator __seqs_begin, _RAIterPairIterator __seqs_end, _RAIterOut __target, _DifferenceTp __length, _Compare __comp, <a class="el" href="a09636.html">__gnu_parallel::sequential_tag</a>)</td></tr> <tr class="separator:a27f5da3fdd4d5f56eecd6a078ec7bae2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aeb955a1aae5a2ad2e59e5f990625c678"><td class="memTemplParams" colspan="2"><a id="aeb955a1aae5a2ad2e59e5f990625c678"></a> template<typename _RAIterPairIterator , typename _RAIterOut , typename _DifferenceTp , typename _Compare > </td></tr> <tr class="memitem:aeb955a1aae5a2ad2e59e5f990625c678"><td class="memTemplItemLeft" align="right" valign="top">_RAIterOut </td><td class="memTemplItemRight" valign="bottom"><b>__gnu_parallel::stable_multiway_merge</b> (_RAIterPairIterator __seqs_begin, _RAIterPairIterator __seqs_end, _RAIterOut __target, _DifferenceTp __length, _Compare __comp, <a class="el" href="a09668.html">__gnu_parallel::exact_tag</a> __tag)</td></tr> <tr class="separator:aeb955a1aae5a2ad2e59e5f990625c678"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a18b727aab25037e289fecb8d9861963a"><td class="memTemplParams" colspan="2"><a id="a18b727aab25037e289fecb8d9861963a"></a> template<typename _RAIterPairIterator , typename _RAIterOut , typename _DifferenceTp , typename _Compare > </td></tr> <tr class="memitem:a18b727aab25037e289fecb8d9861963a"><td class="memTemplItemLeft" align="right" valign="top">_RAIterOut </td><td class="memTemplItemRight" valign="bottom"><b>__gnu_parallel::stable_multiway_merge</b> (_RAIterPairIterator __seqs_begin, _RAIterPairIterator __seqs_end, _RAIterOut __target, _DifferenceTp __length, _Compare __comp, sampling_tag __tag)</td></tr> <tr class="separator:a18b727aab25037e289fecb8d9861963a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a31162912a5b53056b8971c3ec0e718ba"><td class="memTemplParams" colspan="2"><a id="a31162912a5b53056b8971c3ec0e718ba"></a> template<typename _RAIterPairIterator , typename _RAIterOut , typename _DifferenceTp , typename _Compare > </td></tr> <tr class="memitem:a31162912a5b53056b8971c3ec0e718ba"><td class="memTemplItemLeft" align="right" valign="top">_RAIterOut </td><td class="memTemplItemRight" valign="bottom"><b>__gnu_parallel::stable_multiway_merge</b> (_RAIterPairIterator __seqs_begin, _RAIterPairIterator __seqs_end, _RAIterOut __target, _DifferenceTp __length, _Compare __comp, parallel_tag __tag=parallel_tag(0))</td></tr> <tr class="separator:a31162912a5b53056b8971c3ec0e718ba"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a008a4daae19578fd8b00d789387f039f"><td class="memTemplParams" colspan="2"><a id="a008a4daae19578fd8b00d789387f039f"></a> template<typename _RAIterPairIterator , typename _RAIterOut , typename _DifferenceTp , typename _Compare > </td></tr> <tr class="memitem:a008a4daae19578fd8b00d789387f039f"><td class="memTemplItemLeft" align="right" valign="top">_RAIterOut </td><td class="memTemplItemRight" valign="bottom"><b>__gnu_parallel::stable_multiway_merge</b> (_RAIterPairIterator __seqs_begin, _RAIterPairIterator __seqs_end, _RAIterOut __target, _DifferenceTp __length, _Compare __comp, default_parallel_tag __tag)</td></tr> <tr class="separator:a008a4daae19578fd8b00d789387f039f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a907b298f67ecf4627e9db5d8e1e8d8a5"><td class="memTemplParams" colspan="2"><a id="a907b298f67ecf4627e9db5d8e1e8d8a5"></a> template<typename _RAIterPairIterator , typename _RAIterOut , typename _DifferenceTp , typename _Compare > </td></tr> <tr class="memitem:a907b298f67ecf4627e9db5d8e1e8d8a5"><td class="memTemplItemLeft" align="right" valign="top">_RAIterOut </td><td class="memTemplItemRight" valign="bottom"><b>__gnu_parallel::stable_multiway_merge_sentinels</b> (_RAIterPairIterator __seqs_begin, _RAIterPairIterator __seqs_end, _RAIterOut __target, _DifferenceTp __length, _Compare __comp, <a class="el" href="a09636.html">__gnu_parallel::sequential_tag</a>)</td></tr> <tr class="separator:a907b298f67ecf4627e9db5d8e1e8d8a5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab4bef8eb5bc6bb03b812eb3246e02de4"><td class="memTemplParams" colspan="2"><a id="ab4bef8eb5bc6bb03b812eb3246e02de4"></a> template<typename _RAIterPairIterator , typename _RAIterOut , typename _DifferenceTp , typename _Compare > </td></tr> <tr class="memitem:ab4bef8eb5bc6bb03b812eb3246e02de4"><td class="memTemplItemLeft" align="right" valign="top">_RAIterOut </td><td class="memTemplItemRight" valign="bottom"><b>__gnu_parallel::stable_multiway_merge_sentinels</b> (_RAIterPairIterator __seqs_begin, _RAIterPairIterator __seqs_end, _RAIterOut __target, _DifferenceTp __length, _Compare __comp, <a class="el" href="a09668.html">__gnu_parallel::exact_tag</a> __tag)</td></tr> <tr class="separator:ab4bef8eb5bc6bb03b812eb3246e02de4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aba7d273f820b57f9e0c709dbf68e6ee8"><td class="memTemplParams" colspan="2"><a id="aba7d273f820b57f9e0c709dbf68e6ee8"></a> template<typename _RAIterPairIterator , typename _RAIterOut , typename _DifferenceTp , typename _Compare > </td></tr> <tr class="memitem:aba7d273f820b57f9e0c709dbf68e6ee8"><td class="memTemplItemLeft" align="right" valign="top">_RAIterOut </td><td class="memTemplItemRight" valign="bottom"><b>__gnu_parallel::stable_multiway_merge_sentinels</b> (_RAIterPairIterator __seqs_begin, _RAIterPairIterator __seqs_end, _RAIterOut __target, _DifferenceTp __length, _Compare __comp, sampling_tag __tag)</td></tr> <tr class="separator:aba7d273f820b57f9e0c709dbf68e6ee8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5f4a6f141791040bebf482b269b3be2b"><td class="memTemplParams" colspan="2"><a id="a5f4a6f141791040bebf482b269b3be2b"></a> template<typename _RAIterPairIterator , typename _RAIterOut , typename _DifferenceTp , typename _Compare > </td></tr> <tr class="memitem:a5f4a6f141791040bebf482b269b3be2b"><td class="memTemplItemLeft" align="right" valign="top">_RAIterOut </td><td class="memTemplItemRight" valign="bottom"><b>__gnu_parallel::stable_multiway_merge_sentinels</b> (_RAIterPairIterator __seqs_begin, _RAIterPairIterator __seqs_end, _RAIterOut __target, _DifferenceTp __length, _Compare __comp, parallel_tag __tag=parallel_tag(0))</td></tr> <tr class="separator:a5f4a6f141791040bebf482b269b3be2b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9214bff1fbf949614c5f7f7d6fe129c3"><td class="memTemplParams" colspan="2"><a id="a9214bff1fbf949614c5f7f7d6fe129c3"></a> template<typename _RAIterPairIterator , typename _RAIterOut , typename _DifferenceTp , typename _Compare > </td></tr> <tr class="memitem:a9214bff1fbf949614c5f7f7d6fe129c3"><td class="memTemplItemLeft" align="right" valign="top">_RAIterOut </td><td class="memTemplItemRight" valign="bottom"><b>__gnu_parallel::stable_multiway_merge_sentinels</b> (_RAIterPairIterator __seqs_begin, _RAIterPairIterator __seqs_end, _RAIterOut __target, _DifferenceTp __length, _Compare __comp, default_parallel_tag __tag)</td></tr> <tr class="separator:a9214bff1fbf949614c5f7f7d6fe129c3"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Implementation of sequential and parallel multiway merge. </p> <p>Explanations on the high-speed merging routines in the appendix of</p> <p>P. Sanders. Fast priority queues for cached memory. ACM Journal of Experimental Algorithmics, 5, 2000.</p> <p>This file is a GNU parallel extension to the Standard C++ Library. </p> <p class="definition">Definition in file <a class="el" href="a00914_source.html">multiway_merge.h</a>.</p> </div><h2 class="groupheader">Macro Definition Documentation</h2> <a id="a2693f6e2ecfb03bdb564ca578f60b085"></a> <h2 class="memtitle"><span class="permalink"><a href="#a2693f6e2ecfb03bdb564ca578f60b085">◆ </a></span>_GLIBCXX_PARALLEL_LENGTH</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define _GLIBCXX_PARALLEL_LENGTH</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">__s</td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Length of a sequence described by a pair of iterators. </p> <p class="definition">Definition at line <a class="el" href="a00914_source.html#l00054">54</a> of file <a class="el" href="a00914_source.html">multiway_merge.h</a>.</p> </div> </div> </div><!-- contents --> </div><!-- doc-content --> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="navelem"><a class="el" href="dir_3a83f109ff04170a1f8448445d1bdcba.html">include</a></li><li class="navelem"><a class="el" href="dir_2f1ac407c3bb97b79c0150323d069a39.html">parallel</a></li><li class="navelem"><a class="el" href="a00914.html">multiway_merge.h</a></li> <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li> </ul> </div> </body> </html>