![]() |
Vcsn
2.4
Be Rational
|
Provide a variadic mul on top of a binary mul(), and one(). More...
#include <fwd.hh>
Public Types | |
| using | super_t = WeightSet |
Public Member Functions | |
| template<typename... Ts> | |
| value_t | mul (const Ts &...ts) const |
| A variadic multiplication. More... | |
| value_t | power (value_t e, unsigned n) const |
| Repeated multiplication. More... | |
Private Member Functions | |
| template<typename WS = super_t> | |
| auto | power_ (value_t e, unsigned n) const -> std::enable_if_t< detail::has_power_mem_fn< WS > |
| Case where the weightset T features a power(value_t, unsigned) member function. More... | |
| template<typename WS = super_t> | |
| auto | power_ (value_t e, unsigned n) const -> std::enable_if_t<!detail::has_power_mem_fn< WS > |
| Case where the weightset T does not feature a power(value_t, unsigned) member function. More... | |
| if (!super_t::is_one(e)) while(n--) res | |
Private Attributes | |
| value_t | |
| return | res |
| using vcsn::weightset_mixin< WeightSet >::super_t = WeightSet |
Definition at line 49 of file weightset.hh.
|
private |
|
inline |
A variadic multiplication.
Definition at line 60 of file weightset.hh.
Referenced by vcsn::is_partial_identity(), and vcsn::ss_shortest_distance().
|
inline |
Repeated multiplication.
Definition at line 98 of file weightset.hh.
|
inlineprivate |
Case where the weightset T features a power(value_t, unsigned) member function.
Definition at line 76 of file weightset.hh.
|
inlineprivate |
Case where the weightset T does not feature a power(value_t, unsigned) member function.
Definition at line 85 of file weightset.hh.
|
private |
Definition at line 92 of file weightset.hh.
Referenced by vcsn::weightset_mixin< expressionset_t >::mul().
|
private |
Definition at line 78 of file weightset.hh.
Referenced by vcsn::weightset_mixin< expressionset_t >::mul().