Vcsn  2.3
Be Rational
vcsn::detail::printer< Aut > Class Template Reference

Factor common bits in automaton formatting. More...

#include <printer.hh>

Inheritance diagram for vcsn::detail::printer< Aut >:
Collaboration diagram for vcsn::detail::printer< Aut >:

Public Types

using state_t = state_t_of< automaton_t >
 

Public Member Functions

 printer (const automaton_t &aut, std::ostream &out)
 

Protected Types

using automaton_t = Aut
 
using context_t = context_t_of< automaton_t >
 
using label_t = label_t_of< automaton_t >
 
using transition_t = transition_t_of< automaton_t >
 
using weightset_t = weightset_t_of< automaton_t >
 
using weight_t = weight_t_of< automaton_t >
 
using polynomialset_t = polynomialset< context_t >
 
using polynomial_t = typename polynomialset_t::value_t
 
using states_t = std::vector< state_t >
 A list of states. More...
 

Protected Member Functions

virtual std::string label_ (const label_t &l) const
 Convert a label to its representation. More...
 
virtual void print_transition_ (transition_t t) const
 Output the transition t. More...
 
void print_state_ (const state_t s)
 Output transitions, sorted lexicographically on (Label, Dest). More...
 
void print_transitions_ ()
 Output transitions, sorted lexicographically. More...
 
void list_states_ (const states_t &ss)
 List names of states in ss, preceded by ' '. More...
 
states_t initials_ ()
 The list of initial states, sorted. More...
 
states_t finals_ ()
 The list of final states, sorted. More...
 

Protected Attributes

automaton_t aut_
 The automaton we have to output. More...
 
std::ostream & os_
 Output stream. More...
 
const labelset_t_of< automaton_t > & ls_ = *aut_->labelset()
 Short-hand to the labelset. More...
 
const weightset_tws_ = *aut_->weightset()
 Short-hand to the weightset. More...
 
const polynomialset_t ps_ {aut_->context()}
 Short-hand to the polynomialset used to print the entries. More...
 

Detailed Description

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

Factor common bits in automaton formatting.

Template Parameters
Autan automaton type.

Definition at line 24 of file printer.hh.

Member Typedef Documentation

template<Automaton Aut>
using vcsn::detail::printer< Aut >::automaton_t = Aut
protected

Definition at line 27 of file printer.hh.

template<Automaton Aut>
using vcsn::detail::printer< Aut >::context_t = context_t_of<automaton_t>
protected

Definition at line 40 of file printer.hh.

template<Automaton Aut>
using vcsn::detail::printer< Aut >::label_t = label_t_of<automaton_t>
protected

Definition at line 41 of file printer.hh.

template<Automaton Aut>
using vcsn::detail::printer< Aut >::polynomial_t = typename polynomialset_t::value_t
protected

Definition at line 46 of file printer.hh.

template<Automaton Aut>
using vcsn::detail::printer< Aut >::polynomialset_t = polynomialset<context_t>
protected

Definition at line 45 of file printer.hh.

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

Definition at line 37 of file printer.hh.

template<Automaton Aut>
using vcsn::detail::printer< Aut >::states_t = std::vector<state_t>
protected

A list of states.

Definition at line 49 of file printer.hh.

template<Automaton Aut>
using vcsn::detail::printer< Aut >::transition_t = transition_t_of<automaton_t>
protected

Definition at line 42 of file printer.hh.

template<Automaton Aut>
using vcsn::detail::printer< Aut >::weight_t = weight_t_of<automaton_t>
protected

Definition at line 44 of file printer.hh.

template<Automaton Aut>
using vcsn::detail::printer< Aut >::weightset_t = weightset_t_of<automaton_t>
protected

Definition at line 43 of file printer.hh.

Constructor & Destructor Documentation

template<Automaton Aut>
vcsn::detail::printer< Aut >::printer ( const automaton_t aut,
std::ostream &  out 
)
inline

Definition at line 30 of file printer.hh.

Member Function Documentation

template<Automaton Aut>
states_t vcsn::detail::printer< Aut >::finals_ ( )
inlineprotected

The list of final states, sorted.

Definition at line 110 of file printer.hh.

