#include <array>
#include <iosfwd>
#include <istream>
#include <set>
#include <tuple>
#include <boost/range/join.hpp>
#include <boost/optional.hpp>
#include <vcsn/config.hh>
#include <vcsn/labelset/fwd.hh>
#include <vcsn/labelset/labelset.hh>
#include <vcsn/misc/cross.hh>
#include <vcsn/misc/escape.hh>
#include <vcsn/misc/filter.hh>
#include <vcsn/misc/raise.hh>
#include <vcsn/misc/static-if.hh>
#include <vcsn/misc/stream.hh>
#include <vcsn/misc/tuple.hh>
#include <vcsn/misc/zip.hh>
#include <vcsn/weightset/b.hh>
Go to the source code of this file.
|
struct | vcsn::detail::labelset_types_impl< Enable, ValueSets > |
| A traits so that tupleset may define types that may exist. More...
|
|
struct | vcsn::detail::labelset_types_impl< decltype(pass{std::declval< ValueSets >().genset()...}, void()), ValueSets... > |
| Specialization for tuples of labelsets. More...
|
|
class | vcsn::detail::tupleset_impl< ValueSets > |
| A ValueSet which is a Cartesian product of ValueSets. More...
|
|
struct | vcsn::detail::is_multitape< ValueSet > |
| Whether a ValueSet, or a context, is multitape. More...
|
|
struct | vcsn::detail::is_multitape< tupleset< ValueSet... > > |
|
struct | vcsn::detail::is_multitape< context< LabelSet, WeightSet > > |
|
struct | vcsn::detail::is_multitape< expressionset< Context > > |
|
struct | vcsn::detail::concat_tupleset< T1, T2 > |
|
struct | vcsn::detail::concat_tupleset< weightset_mixin< tupleset_impl< T1... > >, weightset_mixin< tupleset_impl< T2... > > > |
|
struct | vcsn::detail::letterized_traits< tupleset< LabelSets... > > |
| Conversion to letterized. More...
|
|
struct | vcsn::detail::proper_traits< tupleset< LabelSet > > |
| Transform a tupleset of one element to a tupleset of the proper version. More...
|
|
struct | vcsn::detail::law_traits< tupleset< LabelSets... > > |
| Conversion to wordset. More...
|
|
struct | vcsn::detail::join_impl< tupleset< VS1... >, tupleset< VS2... > > |
| Join between two tuplesets, of the same size. More...
|
|
struct | vcsn::detail::join_impl< tupleset< VS1... >, VS2 > |
| Join between a tupleset, and a non tuple. More...
|
|
struct | vcsn::detail::project_labelset_impl< Tape, LabelSet > |
| The type of the resulting apparent LabelSet when keeping only tape Tape. More...
|
|
struct | vcsn::detail::project_labelset_impl< Tape, tupleset< LabelSets... > > |
| Case of tuplesets. More...
|
|
struct | vcsn::detail::project_labelset_impl< Tape, expressionset< Context > > |
| Case of multitape expressionsets. More...
|
|
|
template<typename... ValueSets> |
using | vcsn::detail::labelset_types = labelset_types_impl< void, ValueSets... > |
|
template<size_t Tape, typename LabelSet > |
using | vcsn::detail::project_labelset = typename project_labelset_impl< Tape, LabelSet >::type |
| The type of the resulting apparent LabelSet when keeping only tape Tape. More...
|
|
template<size_t Tape, typename Context > |
using | vcsn::detail::project_context = context< project_labelset< Tape, labelset_t_of< Context >>, weightset_t_of< Context >> |
| The type of the resulting apparent context when keeping only tape Tape. More...
|
|
|
template<typename... ValueSets> |
tupleset< ValueSets... > | vcsn::detail::make_tupleset (const ValueSets &...vss) |
|
template<typename... LabelSet, typename RandomGenerator = std::default_random_engine> |
tupleset< LabelSet... >::value_t | vcsn::random_label (const tupleset< LabelSet... > &ls, RandomGenerator &gen=RandomGenerator()) |
| Random label from tupleset. More...
|
|
template<typename... LabelSet, size_t... I, typename RandomGenerator = std::default_random_engine> |
tupleset< LabelSet... >::value_t | vcsn::random_label_ (const tupleset< LabelSet... > &ls, RandomGenerator &gen, detail::index_sequence< I... >) |
| Implementation detail for random label from tupleset. More...
|
|