Vcsn  2.2
Be Rational
vcsn::detail::transposer< ExpSet > Class Template Reference

A visitor to create a transposed expression,. More...

#include <transpose.hh>

Inheritance diagram for vcsn::detail::transposer< ExpSet >:
Collaboration diagram for vcsn::detail::transposer< ExpSet >:

Public Types

using expressionset_t = ExpSet
 
using expression_t = typename expressionset_t::value_t
 
using super_t = typename expressionset_t::const_visitor
 

Public Member Functions

 transposer (const expressionset_t &rs)
 
expression_t operator() (const expression_t &e)
 
expression_t transpose (const expression_t &e)
 

Static Public Member Functions

static constexpr const charme ()
 Name of this algorithm, for error messages. More...
 

Private Types

using tuple_t = typename super_t::tuple_t
 

Private Member Functions

 VCSN_RAT_VISIT (zero,)
 
 VCSN_RAT_VISIT (one,)
 
 VCSN_RAT_VISIT (atom, e)
 
 VCSN_RAT_VISIT (sum, e)
 
 VCSN_RAT_VISIT (conjunction, e)
 
 VCSN_RAT_VISIT (infiltration, e)
 
 VCSN_RAT_VISIT (shuffle, e)
 
 VCSN_RAT_VISIT (prod, e)
 
 VCSN_RAT_VISIT (star, e)
 
 VCSN_RAT_VISIT (complement, e)
 
 VCSN_RAT_VISIT (transposition, e)
 
 VCSN_RAT_VISIT (ldiv, e)
 
 VCSN_RAT_VISIT (lweight, e)
 
 VCSN_RAT_VISIT (rweight, e)
 
virtual void visit (const tuple_t &, std::true_type) override
 

Private Attributes

expressionset_t rs_
 
expression_t res_
 

Detailed Description

template<typename ExpSet>
class vcsn::detail::transposer< ExpSet >

A visitor to create a transposed expression,.

Template Parameters
ExpSetthe expression set.

Definition at line 19 of file transpose.hh.

Member Typedef Documentation

template<typename ExpSet >
using vcsn::detail::transposer< ExpSet >::expression_t = typename expressionset_t::value_t

Definition at line 24 of file transpose.hh.

template<typename ExpSet >
using vcsn::detail::transposer< ExpSet >::expressionset_t = ExpSet

Definition at line 23 of file transpose.hh.

template<typename ExpSet >
using vcsn::detail::transposer< ExpSet >::super_t = typename expressionset_t::const_visitor

Definition at line 25 of file transpose.hh.

template<typename ExpSet >
using vcsn::detail::transposer< ExpSet >::tuple_t = typename super_t::tuple_t
private

Definition at line 158 of file transpose.hh.

Constructor & Destructor Documentation

template<typename ExpSet >
vcsn::detail::transposer< ExpSet >::transposer ( const expressionset_t rs)
inline

Definition at line 30 of file transpose.hh.

Member Function Documentation

template<typename ExpSet >
static constexpr const char* vcsn::detail::transposer< ExpSet >::me ( )
inlinestatic

Name of this algorithm, for error messages.

Definition at line 28 of file transpose.hh.

Referenced by vcsn::detail::transposer< ExpSet >::visit().

template<typename ExpSet >
expression_t vcsn::detail::transposer< ExpSet >::operator() ( const expression_t e)
inline

Definition at line 36 of file transpose.hh.

References vcsn::detail::transposer< ExpSet >::res_.

template<typename ExpSet >
expression_t vcsn::detail::transposer< ExpSet >::transpose ( const expression_t e)
inline
template<typename ExpSet >
vcsn::detail::transposer< ExpSet >::VCSN_RAT_VISIT ( zero  )
inlineprivate
template<typename ExpSet >
vcsn::detail::transposer< ExpSet >::VCSN_RAT_VISIT ( one  )
inlineprivate
template<typename ExpSet >
vcsn::detail::transposer< ExpSet >::VCSN_RAT_VISIT ( atom  ,
 
)
inlineprivate
template<typename ExpSet >
vcsn::detail::transposer< ExpSet >::VCSN_RAT_VISIT ( sum  ,
 
)
inlineprivate

Definition at line 68 of file transpose.hh.

References vcsn::detail::transposer< ExpSet >::res_, vcsn::detail::transposer< ExpSet >::rs_, vcsn::detail::transposer< ExpSet >::transpose(), and vcsn::detail::v.

