Realm
A distributed, event-based tasking library
Loading...
Searching...
No Matches
Realm::IntervalTree< IT, LT >::TreeNode Struct Reference

#include <interval_tree.h>

Collaboration diagram for Realm::IntervalTree< IT, LT >::TreeNode:

Public Member Functions

 TreeNode (IT _split_val)
 
 ~TreeNode (void)
 
template<typename MARKER >
void test_interval (IT iv_start, IT iv_end, MARKER &marker) const
 
template<typename IR , typename MARKER >
void test_sorted_intervals (const IR &iv_ranges, int pos, int count, MARKER &marker) const
 
void repopulate_pending (IntervalTree< IT, LT > *tree)
 

Static Public Member Functions

static TreeNodebuild_tree (const std::vector< IT > &pending_starts, const std::vector< IT > &pending_ends, const std::vector< LT > &pending_labels)
 

Public Attributes

IT split_val
 
TreeNodeleft
 
TreeNoderight
 
std::vector< IT > starts
 
std::vector< IT > ends
 
std::vector< LT > labels
 
std::vector< int > sorted_by_start
 
std::vector< int > sorted_by_end
 

Constructor & Destructor Documentation

◆ TreeNode()

template<typename IT , typename LT >
Realm::IntervalTree< IT, LT >::TreeNode::TreeNode ( IT  _split_val)

◆ ~TreeNode()

template<typename IT , typename LT >
Realm::IntervalTree< IT, LT >::TreeNode::~TreeNode ( void  )

Member Function Documentation

◆ build_tree()

template<typename IT , typename LT >
static TreeNode * Realm::IntervalTree< IT, LT >::TreeNode::build_tree ( const std::vector< IT > &  pending_starts,
const std::vector< IT > &  pending_ends,
const std::vector< LT > &  pending_labels 
)
static

◆ repopulate_pending()

template<typename IT , typename LT >
void Realm::IntervalTree< IT, LT >::TreeNode::repopulate_pending ( IntervalTree< IT, LT > *  tree)

◆ test_interval()

template<typename IT , typename LT >
template<typename MARKER >
void Realm::IntervalTree< IT, LT >::TreeNode::test_interval ( IT  iv_start,
IT  iv_end,
MARKER &  marker 
) const

◆ test_sorted_intervals()

template<typename IT , typename LT >
template<typename IR , typename MARKER >
void Realm::IntervalTree< IT, LT >::TreeNode::test_sorted_intervals ( const IR &  iv_ranges,
int  pos,
int  count,
MARKER &  marker 
) const

Member Data Documentation

◆ ends

template<typename IT , typename LT >
std::vector<IT> Realm::IntervalTree< IT, LT >::TreeNode::ends

◆ labels

template<typename IT , typename LT >
std::vector<LT> Realm::IntervalTree< IT, LT >::TreeNode::labels

◆ left

template<typename IT , typename LT >
TreeNode* Realm::IntervalTree< IT, LT >::TreeNode::left

◆ right

template<typename IT , typename LT >
TreeNode * Realm::IntervalTree< IT, LT >::TreeNode::right

◆ sorted_by_end

template<typename IT , typename LT >
std::vector<int> Realm::IntervalTree< IT, LT >::TreeNode::sorted_by_end

◆ sorted_by_start

template<typename IT , typename LT >
std::vector<int> Realm::IntervalTree< IT, LT >::TreeNode::sorted_by_start

◆ split_val

template<typename IT , typename LT >
IT Realm::IntervalTree< IT, LT >::TreeNode::split_val

◆ starts

template<typename IT , typename LT >
std::vector<IT> Realm::IntervalTree< IT, LT >::TreeNode::starts

The documentation for this struct was generated from the following file: