tlx
Loading...
Searching...
No Matches

Loser/Tournament tree variants. More...

Classes

class  LoserTreeCopyBase< ValueType, Comparator >
 Guarded loser tree/tournament tree, either copying the whole element into the tree structure, or looking up the element via the index. More...
 
struct  LoserTreeCopyBase< ValueType, Comparator >::Loser
 Internal representation of a loser tree player/node. More...
 
class  LoserTreeCopy< Stable, ValueType, Comparator >
 Guarded loser tree/tournament tree, either copying the whole element into the tree structure, or looking up the element via the index. More...
 
class  LoserTreeCopy< true, ValueType, Comparator >
 Guarded loser tree/tournament tree, either copying the whole element into the tree structure, or looking up the element via the index. More...
 
class  LoserTreePointerBase< ValueType, Comparator >
 Guarded loser tree, using pointers to the elements instead of copying them into the tree nodes. More...
 
struct  LoserTreePointerBase< ValueType, Comparator >::Loser
 Internal representation of a loser tree player/node. More...
 
class  LoserTreePointer< Stable, ValueType, Comparator >
 Guarded loser tree, using pointers to the elements instead of copying them into the tree nodes. More...
 
class  LoserTreePointer< true, ValueType, Comparator >
 Guarded loser tree, using pointers to the elements instead of copying them into the tree nodes. More...
 
class  LoserTreeCopyUnguardedBase< ValueType, Comparator >
 Unguarded loser tree, copying the whole element into the tree structure. More...
 
struct  LoserTreeCopyUnguardedBase< ValueType, Comparator >::Loser
 Internal representation of a loser tree player/node. More...
 
class  LoserTreeCopyUnguarded< Stable, ValueType, Comparator >
 
class  LoserTreeCopyUnguarded< true, ValueType, Comparator >
 
class  LoserTreePointerUnguardedBase< ValueType, Comparator >
 Unguarded loser tree, keeping only pointers to the elements in the tree structure. More...
 
struct  LoserTreePointerUnguardedBase< ValueType, Comparator >::Loser
 Internal representation of a loser tree player/node. More...
 
class  LoserTreePointerUnguarded< Stable, ValueType, Comparator >
 
class  LoserTreePointerUnguarded< true, ValueType, Comparator >
 
class  LoserTreeSwitch< Stable, ValueType, Comparator, Enable >
 

Typedefs

using Source = std::uint32_t
 size of counters and array indexes
 
using Super = LoserTreeCopyBase< ValueType, Comparator >
 
using Source = typename Super::Source
 
using Super = LoserTreeCopyBase< ValueType, Comparator >
 
using Source = typename Super::Source
 
using Source = std::uint32_t
 size of counters and array indexes
 
using Super = LoserTreePointerBase< ValueType, Comparator >
 
using Source = typename Super::Source
 
using Super = LoserTreePointerBase< ValueType, Comparator >
 
using Source = typename Super::Source
 
using Source = std::uint32_t
 size of counters and array indexes
 
using Super = LoserTreeCopyUnguardedBase< ValueType, Comparator >
 
using Source = typename Super::Source
 
using Super = LoserTreeCopyUnguardedBase< ValueType, Comparator >
 
using Source = typename Super::Source
 
using Source = std::uint32_t
 size of counters and array indexes
 
using Super = LoserTreePointerUnguardedBase< ValueType, Comparator >
 
using Source = typename Super::Source
 
using Super = LoserTreePointerUnguardedBase< ValueType, Comparator >
 
using Source = typename Super::Source
 
using Type = LoserTreePointer< Stable, ValueType, Comparator >
 

Functions

 LoserTreeCopyBase (const Source &k, const Comparator &cmp=Comparator())
 
Source min_source ()
 return the index of the player with the smallest element.
 
void insert_start (const ValueType *keyp, const Source &source, bool sup)
 Initializes the player source with the element key.
 
Source init_winner (const Source &root)
 Computes the winner of the competition at player root.
 
void init ()
 
 LoserTreeCopy (const Source &k, const Comparator &cmp=Comparator())
 
void delete_min_insert (const ValueType *keyp, bool sup)
 
 LoserTreeCopy (const Source &k, const Comparator &cmp=Comparator())
 
void delete_min_insert (const ValueType *keyp, bool sup)
 
 LoserTreePointerBase (Source k, const Comparator &cmp=Comparator())
 
 LoserTreePointerBase (const LoserTreePointerBase &)=delete
 
LoserTreePointerBaseoperator= (const LoserTreePointerBase &)=delete
 
 LoserTreePointerBase (LoserTreePointerBase &&)=default
 
LoserTreePointerBaseoperator= (LoserTreePointerBase &&)=default
 
Source min_source ()
 return the index of the player with the smallest element.
 
void insert_start (const ValueType *keyp, const Source &source, bool sup)
 Initializes the player source with the element key.
 
Source init_winner (const Source &root)
 Computes the winner of the competition at player root.
 
void init ()
 
 LoserTreePointer (Source k, const Comparator &cmp=Comparator())
 
void delete_min_insert (const ValueType *keyp, bool sup)
 
 LoserTreePointer (Source k, const Comparator &cmp=Comparator())
 
void delete_min_insert (const ValueType *keyp, bool sup)
 
 LoserTreeCopyUnguardedBase (Source k, const ValueType &sentinel, const Comparator &cmp=Comparator())
 
Source min_source ()
 return the index of the player with the smallest element.
 
void insert_start (const ValueType *keyp, const Source &source, bool sup)
 
Source init_winner (const Source &root)
 
void init ()
 
 LoserTreeCopyUnguarded (Source k, const ValueType &sentinel, const Comparator &cmp=Comparator())
 
void delete_min_insert (const ValueType *keyp, bool sup)
 
 LoserTreeCopyUnguarded (Source k, const ValueType &sentinel, const Comparator &comp=Comparator())
 
void delete_min_insert (const ValueType *keyp, bool sup)
 
 LoserTreePointerUnguardedBase (const Source &k, const ValueType &sentinel, const Comparator &cmp=Comparator())
 
 LoserTreePointerUnguardedBase (const LoserTreePointerUnguardedBase &other)=delete
 
LoserTreePointerUnguardedBaseoperator= (const LoserTreePointerUnguardedBase &)=delete
 
Source min_source ()
 
void insert_start (const ValueType *keyp, const Source &source, bool sup)
 
Source init_winner (const Source &root)
 
void init ()
 
 LoserTreePointerUnguarded (const Source &k, const ValueType &sentinel, const Comparator &cmp=Comparator())
 
void delete_min_insert (const ValueType *keyp, bool sup)
 
 LoserTreePointerUnguarded (const Source &k, const ValueType &sentinel, const Comparator &cmp=Comparator())
 
void delete_min_insert (const ValueType *keyp, bool sup)
 

Variables

static constexpr Source invalid_
 sentinel for invalid or finished Sources
 
bool sup
 flag, true iff is a virtual maximum sentinel
 
Source source
 index of source
 
ValueType key
 copy of key value of the element in this node
 
const Source ik_
 number of nodes
 
const Source k_
 log_2(ik) next greater power of 2
 
SimpleVector< Loserlosers_
 array containing loser tree nodes – avoid default-constructing losers[].key
 
Comparator cmp_
 the comparator object
 
bool first_insert_
 still have to construct keys
 
static constexpr Source invalid_
 sentinel for invalid or finished Sources
 
Source source
 index of source
 
const ValueType * keyp
 pointer to key value of the element in this node
 
const Source ik_
 number of nodes
 
const Source k_
 log_2(ik) next greater power of 2
 
SimpleVector< Loserlosers_
 array containing loser tree nodes
 
Comparator cmp_
 the comparator object
 
static constexpr Source invalid_
 sentinel for invalid or finished Sources
 
Source source
 index of source
 
ValueType key
 copy of key value of the element in this node
 
Source ik_
 number of nodes
 
Source k_
 log_2(ik) next greater power of 2
 
SimpleVector< Loserlosers_
 array containing loser tree nodes
 
Comparator cmp_
 the comparator object
 
static constexpr Source invalid_
 sentinel for invalid or finished Sources
 
Source source
 index of source
 
const ValueType * keyp
 copy of key value of the element in this node
 
Source ik_
 number of nodes
 
Source k_
 log_2(ik) next greater power of 2
 
SimpleVector< Loserlosers_
 array containing loser tree nodes
 
Comparator cmp_
 the comparator object
 

Detailed Description

Loser/Tournament tree variants.

Typedef Documentation

◆ Source [1/12]

template<typename ValueType , typename Comparator = std::less<ValueType>>
using Source = std::uint32_t

size of counters and array indexes

Definition at line 59 of file loser_tree.hpp.

◆ Source [2/12]

template<bool Stable, typename ValueType , typename Comparator = std::less<ValueType>>
using Source = typename Super::Source

Definition at line 186 of file loser_tree.hpp.