Here is the call graph for this function:

template<typename ExpSet >
vcsn::detail::transposer< ExpSet >::VCSN_RAT_VISIT ( conjunction  ,
 
)
inlineprivate

Definition at line 75 of file transpose.hh.

References vcsn::detail::transposer< ExpSet >::res_, vcsn::detail::transposer< ExpSet >::rs_, vcsn::detail::transposer< ExpSet >::transpose(), and vcsn::detail::v.

Here is the call graph for this function:

template<typename ExpSet >
vcsn::detail::transposer< ExpSet >::VCSN_RAT_VISIT ( infiltration  ,
 
)
inlineprivate

Definition at line 82 of file transpose.hh.

References vcsn::detail::transposer< ExpSet >::res_, vcsn::detail::transposer< ExpSet >::rs_, vcsn::detail::transposer< ExpSet >::transpose(), and vcsn::detail::v.

Here is the call graph for this function:

template<typename ExpSet >
vcsn::detail::transposer< ExpSet >::VCSN_RAT_VISIT ( shuffle  ,
 
)
inlineprivate

Definition at line 90 of file transpose.hh.

References vcsn::detail::transposer< ExpSet >::res_, vcsn::detail::transposer< ExpSet >::rs_, vcsn::detail::transposer< ExpSet >::transpose(), and vcsn::detail::v.

Here is the call graph for this function:

template<typename ExpSet >
vcsn::detail::transposer< ExpSet >::VCSN_RAT_VISIT ( prod  ,
 
)
inlineprivate

Definition at line 98 of file transpose.hh.

References vcsn::detail::transposer< ExpSet >::res_, vcsn::detail::transposer< ExpSet >::rs_, vcsn::detail::transposer< ExpSet >::transpose(), and vcsn::detail::v.

Here is the call graph for this function:

template<typename ExpSet >
vcsn::detail::transposer< ExpSet >::VCSN_RAT_VISIT ( star  ,
 
)
inlineprivate

Definition at line 105 of file transpose.hh.

References vcsn::detail::transposer< ExpSet >::res_, vcsn::detail::transposer< ExpSet >::rs_, and vcsn::detail::transposer< ExpSet >::transpose().

Here is the call graph for this function:

template<typename ExpSet >
vcsn::detail::transposer< ExpSet >::VCSN_RAT_VISIT ( complement  ,
 
)
inlineprivate

Definition at line 110 of file transpose.hh.

References vcsn::detail::transposer< ExpSet >::res_, vcsn::detail::transposer< ExpSet >::rs_, and vcsn::detail::transposer< ExpSet >::transpose().

Here is the call graph for this function:

template<typename ExpSet >
vcsn::detail::transposer< ExpSet >::VCSN_RAT_VISIT ( transposition  ,
 
)
inlineprivate
template<typename ExpSet >
vcsn::detail::transposer< ExpSet >::VCSN_RAT_VISIT ( ldiv  ,
 
)
inlineprivate
template<typename ExpSet >
vcsn::detail::transposer< ExpSet >::VCSN_RAT_VISIT ( lweight  ,
 
)
inlineprivate

Definition at line 146 of file transpose.hh.

References vcsn::detail::transposer< ExpSet >::res_, vcsn::detail::transposer< ExpSet >::rs_, and vcsn::detail::transposer< ExpSet >::transpose().

Here is the call graph for this function:

template<typename ExpSet >
vcsn::detail::transposer< ExpSet >::VCSN_RAT_VISIT ( rweight  ,
 
)
inlineprivate

Definition at line 152 of file transpose.hh.

References vcsn::detail::transposer< ExpSet >::res_, vcsn::detail::transposer< ExpSet >::rs_, and vcsn::detail::transposer< ExpSet >::transpose().

Here is the call graph for this function:

template<typename ExpSet >
virtual void vcsn::detail::transposer< ExpSet >::visit ( const tuple_t ,
std::true_type   
)
inlineoverrideprivatevirtual

Definition at line 159 of file transpose.hh.

References vcsn::detail::transposer< ExpSet >::me().

Here is the call graph for this function:

Member Data Documentation

template<typename ExpSet >
expressionset_t vcsn::detail::transposer< ExpSet >::rs_
private

Definition at line 166 of file transpose.hh.

Referenced by vcsn::detail::transposer< ExpSet >::VCSN_RAT_VISIT().


The documentation for this class was generated from the following file: