17 #ifndef AWALI_CORE_RAT_FWD_HH
18 # define AWALI_CORE_RAT_FWD_HH
25 namespace awali {
namespace sttc
32 using exp_t = std::shared_ptr<const exp>;
35 template <
typename Context>
39 template <
typename Context>
92 # define DEFINE(Node) \
93 template <typename Label, typename Weight> \
109 template <type_t Type,
typename Label,
typename Weight>
112 template <
typename Label,
typename Weight>
115 template <
typename Label,
typename Weight>
122 template <type_t Type,
typename Label,
typename Weight>
125 template <
typename Label,
typename Weight>
128 template <
typename Label,
typename Weight>
131 template <
typename Label,
typename Weight>
138 template <type_t Type,
typename Label,
typename Weight>
141 template <
typename Label,
typename Weight>
144 template <
typename Label,
typename Weight>
147 template <
typename Label,
typename Weight>
150 template <
typename Label,
typename Weight>
153 template <
typename Label,
typename Weight>
160 template <type_t Type,
typename Label,
typename Weight>
163 template <
typename Label,
typename Weight>
166 template <
typename Label,
typename Weight>
171 template <
typename Label,
typename Weight>
172 using ratexp = std::shared_ptr<const node<Label, Weight>>;
176 template <
typename Context>
181 template <
typename Context>
Definition: ratexp.hh:262
Definition: printer.hh:36
A typed ratexp set.
Definition: ratexpset.hh:46
Definition: ratexp.hh:176
An inner node with multiple children.
Definition: ratexp.hh:115
An inner node implementing a weight.
Definition: ratexp.hh:208
#define DEFINE(Node)
Definition: fwd.hh:92
constexpr bool is_unary(type_t t)
Whether star, complement.
Definition: fwd.hh:72
constexpr bool is_constant(type_t t)
Whether is a constant (\z or \e).
Definition: fwd.hh:65
type_t
The possible types of ratexps.
Definition: fwd.hh:48
constexpr bool is_variadic(type_t t)
Whether one of the variadic types.
Definition: fwd.hh:80
std::shared_ptr< const node< Label, Weight > > ratexp
Definition: fwd.hh:172
std::ostream & operator<<(std::ostream &o, type_t t)
Definition: printer.hxx:31
std::shared_ptr< const exp > exp_t
Definition: fwd.hh:32
Main namespace of Awali.
Definition: ato.hh:22
Provide a variadic mul on top of a binary mul(), and one().
Definition: weightset.hh:38