Structural Bioinformatics Library
Template C++ / Python API for developping structural bioinformatics applications.
T_Ordered_forest_edit_distance< Forest, GetCost, IsLowerSiblingVertex > Class Template Reference

Generic Forest Edit Distance algorithm for ordered forests. More...

#include <Ordered_forest_edit_distance.hpp>

Public Types

enum  Edition_type { NULL_EDITION , INSERTION , DELETION , MORPHING }
 
typedef T_Ordered_forest_edit_distance< Forest, GetCost, IsLowerSiblingVertex > Self
 
typedef GetCost::FT FT
 Number type of the cost. More...
 
typedef boost::graph_traits< Forest > Forest_traits
 
typedef Forest_traits::vertex_descriptor Vertex
 
typedef boost::tuple< Edition_type, Vertex, Vertex, FTEdit_unit_path
 Representation of a unitary edition: type of edition, source vertex, target vertex, cost. More...
 

Public Member Functions

FT operator() (const Forest &F1, const Forest &F2, const GetCost &get_cost=GetCost(), const IsLowerSiblingVertex &is_lower_sibling1=IsLowerSiblingVertex(), const IsLowerSiblingVertex &is_lower_sibling2=IsLowerSiblingVertex())
 
template<class OutputIterator >
OutputIterator operator() (const Forest &F1, const Forest &F2, OutputIterator out, const GetCost &get_cost=GetCost(), const IsLowerSiblingVertex &is_lower_sibling1=IsLowerSiblingVertex(), const IsLowerSiblingVertex &is_lower_sibling2=IsLowerSiblingVertex())
 

Detailed Description

template<class Forest, class GetCost, class IsLowerSiblingVertex = std::less<typename boost::graph_traits<Forest>::vertex_descriptor>>
class SBL::CADS::T_Ordered_forest_edit_distance< Forest, GetCost, IsLowerSiblingVertex >

Generic Forest Edit Distance algorithm for ordered forests.

Template Parameters
ForestModel of a forest as a directed or bidirectional boost::adjacency_list.

Member Typedef Documentation

◆ Edit_unit_path

typedef boost::tuple<Edition_type, Vertex, Vertex, FT> Edit_unit_path

Representation of a unitary edition: type of edition, source vertex, target vertex, cost.

◆ Forest_traits

typedef boost::graph_traits<Forest> Forest_traits

◆ FT

typedef GetCost::FT FT

Number type of the cost.

◆ Self

typedef T_Ordered_forest_edit_distance<Forest, GetCost, IsLowerSiblingVertex> Self

◆ Vertex

typedef Forest_traits::vertex_descriptor Vertex

Member Enumeration Documentation

◆ Edition_type

Enumerator
NULL_EDITION 
INSERTION 
DELETION 
MORPHING 

Member Function Documentation

◆ operator()() [1/2]

T_Ordered_forest_edit_distance< Forest, GetCost, IsLowerSiblingVertex >::FT operator() ( const Forest &  F1,
const Forest &  F2,
const GetCost &  get_cost = GetCost(),
const IsLowerSiblingVertex &  is_lower_sibling1 = IsLowerSiblingVertex(),
const IsLowerSiblingVertex &  is_lower_sibling2 = IsLowerSiblingVertex() 
)
inline

◆ operator()() [2/2]

OutputIterator operator() ( const Forest &  F1,
const Forest &  F2,
OutputIterator  out,
const GetCost &  get_cost = GetCost(),
const IsLowerSiblingVertex &  is_lower_sibling1 = IsLowerSiblingVertex(),
const IsLowerSiblingVertex &  is_lower_sibling2 = IsLowerSiblingVertex() 
)
inline