Vcsn
2.2
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 |
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 | |
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 |
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_ |
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.
|
inline |
Definition at line 62 of file expression.hxx.
|
inline |
Definition at line 159 of file expression.hh.
|
inline |
Definition at line 163 of file expression.hh.
|
inlinevirtual |
Implements vcsn::rat::node< Context >.
Definition at line 127 of file expression.hxx.
References vcsn::detail::v.
|
inline |
The last item of this variadic.
Definition at line 109 of file expression.hxx.
|
inline |
Definition at line 67 of file expression.hxx.
|
inline |
Definition at line 73 of file expression.hxx.
|
inline |
The first item of this variadic.
Definition at line 103 of file expression.hxx.
|
inline |
|
inline |
Definition at line 79 of file expression.hxx.
|
inline |
Definition at line 85 of file expression.hxx.
|
inline |
Definition at line 91 of file expression.hxx.
|
inline |
Return a copy of children.
Definition at line 121 of file expression.hxx.
|
inline |
The non-first items.
Definition at line 115 of file expression.hxx.
|
inlinevirtual |
|
private |
Definition at line 174 of file expression.hh.
Referenced by vcsn::rat::tuple< Context, Enable >::sub().