Quetzal-CoaTL
The Coalescence Template Library
Loading...
Searching...
No Matches
quetzal::coalescence::detail::tree_traits Struct Reference

#include <quetzal/coalescence/graph/detail/tree_traits.hpp>

Detailed Description

Defines the desired graph properties and constraints for a coalescent tree.

Public Types

template<class... Types>
using model = boost::adjacency_list< Types... >
 Trees are sparse graph in nature, adjacency_matrix would not be justified here.
 
using out_edge_list_type = boost::setS
 We want to enforce avoiding multi-graphs (edges with same end nodes)
 
using vertex_list_type = boost::vecS
 We don't allow for inserting vertices except at the end and we don't remove vertices. This means that neither reallocation cost nor stability are reasons for preferring listS to vecS.
 
using directed_type = boost::bidirectionalS
 Coalescent trees are directed acyclic graphs but we need bidirectionality for in-edges access.
 

Member Typedef Documentation

◆ directed_type

Coalescent trees are directed acyclic graphs but we need bidirectionality for in-edges access.

Remarks
Bidirectionality trades off storage/insertion overhead for the ability to get in-edges and in-degree without having to enumerate all vertices or edges

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