◆ Source [3/12]

template<typename ValueType , typename Comparator >
using Source = typename Super::Source

Definition at line 253 of file loser_tree.hpp.

◆ Source [4/12]

template<typename ValueType , typename Comparator = std::less<ValueType>>
using Source = std::uint32_t

size of counters and array indexes

Definition at line 311 of file loser_tree.hpp.

◆ Source [5/12]

template<bool Stable, typename ValueType , typename Comparator = std::less<ValueType>>
using Source = typename Super::Source

Definition at line 423 of file loser_tree.hpp.

◆ Source [6/12]

template<typename ValueType , typename Comparator >
using Source = typename Super::Source

Definition at line 483 of file loser_tree.hpp.

◆ Source [7/12]

template<typename ValueType , typename Comparator = std::less<ValueType>>
using Source = std::uint32_t

size of counters and array indexes

Definition at line 533 of file loser_tree.hpp.

◆ Source [8/12]

template<bool Stable, typename ValueType , typename Comparator = std::less<ValueType>>
using Source = typename Super::Source

Definition at line 617 of file loser_tree.hpp.

◆ Source [9/12]

template<typename ValueType , typename Comparator >
using Source = typename Super::Source

Definition at line 658 of file loser_tree.hpp.

◆ Source [10/12]

template<typename ValueType , typename Comparator = std::less<ValueType>>
using Source = std::uint32_t

size of counters and array indexes

Definition at line 709 of file loser_tree.hpp.

◆ Source [11/12]

template<bool Stable, typename ValueType , typename Comparator = std::less<ValueType>>
using Source = typename Super::Source

Definition at line 795 of file loser_tree.hpp.

◆ Source [12/12]

template<typename ValueType , typename Comparator >
using Source = typename Super::Source

Definition at line 833 of file loser_tree.hpp.

◆ Super [1/8]

template<bool Stable, typename ValueType , typename Comparator = std::less<ValueType>>
using Super = LoserTreeCopyBase<ValueType, Comparator>

Definition at line 185 of file loser_tree.hpp.

◆ Super [2/8]

template<typename ValueType , typename Comparator >
using Super = LoserTreeCopyBase<ValueType, Comparator>

Definition at line 252 of file loser_tree.hpp.

◆ Super [3/8]

template<bool Stable, typename ValueType , typename Comparator = std::less<ValueType>>
using Super = LoserTreePointerBase<ValueType, Comparator>

Definition at line 422 of file loser_tree.hpp.

◆ Super [4/8]

template<typename ValueType , typename Comparator >
using Super = LoserTreePointerBase<ValueType, Comparator>

Definition at line 482 of file loser_tree.hpp.

◆ Super [5/8]

template<bool Stable, typename ValueType , typename Comparator = std::less<ValueType>>
using Super = LoserTreeCopyUnguardedBase<ValueType, Comparator>

Definition at line 616 of file loser_tree.hpp.

◆ Super [6/8]

template<typename ValueType , typename Comparator >
using Super = LoserTreeCopyUnguardedBase<ValueType, Comparator>

Definition at line 657 of file loser_tree.hpp.

◆ Super [7/8]

template<bool Stable, typename ValueType , typename Comparator = std::less<ValueType>>
using Super = LoserTreePointerUnguardedBase<ValueType, Comparator>

Definition at line 794 of file loser_tree.hpp.

◆ Super [8/8]

template<typename ValueType , typename Comparator >
using Super = LoserTreePointerUnguardedBase<ValueType, Comparator>

Definition at line 832 of file loser_tree.hpp.

◆ Type

template<bool Stable, typename ValueType , typename Comparator , typename Enable = void>
using Type = LoserTreePointer<Stable, ValueType, Comparator>

Definition at line 875 of file loser_tree.hpp.

Function Documentation

◆ delete_min_insert() [1/8]

template<bool Stable, typename ValueType , typename Comparator = std::less<ValueType>>
void delete_min_insert ( const ValueType *  keyp,
bool  sup 
)
inline

Definition at line 199 of file loser_tree.hpp.

◆ delete_min_insert() [2/8]

template<typename ValueType , typename Comparator >
void delete_min_insert ( const ValueType *  keyp,
bool  sup 
)
inline

Definition at line 266 of file loser_tree.hpp.

◆ delete_min_insert() [3/8]

template<bool Stable, typename ValueType , typename Comparator = std::less<ValueType>>
void delete_min_insert ( const ValueType *  keyp,
bool  sup 
)
inline

Definition at line 434 of file loser_tree.hpp.

◆ delete_min_insert() [4/8]

template<typename ValueType , typename Comparator >
void delete_min_insert ( const ValueType *  keyp,
bool  sup 
)
inline

Definition at line 494 of file loser_tree.hpp.

◆ delete_min_insert() [5/8]

template<bool Stable, typename ValueType , typename Comparator = std::less<ValueType>>
void delete_min_insert ( const ValueType *  keyp,
bool  sup 
)
inline

Definition at line 630 of file loser_tree.hpp.

◆ delete_min_insert() [6/8]

template<typename ValueType , typename Comparator >
void delete_min_insert ( const ValueType *  keyp,
bool  sup 
)
inline

Definition at line 671 of file loser_tree.hpp.

◆ delete_min_insert() [7/8]

template<bool Stable, typename ValueType , typename Comparator = std::less<ValueType>>
void delete_min_insert ( const ValueType *  keyp,
bool  sup 
)
inline

Definition at line 807 of file loser_tree.hpp.

◆ delete_min_insert() [8/8]

template<typename ValueType , typename Comparator >
void delete_min_insert ( const ValueType *  keyp,
bool  sup 
)
inline

Definition at line 845 of file loser_tree.hpp.

◆ init() [1/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
void init ( )
inline

Definition at line 160 of file loser_tree.hpp.

◆ init() [2/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
void init ( )
inline

Definition at line 400 of file loser_tree.hpp.

◆ init() [3/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
void init ( )
inline

Definition at line 603 of file loser_tree.hpp.

◆ init() [4/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
void init ( )
inline

Definition at line 781 of file loser_tree.hpp.

◆ init_winner() [1/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
Source init_winner ( const Source root)
inline

Computes the winner of the competition at player root.

Called recursively (starting at 0) to build the initial tree.

Parameters
rootindex of the game to start.

Definition at line 140 of file loser_tree.hpp.

◆ init_winner() [2/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
Source init_winner ( const Source root)
inline

Computes the winner of the competition at player root.

Called recursively (starting at 0) to build the initial tree.

Parameters
rootindex of the game to start.

Definition at line 380 of file loser_tree.hpp.

◆ init_winner() [3/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
Source init_winner ( const Source root)
inline

Definition at line 585 of file loser_tree.hpp.

◆ init_winner() [4/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
Source init_winner ( const Source root)
inline

Definition at line 763 of file loser_tree.hpp.

◆ insert_start() [1/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
void insert_start ( const ValueType *  keyp,
const Source source,
bool  sup 
)
inline

Initializes the player source with the element key.

Parameters
keypthe element to insert
sourceindex of the player
supflag that determines whether the value to insert is an explicit supremum sentinel.

Definition at line 110 of file loser_tree.hpp.

◆ insert_start() [2/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
void insert_start ( const ValueType *  keyp,
const Source source,
bool  sup 
)
inline

Initializes the player source with the element key.

Parameters
keypthe element to insert
sourceindex of the player
supflag that determines whether the value to insert is an explicit supremum sentinel.

Definition at line 363 of file loser_tree.hpp.

◆ insert_start() [3/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
void insert_start ( const ValueType *  keyp,
const Source source,
bool  sup 
)
inline

Definition at line 574 of file loser_tree.hpp.

◆ insert_start() [4/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
void insert_start ( const ValueType *  keyp,
const Source source,
bool  sup 
)
inline

Definition at line 752 of file loser_tree.hpp.

◆ LoserTreeCopy() [1/2]

template<bool Stable, typename ValueType , typename Comparator = std::less<ValueType>>
LoserTreeCopy ( const Source k,
const Comparator &  cmp = Comparator() 
)
inlineexplicit

Definition at line 194 of file loser_tree.hpp.

◆ LoserTreeCopy() [2/2]

template<typename ValueType , typename Comparator >
LoserTreeCopy ( const Source k,
const Comparator &  cmp = Comparator() 
)
inlineexplicit

Definition at line 261 of file loser_tree.hpp.

◆ LoserTreeCopyBase()

template<typename ValueType , typename Comparator = std::less<ValueType>>
LoserTreeCopyBase ( const Source k,
const Comparator &  cmp = Comparator() 
)
inlineexplicit

Definition at line 88 of file loser_tree.hpp.

◆ LoserTreeCopyUnguarded() [1/2]

template<bool Stable, typename ValueType , typename Comparator = std::less<ValueType>>
LoserTreeCopyUnguarded ( Source  k,
const ValueType &  sentinel,
const Comparator &  cmp = Comparator() 
)
inline

Definition at line 625 of file loser_tree.hpp.

◆ LoserTreeCopyUnguarded() [2/2]

template<typename ValueType , typename Comparator >
LoserTreeCopyUnguarded ( Source  k,
const ValueType &  sentinel,
const Comparator &  comp = Comparator() 
)
inline

Definition at line 666 of file loser_tree.hpp.

◆ LoserTreeCopyUnguardedBase()

template<typename ValueType , typename Comparator = std::less<ValueType>>
LoserTreeCopyUnguardedBase ( Source  k,
const ValueType &  sentinel,
const Comparator &  cmp = Comparator() 
)
inline

Definition at line 557 of file loser_tree.hpp.

◆ LoserTreePointer() [1/2]

template<bool Stable, typename ValueType , typename Comparator = std::less<ValueType>>
LoserTreePointer ( Source  k,
const Comparator &  cmp = Comparator() 
)
inlineexplicit

Definition at line 431 of file loser_tree.hpp.

◆ LoserTreePointer() [2/2]

template<typename ValueType , typename Comparator >
LoserTreePointer ( Source  k,
const Comparator &  cmp = Comparator() 
)
inlineexplicit

Definition at line 491 of file loser_tree.hpp.

◆ LoserTreePointerBase() [1/3]

template<typename ValueType , typename Comparator = std::less<ValueType>>
LoserTreePointerBase ( const LoserTreePointerBase< ValueType, Comparator > &  )
delete

◆ LoserTreePointerBase() [2/3]

template<typename ValueType , typename Comparator = std::less<ValueType>>
LoserTreePointerBase ( LoserTreePointerBase< ValueType, Comparator > &&  )
default

◆ LoserTreePointerBase() [3/3]

template<typename ValueType , typename Comparator = std::less<ValueType>>
LoserTreePointerBase ( Source  k,
const Comparator &  cmp = Comparator() 
)
inlineexplicit

Definition at line 335 of file loser_tree.hpp.

◆ LoserTreePointerUnguarded() [1/2]

template<bool Stable, typename ValueType , typename Comparator = std::less<ValueType>>
LoserTreePointerUnguarded ( const Source k,
const ValueType &  sentinel,
const Comparator &  cmp = Comparator() 
)
inline

Definition at line 803 of file loser_tree.hpp.

◆ LoserTreePointerUnguarded() [2/2]

template<typename ValueType , typename Comparator >
LoserTreePointerUnguarded ( const Source k,
const ValueType &  sentinel,
const Comparator &  cmp = Comparator() 
)
inline

Definition at line 841 of file loser_tree.hpp.

◆ LoserTreePointerUnguardedBase() [1/2]

template<typename ValueType , typename Comparator = std::less<ValueType>>
LoserTreePointerUnguardedBase ( const LoserTreePointerUnguardedBase< ValueType, Comparator > &  other)
delete

◆ LoserTreePointerUnguardedBase() [2/2]

template<typename ValueType , typename Comparator = std::less<ValueType>>
LoserTreePointerUnguardedBase ( const Source k,
const ValueType &  sentinel,
const Comparator &  cmp = Comparator() 
)
inline

Definition at line 733 of file loser_tree.hpp.

◆ min_source() [1/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
Source min_source ( )
inline

return the index of the player with the smallest element.

Definition at line 100 of file loser_tree.hpp.

◆ min_source() [2/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
Source min_source ( )
inline

return the index of the player with the smallest element.

Definition at line 351 of file loser_tree.hpp.

◆ min_source() [3/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
Source min_source ( )
inline

return the index of the player with the smallest element.

Definition at line 568 of file loser_tree.hpp.

◆ min_source() [4/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
Source min_source ( )
inline

Definition at line 750 of file loser_tree.hpp.

◆ operator=() [1/3]

template<typename ValueType , typename Comparator = std::less<ValueType>>
LoserTreePointerBase & operator= ( const LoserTreePointerBase< ValueType, Comparator > &  )
delete

◆ operator=() [2/3]

template<typename ValueType , typename Comparator = std::less<ValueType>>
LoserTreePointerUnguardedBase & operator= ( const LoserTreePointerUnguardedBase< ValueType, Comparator > &  )
delete

◆ operator=() [3/3]

template<typename ValueType , typename Comparator = std::less<ValueType>>
LoserTreePointerBase & operator= ( LoserTreePointerBase< ValueType, Comparator > &&  )
default

Variable Documentation

◆ cmp_ [1/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
Comparator cmp_
protected

the comparator object

Definition at line 83 of file loser_tree.hpp.

◆ cmp_ [2/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
Comparator cmp_
protected

the comparator object

Definition at line 332 of file loser_tree.hpp.

◆ cmp_ [3/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
Comparator cmp_
protected

the comparator object

Definition at line 554 of file loser_tree.hpp.

◆ cmp_ [4/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
Comparator cmp_
protected

the comparator object

Definition at line 730 of file loser_tree.hpp.

◆ first_insert_

template<typename ValueType , typename Comparator = std::less<ValueType>>
bool first_insert_
protected

still have to construct keys

Definition at line 85 of file loser_tree.hpp.

◆ ik_ [1/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
const Source ik_
protected

number of nodes

Definition at line 76 of file loser_tree.hpp.

◆ ik_ [2/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
const Source ik_
protected

number of nodes

Definition at line 326 of file loser_tree.hpp.

◆ ik_ [3/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
Source ik_
protected

number of nodes

Definition at line 548 of file loser_tree.hpp.

◆ ik_ [4/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
Source ik_
protected

number of nodes

Definition at line 724 of file loser_tree.hpp.

◆ invalid_ [1/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
constexpr Source invalid_
staticconstexpr

sentinel for invalid or finished Sources

Definition at line 62 of file loser_tree.hpp.

◆ invalid_ [2/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
constexpr Source invalid_
staticconstexpr

sentinel for invalid or finished Sources

Definition at line 314 of file loser_tree.hpp.

◆ invalid_ [3/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
constexpr Source invalid_
staticconstexpr

sentinel for invalid or finished Sources

Definition at line 536 of file loser_tree.hpp.

◆ invalid_ [4/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
constexpr Source invalid_
staticconstexpr

sentinel for invalid or finished Sources

Definition at line 712 of file loser_tree.hpp.

◆ k_ [1/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
const Source k_
protected

log_2(ik) next greater power of 2

Definition at line 78 of file loser_tree.hpp.

◆ k_ [2/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
const Source k_
protected

log_2(ik) next greater power of 2

Definition at line 328 of file loser_tree.hpp.

◆ k_ [3/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
Source k_
protected

log_2(ik) next greater power of 2

Definition at line 550 of file loser_tree.hpp.

◆ k_ [4/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
Source k_
protected

log_2(ik) next greater power of 2

Definition at line 726 of file loser_tree.hpp.

◆ key [1/2]

template<typename ValueType , typename Comparator = std::less<ValueType>>
ValueType key

copy of key value of the element in this node

Definition at line 72 of file loser_tree.hpp.

◆ key [2/2]

template<typename ValueType , typename Comparator = std::less<ValueType>>
ValueType key

copy of key value of the element in this node

Definition at line 544 of file loser_tree.hpp.

◆ keyp [1/2]

template<typename ValueType , typename Comparator = std::less<ValueType>>
const ValueType* keyp

pointer to key value of the element in this node

Definition at line 322 of file loser_tree.hpp.

◆ keyp [2/2]

template<typename ValueType , typename Comparator = std::less<ValueType>>
const ValueType* keyp

copy of key value of the element in this node

Definition at line 720 of file loser_tree.hpp.

◆ losers_ [1/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
SimpleVector<Loser> losers_
protected

array containing loser tree nodes – avoid default-constructing losers[].key

Definition at line 81 of file loser_tree.hpp.

◆ losers_ [2/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
SimpleVector<Loser> losers_
protected

array containing loser tree nodes

Definition at line 330 of file loser_tree.hpp.

◆ losers_ [3/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
SimpleVector<Loser> losers_
protected

array containing loser tree nodes

Definition at line 552 of file loser_tree.hpp.

◆ losers_ [4/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
SimpleVector<Loser> losers_
protected

array containing loser tree nodes

Definition at line 728 of file loser_tree.hpp.

◆ source [1/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
Source source

index of source

Definition at line 70 of file loser_tree.hpp.

◆ source [2/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
Source source

index of source

Definition at line 320 of file loser_tree.hpp.

◆ source [3/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
Source source

index of source

Definition at line 542 of file loser_tree.hpp.

◆ source [4/4]

template<typename ValueType , typename Comparator = std::less<ValueType>>
Source source

index of source

Definition at line 718 of file loser_tree.hpp.

◆ sup

template<typename ValueType , typename Comparator = std::less<ValueType>>
bool sup

flag, true iff is a virtual maximum sentinel

Definition at line 68 of file loser_tree.hpp.