Vcsn  2.8
Be Rational
vcsn::detail::path< Aut > Class Template Reference

Explicit path representation. More...

#include <path.hh>

Collaboration diagram for vcsn::detail::path< Aut >:

Public Member Functions

weight_t path_sum (const automaton_t &aut, const std::vector< transition_t > &elts)
 
 path (const automaton_t &aut, const std::vector< transition_t > &elts={})
 
void push_back (transition_t tr, weight_t weight)
 
template<typename... Args>
void emplace_back (weight_t weight, Args &&... args)
 
bool operator< (const path &other) const
 
template<typename PolynomialSet >
auto make_monomial (const PolynomialSet &ps) const -> typename PolynomialSet::monomial_t
 Construct a monomial from the path. More...
 
const path_tget_path () const
 

Private Types

using automaton_t = Aut
 
using weight_t = weight_t_of< Aut >
 
using transition_t = transition_t_of< automaton_t >
 
using state_t = state_t_of< automaton_t >
 
using path_t = std::vector< transition_t >
 

Private Attributes

path_t path_
 
weight_t weight_
 
const automaton_taut_
 
const weightset_t_of< automaton_t > & ws_
 

Detailed Description

template<Automaton Aut>
class vcsn::detail::path< Aut >

Explicit path representation.

Held in the resulting Eppstein vector. Represented by the actual vector of transitions and the total weight of the path.

Definition at line 16 of file path.hh.

Member Typedef Documentation

◆ automaton_t

template<Automaton Aut>
using vcsn::detail::path< Aut >::automaton_t = Aut
private

Definition at line 18 of file path.hh.

◆ path_t

template<Automaton Aut>
using vcsn::detail::path< Aut >::path_t = std::vector<transition_t>
private

Definition at line 22 of file path.hh.

◆ state_t

template<Automaton Aut>
using vcsn::detail::path< Aut >::state_t = state_t_of<automaton_t>
private

Definition at line 21 of file path.hh.

◆ transition_t

template<Automaton Aut>
using vcsn::detail::path< Aut >::transition_t = transition_t_of<automaton_t>
private

Definition at line 20 of file path.hh.

◆ weight_t

template<Automaton Aut>
using vcsn::detail::path< Aut >::weight_t = weight_t_of<Aut>
private

Definition at line 19 of file path.hh.

Constructor & Destructor Documentation

◆ path()

template<Automaton Aut>
vcsn::detail::path< Aut >::path ( const automaton_t aut,
const std::vector< transition_t > &  elts = {} 
)
inline

Definition at line 34 of file path.hh.

References vcsn::detail::path< Aut >::aut_, vcsn::detail::path< Aut >::path_, vcsn::detail::path< Aut >::path_sum(), vcsn::detail::path< Aut >::weight_, and vcsn::detail::path< Aut >::ws_.

Here is the call graph for this function:

Member Function Documentation

◆ emplace_back()

template<Automaton Aut>
template<typename... Args>
void vcsn::detail::path< Aut >::emplace_back ( weight_t  weight,
Args &&...  args 
)
inline

◆ get_path()

template<Automaton Aut>
const path_t& vcsn::detail::path< Aut >::get_path ( ) const
inline

◆ make_monomial()

template<Automaton Aut>
template<typename PolynomialSet >
auto vcsn::detail::path< Aut >::make_monomial ( const PolynomialSet &  ps) const -> typename PolynomialSet::monomial_t
inline

Construct a monomial from the path.

Definition at line 64 of file path.hh.

References vcsn::detail::path< Aut >::aut_, and vcsn::detail::path< Aut >::path_.

◆ operator<()

template<Automaton Aut>
bool vcsn::detail::path< Aut >::operator< ( const path< Aut > &  other) const
inline

Definition at line 56 of file path.hh.

References vcsn::detail::path< Aut >::weight_, and vcsn::detail::path< Aut >::ws_.

◆ path_sum()

template<Automaton Aut>
weight_t vcsn::detail::path< Aut >::path_sum ( const automaton_t aut,
const std::vector< transition_t > &  elts 
)
inline

Definition at line 26 of file path.hh.

References vcsn::res, and vcsn::detail::path< Aut >::ws_.

Referenced by vcsn::detail::path< Aut >::path().

◆ push_back()

template<Automaton Aut>
void vcsn::detail::path< Aut >::push_back ( transition_t  tr,
weight_t  weight 
)
inline

Member Data Documentation

◆ aut_

template<Automaton Aut>
const automaton_t& vcsn::detail::path< Aut >::aut_
private

◆ path_

◆ weight_

◆ ws_


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