Fermat
Public Types | Public Methods | Public Members | List of all members
cugar::Bintree_writer< node_type, system_tag, node_vector, range_vector, index_vector > Struct Template Reference

Detailed description

template<typename node_type, typename system_tag, typename node_vector = vector<system_tag,node_type>, typename range_vector = vector<system_tag,uint2>, typename index_vector = vector<system_tag,uint32>>
struct cugar::Bintree_writer< node_type, system_tag, node_vector, range_vector, index_vector >

A simple binary tree writer implementation to be used with the generate_radix_tree() function.

Tree Writer

#include <bintree_writer.h>

Public Types

typedef node_type::node_tag node_tag
 
typedef Bintree_writer_context< node_type, node_tag > context_type
 

Public Methods

 Bintree_writer (node_vector *nodes=NULL, range_vector *leaf_ranges=NULL, index_vector *leaf_pointers=NULL, index_vector *parents=NULL, index_vector *skip_nodes=NULL, range_vector *node_ranges=NULL)
 
void set_nodes (node_vector *nodes)
 
void set_parents (index_vector *parents)
 
void set_skip_nodes (index_vector *skip_nodes)
 
void set_leaf_pointers (index_vector *leaf_pointers)
 
void set_leaf_ranges (range_vector *leaf_ranges)
 
void set_node_ranges (range_vector *node_ranges)
 
void reserve_nodes (const uint32 n)
 
void reserve_leaves (const uint32 n)
 
context_type get_context ()
 

Public Members

node_vector * m_nodes
 
range_vector * m_leaf_ranges
 
index_vector * m_leaf_pointers
 
index_vector * m_parents
 
index_vector * m_skip_nodes
 
range_vector * m_node_ranges
 

Constructor & Destructor Documentation

◆ Bintree_writer()

template<typename node_type, typename system_tag, typename node_vector = vector<system_tag,node_type>, typename range_vector = vector<system_tag,uint2>, typename index_vector = vector<system_tag,uint32>>
cugar::Bintree_writer< node_type, system_tag, node_vector, range_vector, index_vector >::Bintree_writer ( node_vector *  nodes = NULL,
range_vector *  leaf_ranges = NULL,
index_vector *  leaf_pointers = NULL,
index_vector *  parents = NULL,
index_vector *  skip_nodes = NULL,
range_vector *  node_ranges = NULL 
)
inline

constructor

Parameters
nodesnodes to write to
leavesleaves to write to

Member Function Documentation

◆ get_context()

template<typename node_type, typename system_tag, typename node_vector = vector<system_tag,node_type>, typename range_vector = vector<system_tag,uint2>, typename index_vector = vector<system_tag,uint32>>
context_type cugar::Bintree_writer< node_type, system_tag, node_vector, range_vector, index_vector >::get_context ( )
inline

return a cuda context

◆ reserve_leaves()

template<typename node_type, typename system_tag, typename node_vector = vector<system_tag,node_type>, typename range_vector = vector<system_tag,uint2>, typename index_vector = vector<system_tag,uint32>>
void cugar::Bintree_writer< node_type, system_tag, node_vector, range_vector, index_vector >::reserve_leaves ( const uint32  n)
inline

reserve space for more leaves

Parameters
nleaves to reserve

◆ reserve_nodes()

template<typename node_type, typename system_tag, typename node_vector = vector<system_tag,node_type>, typename range_vector = vector<system_tag,uint2>, typename index_vector = vector<system_tag,uint32>>
void cugar::Bintree_writer< node_type, system_tag, node_vector, range_vector, index_vector >::reserve_nodes ( const uint32  n)
inline

reserve space for more nodes

Parameters
nnodes to reserve

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