Vcsn  2.8
Be Rational
vcsn::rat::name< Context > Class Template Reference

An inner node to name the subexpression. More...

#include <expression.hh>

Inheritance diagram for vcsn::rat::name< Context >:
Collaboration diagram for vcsn::rat::name< Context >:

Public Types

using super_t = inner< Context >
 
using value_t = typename super_t::value_t
 
- 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

 name (value_t exp, symbol name)
 
const value_t sub () const
 
symbol name_get () const
 
virtual type_t type () const
 The type of this node. More...
 
virtual void accept (typename super_t::const_visitor &v) 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

value_t sub_
 
symbol name_
 

Detailed Description

template<typename Context>
class vcsn::rat::name< Context >

An inner node to name the subexpression.

Definition at line 290 of file expression.hh.

Member Typedef Documentation

◆ super_t

template<typename Context >
using vcsn::rat::name< Context >::super_t = inner<Context>

Definition at line 294 of file expression.hh.

◆ value_t

template<typename Context >
using vcsn::rat::name< Context >::value_t = typename super_t::value_t

Definition at line 295 of file expression.hh.

Constructor & Destructor Documentation

◆ name()

template<typename Context >
vcsn::rat::name< Context >::name ( value_t  exp,
symbol  name 
)

Definition at line 44 of file expression.hxx.

Member Function Documentation

◆ accept()

template<typename Context >
auto vcsn::rat::name< Context >::accept ( typename< Context > super_t::const_visitor v) const
virtual

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

Definition at line 61 of file expression.hxx.

References vcsn::v.

◆ name_get()

template<typename Context >
auto vcsn::rat::name< Context >::name_get ( ) const

Definition at line 55 of file expression.hxx.

Referenced by vcsn::rat::dot_printer< ExpSet >::print_().

◆ sub()

template<typename Context >
auto vcsn::rat::name< Context >::sub ( ) const

Definition at line 49 of file expression.hxx.

◆ type()

template<typename Context >
virtual type_t vcsn::rat::name< Context >::type ( ) const
inlinevirtual

The type of this node.

Implements vcsn::rat::exp.

Definition at line 302 of file expression.hh.

References vcsn::rat::name, and vcsn::v.

Member Data Documentation

◆ name_

template<typename Context >
symbol vcsn::rat::name< Context >::name_
private

Definition at line 307 of file expression.hh.

◆ sub_

template<typename Context >
value_t vcsn::rat::name< Context >::sub_
private

Definition at line 306 of file expression.hh.


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