Vcsn  2.3
Be Rational
tupleset.hh File Reference
#include <iosfwd>
#include <istream>
#include <set>
#include <tuple>
#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/raise.hh>
#include <vcsn/misc/stream.hh>
#include <vcsn/misc/tuple.hh>
#include <vcsn/misc/zip.hh>
#include <vcsn/weightset/b.hh>
Include dependency graph for tupleset.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

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...
 

Namespaces

 vcsn
 
 vcsn::detail
 

Typedefs

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...
 

Functions

template<typename... ValueSets>
tupleset< ValueSets... > vcsn::detail::make_tupleset (const ValueSets &...vss)