Vcsn  2.3
Be Rational
vcsn::dyn::automaton Class Reference

A dyn automaton. More...

#include <automaton.hh>

Collaboration diagram for vcsn::dyn::automaton:

Classes

struct  base
 Abstract wrapped typed automaton. More...
 
struct  model
 A wrapped typed automaton. More...
 

Public Member Functions

 automaton (std::nullptr_t ptr)
 
template<typename AutImpl >
 automaton (const std::shared_ptr< AutImpl > &aut)
 
symbol vname () const
 A description of the automaton, sufficient to build it. More...
 
template<Automaton Aut>
auto & as ()
 Extract wrapped typed automaton. More...
 
template<Automaton Aut>
const auto & as () const
 Extract wrapped typed automaton. More...
 
auto * operator-> ()
 
const auto * operator-> () const
 
bool operator! () const
 

Private Attributes

std::shared_ptr< baseself_
 The wrapped automaton. More...
 

Detailed Description

A dyn automaton.

Definition at line 17 of file automaton.hh.

Constructor & Destructor Documentation

vcsn::dyn::automaton::automaton ( std::nullptr_t  ptr)
inline

Definition at line 20 of file automaton.hh.

template<typename AutImpl >
vcsn::dyn::automaton::automaton ( const std::shared_ptr< AutImpl > &  aut)
inline

Definition at line 25 of file automaton.hh.

Member Function Documentation

template<Automaton Aut>
auto& vcsn::dyn::automaton::as ( )
inline

Extract wrapped typed automaton.

Definition at line 37 of file automaton.hh.

References vcsn::dyn::automaton::model< Aut >::automaton(), and vcsn::dyn::detail::dyn_cast().

Referenced by vcsn::dyn::accessible(), vcsn::dyn::add(), vcsn::dyn::ambiguous_word(), vcsn::dyn::are_equivalent(), vcsn::dyn::are_isomorphic(), vcsn::dyn::coaccessible(), vcsn::dyn::detail::codeterminize_(), vcsn::dyn::cominimize(), vcsn::dyn::complement(), vcsn::dyn::complete(), vcsn::dyn::compose(), vcsn::dyn::conjugate(), vcsn::dyn::detail::conjunction_repeated(), vcsn::dyn::context_of(), vcsn::dyn::copy(), vcsn::dyn::detail::copy_convert(), vcsn::dyn::costandard(), vcsn::dyn::detail::determinize_(), vcsn::dyn::difference(), vcsn::dyn::eliminate_state(), vcsn::dyn::eval(), vcsn::dyn::factor(), vcsn::dyn::has_bounded_lag(), vcsn::dyn::has_lightening_cycle(), vcsn::dyn::has_twins_property(), vcsn::dyn::inductive(), vcsn::dyn::info(), vcsn::dyn::insplit(), vcsn::dyn::is_accessible(), vcsn::dyn::is_ambiguous(), vcsn::dyn::is_coaccessible(), vcsn::dyn::is_codeterministic(), vcsn::dyn::is_complete(), vcsn::dyn::is_costandard(), vcsn::dyn::is_cycle_ambiguous(), vcsn::dyn::is_deterministic(), vcsn::dyn::is_empty(), vcsn::dyn::is_eps_acyclic(), vcsn::dyn::is_functional(), vcsn::dyn::is_letterized(), vcsn::dyn::is_normalized(), vcsn::dyn::is_out_sorted(), vcsn::dyn::is_partial_identity(), vcsn::dyn::is_proper(), vcsn::dyn::is_realtime(), vcsn::dyn::is_standard(), vcsn::dyn::is_synchronized_by(), vcsn::dyn::is_synchronizing(), vcsn::dyn::is_trim(), vcsn::dyn::is_useless(), vcsn::dyn::is_valid(), vcsn::dyn::ldivide(), vcsn::dyn::letterize(), vcsn::dyn::detail::lift_automaton(), vcsn::dyn::lightest(), vcsn::dyn::lightest_automaton(), vcsn::dyn::lweight(), vcsn::dyn::minimize(), vcsn::dyn::multiply(), vcsn::dyn::detail::multiply_repeated(), vcsn::dyn::normalize(), vcsn::dyn::pair(), vcsn::dyn::partial_identity(), vcsn::dyn::prefix(), vcsn::dyn::print(), vcsn::dyn::detail::project(), vcsn::dyn::proper(), vcsn::dyn::push_weights(), vcsn::dyn::rdivide(), vcsn::dyn::realtime(), vcsn::dyn::reduce(), vcsn::dyn::rweight(), vcsn::dyn::shortest(), vcsn::dyn::sort(), vcsn::dyn::standard(), vcsn::dyn::detail::standard_expression(), vcsn::dyn::star(), vcsn::dyn::strip(), vcsn::dyn::subword(), vcsn::dyn::suffix(), vcsn::dyn::synchronize(), vcsn::dyn::synchronizing_word(), vcsn::dyn::thompson(), vcsn::dyn::to_expression(), vcsn::dyn::trim(), vcsn::dyn::universal(), vcsn::dyn::weight_series(), and vcsn::dyn::zpc().

Here is the call graph for this function:

template<Automaton Aut>
const auto& vcsn::dyn::automaton::as ( ) const
inline

Extract wrapped typed automaton.

Definition at line 44 of file automaton.hh.

References vcsn::dyn::automaton::model< Aut >::automaton(), and vcsn::dyn::detail::dyn_cast().

Here is the call graph for this function:

bool vcsn::dyn::automaton::operator! ( ) const
inline

Definition at line 59 of file automaton.hh.

auto* vcsn::dyn::automaton::operator-> ( )
inline

Definition at line 49 of file automaton.hh.

const auto* vcsn::dyn::automaton::operator-> ( ) const
inline

Definition at line 54 of file automaton.hh.

symbol vcsn::dyn::automaton::vname ( ) const
inline

A description of the automaton, sufficient to build it.

Definition at line 30 of file automaton.hh.

Referenced by vcsn::dyn::type().

Member Data Documentation

std::shared_ptr<base> vcsn::dyn::automaton::self_
private

The wrapped automaton.

Definition at line 102 of file automaton.hh.


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