![]() |
Vcsn
2.8
Be Rational
|
Specialization: lift only some tapes. More...
#include <lift.hh>
Public Types | |
using | in_labelset_t = tupleset< LabelSets... > |
Input labelset. More... | |
using | in_context_t = context< in_labelset_t, WeightSet > |
using | in_label_t = typename in_labelset_t::value_t |
template<std::size_t... I> | |
using | seq = detail::index_sequence< I... > |
A static list of integers. More... | |
using | index_t = typename detail::make_index_sequence< in_labelset_t::size()>::type |
Index of all input tapes. More... | |
template<size_t I> | |
using | tape_labelset_t = typename in_labelset_t::template valueset_t< I > |
using | kept_index_t = sequence_difference< index_t, seq< Tapes... > > |
Complement the list of indexes of tapes to be lifted, to get the list of tapes to be kept. More... | |
using | labelset_t = typename tape_set< kept_index_t, in_labelset_t >::type |
Labelset of tapes to be kept. More... | |
using | weight_index_t = seq< Tapes... > |
List of indexes of tapes to be lifted. More... | |
using | weight_tapes_t = typename tape_set< weight_index_t, in_labelset_t >::type |
Labelset of tapes to be lifted. More... | |
using | inner_context_t = context< weight_tapes_t, WeightSet > |
using | weightset_t = expressionset< inner_context_t > |
Weightset of the result: lifted tapes plus former weightset. More... | |
using | context_t = context< labelset_t, weightset_t > |
Result context. More... | |
Static Public Member Functions | |
static context_t | value (const in_context_t &ctx, vcsn::rat::identities ids) |
Conversion. More... | |
template<size_t... WeightTapes, size_t... KeptTapes> | |
static context_t | value_ (const in_context_t &ctx, vcsn::rat::identities ids, seq< WeightTapes... >, seq< KeptTapes... >) |
static labelset_t::value_t | kept_label (const in_label_t &l) |
Label in the output. More... | |
template<size_t... I> | |
static labelset_t::value_t | kept_label_ (const in_label_t &l, seq< I... >) |
static weight_tapes_t::value_t | weight_label (const in_label_t &l) |
Weight in the output. More... | |
template<size_t... I> | |
static weight_tapes_t::value_t | weight_label_ (const in_label_t &l, seq< I... >) |
Static Public Attributes | |
static constexpr size_t | number_of_tapes = in_labelset_t::size() |
Specialization: lift only some tapes.
using vcsn::detail::enable_if_t<(0< sizeof...(Tapes))> >::context_t = context<labelset_t, weightset_t> |
using vcsn::detail::enable_if_t<(0< sizeof...(Tapes))> >::in_context_t = context<in_labelset_t, WeightSet> |
using vcsn::detail::enable_if_t<(0< sizeof...(Tapes))> >::in_label_t = typename in_labelset_t::value_t |
using vcsn::detail::enable_if_t<(0< sizeof...(Tapes))> >::in_labelset_t = tupleset<LabelSets...> |
using vcsn::detail::enable_if_t<(0< sizeof...(Tapes))> >::index_t = typename detail::make_index_sequence<in_labelset_t::size()>::type |
using vcsn::detail::enable_if_t<(0< sizeof...(Tapes))> >::inner_context_t = context<weight_tapes_t, WeightSet> |
using vcsn::detail::enable_if_t<(0< sizeof...(Tapes))> >::kept_index_t = sequence_difference<index_t, seq<Tapes...> > |
using vcsn::detail::enable_if_t<(0< sizeof...(Tapes))> >::labelset_t = typename tape_set<kept_index_t, in_labelset_t>::type |
using vcsn::detail::enable_if_t<(0< sizeof...(Tapes))> >::seq = detail::index_sequence<I...> |
using vcsn::detail::enable_if_t<(0< sizeof...(Tapes))> >::tape_labelset_t = typename in_labelset_t::template valueset_t<I> |
using vcsn::detail::enable_if_t<(0< sizeof...(Tapes))> >::weight_index_t = seq<Tapes...> |
using vcsn::detail::enable_if_t<(0< sizeof...(Tapes))> >::weight_tapes_t = typename tape_set<weight_index_t, in_labelset_t>::type |
using vcsn::detail::enable_if_t<(0< sizeof...(Tapes))> >::weightset_t = expressionset<inner_context_t> |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 140 of file lift.hh.
References vcsn::context< LabelSet, WeightSet >::labelset(), and vcsn::context< LabelSet, WeightSet >::weightset().
|
inlinestatic |
|
inlinestatic |
|
static |