References vcsn::detail::printer< Aut >::aut_, vcsn::detail::final_transitions(), vcsn::res, and vcsn::sort().

Referenced by vcsn::detail::fado_impl< Aut >::operator()(), vcsn::detail::grail_impl< Aut >::operator()(), and vcsn::detail::dot_impl< Aut >::print_states_().

Here is the call graph for this function:

template<Automaton Aut>
states_t vcsn::detail::printer< Aut >::initials_ ( )
inlineprotected

The list of initial states, sorted.

Definition at line 100 of file printer.hh.

References vcsn::detail::printer< Aut >::aut_, vcsn::detail::initial_transitions(), vcsn::res, and vcsn::sort().

Referenced by vcsn::detail::fado_impl< Aut >::operator()(), vcsn::detail::grail_impl< Aut >::operator()(), and vcsn::detail::dot_impl< Aut >::print_states_().

Here is the call graph for this function:

template<Automaton Aut>
virtual std::string vcsn::detail::printer< Aut >::label_ ( const label_t l) const
inlineprotectedvirtual

Convert a label to its representation.

Definition at line 53 of file printer.hh.

References vcsn::detail::printer< Aut >::ls_, and vcsn::to_string().

Referenced by vcsn::detail::printer< Aut >::print_transition_().

Here is the call graph for this function:

template<Automaton Aut>
void vcsn::detail::printer< Aut >::list_states_ ( const states_t ss)
inlineprotected

List names of states in ss, preceded by ' '.

Definition at line 90 of file printer.hh.

References vcsn::detail::printer< Aut >::aut_, and vcsn::detail::printer< Aut >::os_.

Referenced by vcsn::detail::fado_impl< Aut >::operator()().

template<Automaton Aut>
void vcsn::detail::printer< Aut >::print_state_ ( const state_t  s)
inlineprotected

Output transitions, sorted lexicographically on (Label, Dest).

Definition at line 68 of file printer.hh.

References vcsn::detail::printer< Aut >::aut_, vcsn::detail::printer< Aut >::os_, vcsn::detail::out(), vcsn::detail::printer< Aut >::print_transition_(), and vcsn::sort().

Referenced by vcsn::detail::printer< Aut >::print_transitions_(), and vcsn::detail::efsmer< Aut >::print_transitions_().

Here is the call graph for this function:

template<Automaton Aut>
virtual void vcsn::detail::printer< Aut >::print_transition_ ( transition_t  t) const
inlineprotectedvirtual

Output the transition t.

Do not insert eol. "Src Label Dst".

Reimplemented in vcsn::detail::efsmer< Aut >.

Definition at line 60 of file printer.hh.

References vcsn::detail::printer< Aut >::aut_, vcsn::detail::printer< Aut >::label_(), and vcsn::detail::printer< Aut >::os_.

Referenced by vcsn::detail::printer< Aut >::print_state_().

Here is the call graph for this function:

template<Automaton Aut>
void vcsn::detail::printer< Aut >::print_transitions_ ( )
inlineprotected

Output transitions, sorted lexicographically.

"Src Label Dst\n".

Definition at line 83 of file printer.hh.

References vcsn::detail::printer< Aut >::aut_, and vcsn::detail::printer< Aut >::print_state_().

Referenced by vcsn::detail::fado_impl< Aut >::operator()(), and vcsn::detail::grail_impl< Aut >::operator()().

Here is the call graph for this function:

Member Data Documentation

template<Automaton Aut>
const labelset_t_of<automaton_t>& vcsn::detail::printer< Aut >::ls_ = *aut_->labelset()
protected

Short-hand to the labelset.

Definition at line 124 of file printer.hh.

Referenced by vcsn::detail::printer< Aut >::label_(), and vcsn::detail::efsmer< Aut >::print_label_().

template<Automaton Aut>
const polynomialset_t vcsn::detail::printer< Aut >::ps_ {aut_->context()}
protected

Short-hand to the polynomialset used to print the entries.

Definition at line 128 of file printer.hh.

Referenced by vcsn::detail::tikzer< Aut >::print_transitions_(), and vcsn::detail::dot_impl< Aut >::print_transitions_().


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