Vcsn  2.2
Be Rational
vcsn::rat::tuple< Context, Enable > Class Template Reference

Implementation of nodes of tuple of rational expressions. More...

#include <expression.hh>

Inheritance diagram for vcsn::rat::tuple< Context, Enable >:
Collaboration diagram for vcsn::rat::tuple< Context, Enable >:

Classes

struct  values_t_impl
 
struct  values_t_impl< detail::index_sequence< I... > >
 

Public Types

using super_t = inner< Context >
 
using context_t = Context
 
using value_t = typename super_t::value_t
 
template<unsigned Tape>
using value_t_of = std::shared_ptr< const rat::node< detail::project_context< Tape, context_t >>>
 Given a tape, its corresponding expression type. More...
 
using indices_t = typename labelset_t_of< context_t >::indices_t
 
using values_t = typename values_t_impl< typename indices_t::type >::type
 
- Public Types inherited from vcsn::rat::inner< Context >
using super_t = node< Context >
 
using value_t = typename super_t::value_t
 
- Public Types inherited from vcsn::rat::node< Context >
using context_t = Context
 
using node_t = rat::node< context_t >
 
using value_t = std::shared_ptr< const node_t >
 An expression usable with value semantics. More...
 
using values_t = std::vector< value_t >
 
using const_visitor = vcsn::rat::const_visitor< context_t >
 
- Public Types inherited from vcsn::rat::exp
using type_t = rat::type_t
 The possible types of expressions. More...
 

Public Member Functions

template<typename... Args>
 tuple (Args &&...args)
 
virtual type_t type () const
 The type of this node. More...
 
virtual void accept (typename super_t::const_visitor &v) const
 
const values_t sub () const
 
- Public Member Functions inherited from vcsn::rat::exp
virtual ~exp ()=default
 
bool is_unary () const
 Whether star, complement. More...
 
bool is_leaf () const
 Whether a leaf of the expression tree. More...
 

Private Attributes

values_t sub_
 

Detailed Description

template<typename Context, bool Enable>
class vcsn::rat::tuple< Context, Enable >

Implementation of nodes of tuple of rational expressions.

Definition at line 182 of file expression.hh.

Member Typedef Documentation

template<typename Context, bool Enable>
using vcsn::rat::tuple< Context, Enable >::context_t = Context

Definition at line 189 of file expression.hh.

template<typename Context, bool Enable>
using vcsn::rat::tuple< Context, Enable >::indices_t = typename labelset_t_of<context_t>::indices_t

Definition at line 205 of file expression.hh.

template<typename Context, bool Enable>
using vcsn::rat::tuple< Context, Enable >::super_t = inner<Context>

Definition at line 188 of file expression.hh.

template<typename Context, bool Enable>
using vcsn::rat::tuple< Context, Enable >::value_t = typename super_t::value_t

Definition at line 190 of file expression.hh.

template<typename Context, bool Enable>
template<unsigned Tape>
using vcsn::rat::tuple< Context, Enable >::value_t_of = std::shared_ptr<const rat::node<detail::project_context<Tape, context_t>>>

Given a tape, its corresponding expression type.

Definition at line 195 of file expression.hh.

template<typename Context, bool Enable>
using vcsn::rat::tuple< Context, Enable >::values_t = typename values_t_impl<typename indices_t::type>::type

Definition at line 206 of file expression.hh.

Constructor & Destructor Documentation

template<typename Context, bool Enable>
template<typename... Args>
vcsn::rat::tuple< Context, Enable >::tuple ( Args &&...  args)
inline

Definition at line 209 of file expression.hh.

Member Function Documentation

template<typename Context, bool Enable>
virtual void vcsn::rat::tuple< Context, Enable >::accept ( typename super_t::const_visitor v) const
inlinevirtual

Implements vcsn::rat::node< Context >.

Definition at line 214 of file expression.hh.

References vcsn::rat::const_visitor< Context >::visit().

Here is the call graph for this function:

template<typename Context, bool Enable>
virtual type_t vcsn::rat::tuple< Context, Enable >::type ( ) const
inlinevirtual

The type of this node.

Implements vcsn::rat::exp.

Definition at line 212 of file expression.hh.

References vcsn::rat::tuple.

Member Data Documentation

template<typename Context, bool Enable>
values_t vcsn::rat::tuple< Context, Enable >::sub_
private

Definition at line 222 of file expression.hh.


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