FleCSI User API Version: 2.3.0
 
Loading...
Searching...
No Matches
ntree< Policy >::access< Priv > Struct Template Reference

See specialization_base::interface. More...

Public Types

using hmap_t = util::hashtable< ntree::key_t, ntree::hcell_t, Policy >
 Hashing table type.
 

Public Member Functions

auto bfs () const
 BFS traversal, return vector of ids in Breadth First Search order.
 
template<ttype_t TT = ttype_t::preorder, bool complete = false>
auto dfs () const
 DFS traversal, return vector of ids in Depth First Search order.
 
template<ptype_t PT = ptype_t::exclusive>
auto entities () const
 Return a range of all entities of a ntree_base::ptype_t.
 
template<ptype_t PT = ptype_t::exclusive>
std::vector< id< index_space::entities > > entities (const id< index_space::nodes > &node_id) const
 Get entities of a specific type under a node.
 
void graphviz_draw (const std::string &tag) const
 Output a representation of the ntree using graphviz.
 
auto neighbors (const id< index_space::entities > &ent_id) const
 Get entities interacting with an entity.
 
template<ptype_t PT = ptype_t::exclusive>
auto nodes () const
 Return a range of all nodes of a ntree_base::ptype_t.
 
std::vector< id< index_space::nodes > > nodes (const id< index_space::nodes > &node_id) const
 Get nodes belonging to a node.
 

Public Attributes

accessor< ntree::e_colors > e_colors
 Entities Color.
 
accessor< ntree::e_ids > e_ids
 Entities Id (for key collisions)
 
accessor< ntree::e_keys > e_keys
 Entities keys.
 
accessor< ntree::n_i > n_i
 Nodes interaction fields.
 
accessor< ntree::n_keys > n_keys
 Nodes keys.
 

Detailed Description

template<typename Policy>
template<Privileges Priv>
struct flecsi::topo::ntree< Policy >::access< Priv >

See specialization_base::interface.

Member Typedef Documentation

◆ hmap_t

template<typename Policy >
template<Privileges Priv>
using hmap_t = util::hashtable<ntree::key_t, ntree::hcell_t, Policy>

Hashing table type.

Member Function Documentation

◆ entities() [1/2]

template<typename Policy >
template<Privileges Priv>
template<ptype_t PT = ptype_t::exclusive>
auto entities ( ) const

Return a range of all entities of a ntree_base::ptype_t.

◆ entities() [2/2]

template<typename Policy >
template<Privileges Priv>
template<ptype_t PT = ptype_t::exclusive>
std::vector< id< index_space::entities > > entities ( const id< index_space::nodes > &  node_id) const

Get entities of a specific type under a node.

◆ neighbors()

template<typename Policy >
template<Privileges Priv>
auto neighbors ( const id< index_space::entities > &  ent_id) const

Get entities interacting with an entity.

This function uses the interaction functions featured in the policy.

◆ nodes() [1/2]

template<typename Policy >
template<Privileges Priv>
template<ptype_t PT = ptype_t::exclusive>
auto nodes ( ) const

Return a range of all nodes of a ntree_base::ptype_t.

◆ nodes() [2/2]

template<typename Policy >
template<Privileges Priv>
std::vector< id< index_space::nodes > > nodes ( const id< index_space::nodes > &  node_id) const

Get nodes belonging to a node.

◆ bfs()

template<typename Policy >
template<Privileges Priv>
auto bfs ( ) const

BFS traversal, return vector of ids in Breadth First Search order.

◆ dfs()

template<typename Policy >
template<Privileges Priv>
template<ttype_t TT = ttype_t::preorder, bool complete = false>
auto dfs ( ) const

DFS traversal, return vector of ids in Depth First Search order.

Template Parameters
completeRetrieve all completed nodes only: ignore non-local node. This is only valid while building the ntree.

◆ graphviz_draw()

template<typename Policy >
template<Privileges Priv>
void graphviz_draw ( const std::string &  tag) const

Output a representation of the ntree using graphviz.

The output files are formatted as: process()_tag.gv

Parameters
tagTag for these files names

Member Data Documentation

◆ e_keys

template<typename Policy >
template<Privileges Priv>
accessor<ntree::e_keys> e_keys

Entities keys.

◆ e_colors

template<typename Policy >
template<Privileges Priv>
accessor<ntree::e_colors> e_colors

Entities Color.

◆ e_ids

template<typename Policy >
template<Privileges Priv>
accessor<ntree::e_ids> e_ids

Entities Id (for key collisions)

◆ n_keys

template<typename Policy >
template<Privileges Priv>
accessor<ntree::n_keys> n_keys

Nodes keys.

◆ n_i

template<typename Policy >
template<Privileges Priv>
accessor<ntree::n_i> n_i

Nodes interaction fields.