#include <iosfwd>
#include <istream>
#include <set>
#include <tuple>
#include <boost/optional.hpp>
#include <boost/range/join.hpp>
#include <vcsn/config.hh>
#include <vcsn/ctx/traits.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::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...
  | 
|   | 
| struct   | vcsn::is_multitape< tupleset< ValueSet... > > | 
|   | 
| struct   | vcsn::number_of_tapes< tupleset< ValueSets... > > | 
|   | 
 | 
| 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...
  | 
|   |