Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
Aleph::tree_decomposition_detail::Rooted_Tree_Topology< GT, SA > Class Template Reference

#include <Tree_Decomposition.H>

Inheritance diagram for Aleph::tree_decomposition_detail::Rooted_Tree_Topology< GT, SA >:
[legend]
Collaboration diagram for Aleph::tree_decomposition_detail::Rooted_Tree_Topology< GT, SA >:
[legend]

Public Types

using Node = typename GT::Node
 
using Arc = typename GT::Arc
 

Public Member Functions

 Rooted_Tree_Topology (const GT &g, Node *root, SA sa=SA())
 
size_t size () const noexcept
 
bool is_empty () const noexcept
 
Node * root () const noexcept
 
size_t root_id () const noexcept
 
const Array< Node * > & id_to_node () const noexcept
 
const Array< Array< size_t > > & adjacency () const noexcept
 
size_t id_of (const Node *node) const
 
Node * node_of (const size_t id) const
 
void validate_id (const size_t id, const char *where) const
 

Static Public Attributes

static constexpr size_t NONE = std::numeric_limits<size_t>::max()
 

Private Types

using Pair_Key = std::pair< size_t, size_t >
 

Private Member Functions

void check_id (const size_t id, const char *where) const
 
void index_nodes ()
 
void build_simple_adjacency ()
 
void validate_connected_acyclic () const
 

Static Private Member Functions

static Pair_Key normalize_pair (size_t u, size_t v) noexcept
 

Private Attributes

const GT * graph_ = nullptr
 
SA sa_
 
Node * root_ = nullptr
 
size_t root_id_ = NONE
 
size_t n_ = 0
 
Array< Node * > id_to_node_
 
MapOLhash< Node *, size_t > node_to_id_
 
Array< Array< size_t > > adjacency_
 

Detailed Description

template<AlephGraph GT, ArcFilter< GT > SA>
class Aleph::tree_decomposition_detail::Rooted_Tree_Topology< GT, SA >

Definition at line 154 of file Tree_Decomposition.H.

Member Typedef Documentation

◆ Arc

template<AlephGraph GT, ArcFilter< GT > SA>
using Aleph::tree_decomposition_detail::Rooted_Tree_Topology< GT, SA >::Arc = typename GT::Arc

Definition at line 158 of file Tree_Decomposition.H.

◆ Node

template<AlephGraph GT, ArcFilter< GT > SA>
using Aleph::tree_decomposition_detail::Rooted_Tree_Topology< GT, SA >::Node = typename GT::Node

Definition at line 157 of file Tree_Decomposition.H.

◆ Pair_Key

template<AlephGraph GT, ArcFilter< GT > SA>
using Aleph::tree_decomposition_detail::Rooted_Tree_Topology< GT, SA >::Pair_Key = std::pair<size_t, size_t>
private

Definition at line 163 of file Tree_Decomposition.H.

Constructor & Destructor Documentation

◆ Rooted_Tree_Topology()

Member Function Documentation

◆ adjacency()

◆ build_simple_adjacency()

◆ check_id()

◆ id_of()

◆ id_to_node()

template<AlephGraph GT, ArcFilter< GT > SA>
const Array< Node * > & Aleph::tree_decomposition_detail::Rooted_Tree_Topology< GT, SA >::id_to_node ( ) const
inlinenoexcept

◆ index_nodes()

◆ is_empty()

template<AlephGraph GT, ArcFilter< GT > SA>
bool Aleph::tree_decomposition_detail::Rooted_Tree_Topology< GT, SA >::is_empty ( ) const
inlinenoexcept

◆ node_of()

◆ normalize_pair()

template<AlephGraph GT, ArcFilter< GT > SA>
static Pair_Key Aleph::tree_decomposition_detail::Rooted_Tree_Topology< GT, SA >::normalize_pair ( size_t  u,
size_t  v 
)
inlinestaticprivatenoexcept

◆ root()

template<AlephGraph GT, ArcFilter< GT > SA>
Node * Aleph::tree_decomposition_detail::Rooted_Tree_Topology< GT, SA >::root ( ) const
inlinenoexcept

◆ root_id()

◆ size()

template<AlephGraph GT, ArcFilter< GT > SA>
size_t Aleph::tree_decomposition_detail::Rooted_Tree_Topology< GT, SA >::size ( ) const
inlinenoexcept

◆ validate_connected_acyclic()

◆ validate_id()

template<AlephGraph GT, ArcFilter< GT > SA>
void Aleph::tree_decomposition_detail::Rooted_Tree_Topology< GT, SA >::validate_id ( const size_t  id,
const char *  where 
) const
inline

Member Data Documentation

◆ adjacency_

◆ graph_

◆ id_to_node_

◆ n_

◆ node_to_id_

◆ NONE

template<AlephGraph GT, ArcFilter< GT > SA>
constexpr size_t Aleph::tree_decomposition_detail::Rooted_Tree_Topology< GT, SA >::NONE = std::numeric_limits<size_t>::max()
staticconstexpr

◆ root_

◆ root_id_

◆ sa_

template<AlephGraph GT, ArcFilter< GT > SA>
SA Aleph::tree_decomposition_detail::Rooted_Tree_Topology< GT, SA >::sa_
private

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