Vcsn  2.4
Be Rational
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
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::detail::accessible(), vcsn::dyn::detail::add(), vcsn::dyn::detail::ambiguous_word(), vcsn::dyn::detail::are_equivalent(), vcsn::dyn::detail::are_isomorphic(), vcsn::dyn::detail::coaccessible(), vcsn::dyn::detail::codeterminize_(), vcsn::dyn::detail::cominimize(), vcsn::dyn::detail::complement(), vcsn::dyn::detail::complete(), vcsn::dyn::detail::compose(), vcsn::dyn::detail::conjugate(), vcsn::dyn::detail::conjunction_repeated(), vcsn::dyn::detail::context_of(), vcsn::dyn::detail::copy(), vcsn::dyn::detail::copy_convert(), vcsn::dyn::detail::costandard(), vcsn::dyn::detail::determinize_(), vcsn::dyn::detail::difference(), vcsn::dyn::detail::eliminate_state(), vcsn::dyn::detail::eval_polynomial(), vcsn::dyn::detail::evaluate(), vcsn::dyn::detail::factor(), vcsn::dyn::detail::has_bounded_lag(), vcsn::dyn::detail::has_lightening_cycle(), vcsn::dyn::detail::has_twins_property(), vcsn::dyn::detail::inductive(), vcsn::dyn::detail::info(), vcsn::dyn::detail::insplit(), vcsn::dyn::detail::is_accessible(), vcsn::dyn::detail::is_ambiguous(), vcsn::dyn::detail::is_coaccessible(), vcsn::dyn::detail::is_codeterministic(), vcsn::dyn::detail::is_complete(), vcsn::dyn::detail::is_costandard(), vcsn::dyn::detail::is_cycle_ambiguous(), vcsn::dyn::detail::is_deterministic(), vcsn::dyn::detail::is_empty(), vcsn::dyn::detail::is_eps_acyclic(), vcsn::dyn::detail::is_functional(), vcsn::dyn::detail::is_letterized(), vcsn::dyn::detail::is_normalized(), vcsn::dyn::detail::is_out_sorted(), vcsn::dyn::detail::is_partial_identity(), vcsn::dyn::detail::is_proper(), vcsn::dyn::detail::is_realtime(), vcsn::dyn::detail::is_standard(), vcsn::dyn::detail::is_synchronized_by(), vcsn::dyn::detail::is_synchronizing(), vcsn::dyn::detail::is_trim(), vcsn::dyn::detail::is_useless(), vcsn::dyn::detail::is_valid(), vcsn::dyn::detail::ldivide(), vcsn::dyn::detail::letterize(), vcsn::dyn::detail::lift_automaton(), vcsn::dyn::detail::lightest(), vcsn::dyn::detail::lightest_automaton(), vcsn::dyn::detail::lweight(), vcsn::dyn::detail::minimize(), vcsn::dyn::detail::multiply(), vcsn::dyn::detail::multiply_repeated(), vcsn::dyn::detail::normalize(), vcsn::dyn::detail::pair(), vcsn::dyn::detail::partial_identity(), vcsn::dyn::detail::prefix(), vcsn::dyn::detail::print(), vcsn::dyn::detail::project(), vcsn::dyn::detail::proper(), vcsn::dyn::detail::push_weights(), vcsn::dyn::detail::rdivide(), vcsn::dyn::detail::realtime(), vcsn::dyn::detail::reduce(), vcsn::dyn::detail::rweight(), vcsn::dyn::detail::shortest(), vcsn::dyn::detail::sort(), vcsn::dyn::detail::standard(), vcsn::dyn::detail::standard_expression(), vcsn::dyn::detail::star(), vcsn::dyn::detail::strip(), vcsn::dyn::detail::subword(), vcsn::dyn::detail::suffix(), vcsn::dyn::detail::synchronize(), vcsn::dyn::detail::synchronizing_word(), vcsn::dyn::detail::thompson(), vcsn::dyn::detail::to_expression(), vcsn::dyn::detail::trim(), vcsn::dyn::detail::universal(), vcsn::dyn::detail::weight_series(), and vcsn::dyn::detail::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: