![]() |
Vcsn
2.3a
Be Rational
|
An inner node with multiple children. More...
#include <expression.hh>
Public Types | |
using | super_t = inner< Context > |
using | value_t = typename super_t::value_t |
using | values_t = typename super_t::values_t |
using | const_iterator = typename values_t::const_iterator |
using | iterator = const_iterator |
using | const_reverse_iterator = typename values_t::const_reverse_iterator |
using | reverse_iterator = const_reverse_iterator |
![]() | |
using | super_t = node< Context > |
using | value_t = typename super_t::value_t |
![]() | |
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 > |
![]() | |
using | type_t = rat::type_t |
The possible types of expressions. More... | |
Public Member Functions | |
virtual type_t | type () const |
The type of this node. More... | |
const_iterator | begin () const |
const_iterator | end () const |
const_reverse_iterator | rbegin () const |
const_reverse_iterator | rend () const |
size_t | size () const |
const value_t | operator[] (size_t n) const |
Access the n-th element. More... | |
const value_t | head () const |
The first item of this variadic. More... | |
const value_t | back () const |
The last item of this variadic. More... | |
auto | tail () const -> decltype(boost::make_iterator_range(*this, 1, 0)) |
The non-first items. More... | |
variadic (values_t ns=values_t()) | |
template<typename... Vs> | |
variadic (Vs &&...vs) | |
variadic (const variadic &that) | |
values_t | subs () const |
Return a copy of children. More... | |
virtual void | accept (typename super_t::const_visitor &v) const |
![]() | |
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_ |
An inner node with multiple children.
Implements the Composite Design Pattern.
Definition at line 118 of file expression.hh.
using vcsn::rat::variadic< Type, Context >::const_iterator = typename values_t::const_iterator |
Definition at line 128 of file expression.hh.
using vcsn::rat::variadic< Type, Context >::const_reverse_iterator = typename values_t::const_reverse_iterator |
Definition at line 133 of file expression.hh.
using vcsn::rat::variadic< Type, Context >::iterator = const_iterator |
Definition at line 132 of file expression.hh.
using vcsn::rat::variadic< Type, Context >::reverse_iterator = const_reverse_iterator |
Definition at line 134 of file expression.hh.
using vcsn::rat::variadic< Type, Context >::super_t = inner<Context> |
Definition at line 124 of file expression.hh.
using vcsn::rat::variadic< Type, Context >::value_t = typename super_t::value_t |
Definition at line 125 of file expression.hh.
using vcsn::rat::variadic< Type, Context >::values_t = typename super_t::values_t |
Definition at line 126 of file expression.hh.
vcsn::rat::variadic< Type, Context >::variadic | ( | values_t | ns = values_t() | ) |
Definition at line 58 of file expression.hxx.
|
inline |
Definition at line 159 of file expression.hh.
|
inline |
Definition at line 163 of file expression.hh.
|
virtual |
Implements vcsn::rat::node< Context >.
Definition at line 123 of file expression.hxx.
References vcsn::v.
auto vcsn::rat::variadic< Type, Context >::back | ( | ) | const |
The last item of this variadic.
Definition at line 105 of file expression.hxx.
auto vcsn::rat::variadic< Type, Context >::begin | ( | ) | const |
Definition at line 63 of file expression.hxx.
auto vcsn::rat::variadic< Type, Context >::end | ( | ) | const |
Definition at line 69 of file expression.hxx.
auto vcsn::rat::variadic< Type, Context >::head | ( | ) | const |
The first item of this variadic.
Definition at line 99 of file expression.hxx.
Referenced by vcsn::detail::transpose_impl< ExpSet >::visit_().
auto vcsn::rat::variadic< Type, Context >::operator[] | ( | size_t | n | ) | const |
auto vcsn::rat::variadic< Type, Context >::rbegin | ( | ) | const |
Definition at line 75 of file expression.hxx.
auto vcsn::rat::variadic< Type, Context >::rend | ( | ) | const |
Definition at line 81 of file expression.hxx.
auto vcsn::rat::variadic< Type, Context >::size | ( | ) | const |
Definition at line 87 of file expression.hxx.
auto vcsn::rat::variadic< Type, Context >::subs | ( | ) | const |
Return a copy of children.
Definition at line 117 of file expression.hxx.
auto vcsn::rat::variadic< Type, Context >::tail | ( | ) | const -> decltype(boost::make_iterator_range(*this, 1, 0)) |
The non-first items.
Definition at line 111 of file expression.hxx.
Referenced by vcsn::detail::transpose_impl< ExpSet >::visit_().
|
inlinevirtual |
|
private |
Definition at line 174 of file expression.hh.
Referenced by vcsn::rat::tuple< Context, Enable >::sub().