Vcsn  2.0
Be Rational
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
vcsn::dyn::detail::ratexpset_wrapper< RatExpSet > Class Template Reference

Wrapper around a ratexpset. More...

#include <fwd.hh>

Inheritance diagram for vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >:
Collaboration diagram for vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >:

Public Types

using ratexpset_t = RatExpSet
 
using context_t = context_t_of< ratexpset_t >
 
using super_t = ratexpset_base
 
using label_t = label_t_of< context_t >
 
using weight_t = weight_t_of< context_t >
 
using value_t = typename super_t::value_t
 
- Public Types inherited from vcsn::dyn::detail::ratexpset_base
using value_t = rat::exp_t
 
using letter_class_t = std::set< std::pair< std::string, std::string >>
 

Public Member Functions

 ratexpset_wrapper (const ratexpset_t &rs)
 Constructor. More...
 
virtual std::string vname (bool full=true) const override
 A description of the ratexp type. More...
 
const ratexpset_tratexpset () const
 The ratexpset which this wraps. More...
 
ratexpset_t::value_t down (const value_t &v) const
 From weak to strong typing. More...
 
weight_t down (const std::string &w) const
 From string, to typed weight. More...
 
virtual dyn::ratexp make_ratexp (const value_t &v) const override
 
virtual rat::identities identities () const override
 
virtual value_t zero () const override
 
virtual value_t one () const override
 
virtual value_t atom (const std::string &w) const override
 
virtual value_t add (value_t l, value_t r) const override
 
virtual value_t mul (value_t l, value_t r) const override
 Explicit product. More...
 
virtual value_t conjunction (value_t l, value_t r) const override
 
virtual value_t shuffle (value_t l, value_t r) const override
 
virtual value_t ldiv (value_t l, value_t r) const override
 
virtual value_t rdiv (value_t l, value_t r) const override
 
virtual value_t concat (value_t l, value_t r) const override
 When concatenating two atoms, possibly make a single one, or make the product. More...
 
virtual value_t star (value_t v) const override
 
virtual value_t complement (value_t v) const override
 Add a complement operator. More...
 
virtual value_t transposition (value_t v) const override
 Add a transposition operator. More...
 
virtual value_t lmul (const std::string &w, value_t v) const override
 Left-multiplication by a weight. More...
 
virtual value_t rmul (value_t v, const std::string &w) const override
 Right-multiplication by a weight. More...
 
virtual value_t letter_class (const letter_class_t &chars, bool accept=true) const override
 A ratexp matching one character amongst chars. More...
 
virtual value_t conv (std::istream &is) const override
 Parsing. More...
 
virtual std::ostream & print (value_t v, std::ostream &o) const override
 
template<typename LabelSet_ >
auto letter_class_ (const letter_class_t &, bool, std::false_type, std::true_type) const -> value_t
 
template<typename LabelSet_ >
auto letter_class_ (const letter_class_t &chars, bool accept, std::false_type, std::false_type) const -> value_t
 
template<typename LabelSet_ , typename Bool >
auto letter_class_ (const letter_class_t &, bool, std::true_type, Bool) const -> value_t
 
- Public Member Functions inherited from vcsn::dyn::detail::ratexpset_base
template<typename RatExpSet >
ratexpset_wrapper< RatExpSet > & as ()
 Extract wrapped typed ratexpset. More...
 
template<typename RatExpSet >
const ratexpset_wrapper
< RatExpSet > & 
as () const
 Extract wrapped typed ratexp. More...
 

Private Member Functions

template<typename LabelSet_ , typename Bool >
value_t letter_class_ (const letter_class_t &chars, bool accept, std::true_type, Bool) const
 If context is oneset. More...
 
template<typename LabelSet_ >
value_t letter_class_ (const letter_class_t &chars, bool accept, std::false_type, std::false_type) const
 If context is not oneset. More...
 
template<typename LabelSet_ >
value_t letter_class_ (const letter_class_t &chars, bool accept, std::false_type, std::true_type) const
 If context is not oneset. More...
 

Private Attributes

ratexpset_t rs_
 

Detailed Description

template<typename RatExpSet>
class vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >

Wrapper around a ratexpset.

Definition at line 71 of file fwd.hh.

Member Typedef Documentation

template<typename RatExpSet>
using vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::context_t = context_t_of<ratexpset_t>

Definition at line 103 of file ratexpset.hh.

template<typename RatExpSet>
using vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::label_t = label_t_of<context_t>

Definition at line 105 of file ratexpset.hh.

template<typename RatExpSet>
using vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::ratexpset_t = RatExpSet

Definition at line 102 of file ratexpset.hh.

template<typename RatExpSet>
using vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::super_t = ratexpset_base

Definition at line 104 of file ratexpset.hh.

template<typename RatExpSet>
using vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::value_t = typename super_t::value_t

Definition at line 107 of file ratexpset.hh.

template<typename RatExpSet>
using vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::weight_t = weight_t_of<context_t>

Definition at line 106 of file ratexpset.hh.

Constructor & Destructor Documentation

template<typename RatExpSet >
vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::ratexpset_wrapper ( const ratexpset_t rs)
inline

Constructor.

Parameters
rsthe wrapped ratexpset.

Definition at line 21 of file ratexpset.hxx.

Member Function Documentation

template<typename RatExpSet >
auto vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::add ( value_t  l,
value_t  r 
) const
inlineoverridevirtual

Implements vcsn::dyn::detail::ratexpset_base.

Definition at line 69 of file ratexpset.hxx.

template<typename RatExpSet >
auto vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::atom ( const std::string &  w) const
inlineoverridevirtual

Implements vcsn::dyn::detail::ratexpset_base.

Definition at line 64 of file ratexpset.hxx.

References vcsn::conv().

Here is the call graph for this function:

template<typename RatExpSet >
auto vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::complement ( value_t  e) const
inlineoverridevirtual

Add a complement operator.

Implements vcsn::dyn::detail::ratexpset_base.

Definition at line 109 of file ratexpset.hxx.

template<typename RatExpSet >
auto vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::concat ( value_t  l,
value_t  r 
) const
inlineoverridevirtual

When concatenating two atoms, possibly make a single one, or make the product.

Implements vcsn::dyn::detail::ratexpset_base.

Definition at line 99 of file ratexpset.hxx.

template<typename RatExpSet >
auto vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::conjunction ( value_t  l,
value_t  r 
) const
inlineoverridevirtual

Implements vcsn::dyn::detail::ratexpset_base.

Definition at line 79 of file ratexpset.hxx.

template<typename RatExpSet >
auto vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::conv ( std::istream &  is) const
inlineoverridevirtual

Parsing.

Implements vcsn::dyn::detail::ratexpset_base.

Definition at line 199 of file ratexpset.hxx.

References is.

template<typename RatExpSet >
auto vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::down ( const value_t v) const
inline

From weak to strong typing.

Definition at line 32 of file ratexpset.hxx.

References down_pointer_cast.

template<typename RatExpSet >
auto vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::down ( const std::string &  w) const
inline

From string, to typed weight.

Definition at line 38 of file ratexpset.hxx.

References vcsn::conv().

Here is the call graph for this function:

template<typename RatExpSet >
auto vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::identities ( ) const
inlineoverridevirtual

Implements vcsn::dyn::detail::ratexpset_base.

Definition at line 49 of file ratexpset.hxx.

template<typename RatExpSet >
auto vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::ldiv ( value_t  l,
value_t  r 
) const
inlineoverridevirtual

Implements vcsn::dyn::detail::ratexpset_base.

Definition at line 89 of file ratexpset.hxx.

template<typename RatExpSet >
auto vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::letter_class ( const letter_class_t chars,
bool  accept = true 
) const
inlineoverridevirtual

A ratexp matching one character amongst chars.

Parameters
charsThe letter class as a set of ranges.
acceptWhether to accept these characters ([abc]) as opposed to refusing them ([^abc]).

Implements vcsn::dyn::detail::ratexpset_base.

Definition at line 129 of file ratexpset.hxx.

template<typename RatExpSet>
template<typename LabelSet_ >
auto vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::letter_class_ ( const letter_class_t ,
bool  ,
std::false_type  ,
std::true_type   
) const -> value_t
inline

Definition at line 142 of file ratexpset.hxx.

template<typename RatExpSet>
template<typename LabelSet_ >
auto vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::letter_class_ ( const letter_class_t chars,
bool  accept,
std::false_type  ,
std::false_type   
) const -> value_t
inline

Definition at line 155 of file ratexpset.hxx.

References vcsn::conv().

Here is the call graph for this function:

template<typename RatExpSet>
template<typename LabelSet_ , typename Bool >
value_t vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::letter_class_ ( const letter_class_t chars,
bool  accept,
std::true_type  ,
Bool   
) const
private

If context is oneset.

template<typename RatExpSet>
template<typename LabelSet_ >
value_t vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::letter_class_ ( const letter_class_t chars,
bool  accept,
std::false_type  ,
std::false_type   
) const
private

If context is not oneset.

template<typename RatExpSet>
template<typename LabelSet_ >
value_t vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::letter_class_ ( const letter_class_t chars,
bool  accept,
std::false_type  ,
std::true_type   
) const
private

If context is not oneset.

template<typename RatExpSet>
template<typename LabelSet_ , typename Bool >
auto vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::letter_class_ ( const letter_class_t ,
bool  ,
std::true_type  ,
Bool   
) const -> value_t
inline

Definition at line 190 of file ratexpset.hxx.

template<typename RatExpSet >
auto vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::lmul ( const std::string &  w,
value_t  e 
) const
inlineoverridevirtual

Left-multiplication by a weight.

Implements vcsn::dyn::detail::ratexpset_base.

Definition at line 119 of file ratexpset.hxx.

template<typename RatExpSet >
auto vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::make_ratexp ( const value_t v) const
inlineoverridevirtual

Implements vcsn::dyn::detail::ratexpset_base.

Definition at line 43 of file ratexpset.hxx.

References vcsn::dyn::make_ratexp().

Here is the call graph for this function:

template<typename RatExpSet >
auto vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::mul ( value_t  l,
value_t  r 
) const
inlineoverridevirtual

Explicit product.

Implements vcsn::dyn::detail::ratexpset_base.

Definition at line 74 of file ratexpset.hxx.

template<typename RatExpSet >
auto vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::one ( ) const
inlineoverridevirtual

Implements vcsn::dyn::detail::ratexpset_base.

Definition at line 59 of file ratexpset.hxx.

template<typename RatExpSet >
auto vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::print ( value_t  v,
std::ostream &  o 
) const
inlineoverridevirtual

Implements vcsn::dyn::detail::ratexpset_base.

Definition at line 204 of file ratexpset.hxx.

template<typename RatExpSet>
const ratexpset_t& vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::ratexpset ( ) const
inline

The ratexpset which this wraps.

Definition at line 119 of file ratexpset.hh.

References vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::rs_.

Referenced by vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::vname().

template<typename RatExpSet >
auto vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::rdiv ( value_t  l,
value_t  r 
) const
inlineoverridevirtual

Implements vcsn::dyn::detail::ratexpset_base.

Definition at line 94 of file ratexpset.hxx.

template<typename RatExpSet >
auto vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::rmul ( value_t  e,
const std::string &  w 
) const
inlineoverridevirtual

Right-multiplication by a weight.

Implements vcsn::dyn::detail::ratexpset_base.

Definition at line 124 of file ratexpset.hxx.

template<typename RatExpSet >
auto vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::shuffle ( value_t  l,
value_t  r 
) const
inlineoverridevirtual

Implements vcsn::dyn::detail::ratexpset_base.

Definition at line 84 of file ratexpset.hxx.

template<typename RatExpSet >
auto vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::star ( value_t  v) const
inlineoverridevirtual

Implements vcsn::dyn::detail::ratexpset_base.

Definition at line 104 of file ratexpset.hxx.

template<typename RatExpSet >
auto vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::transposition ( value_t  e) const
inlineoverridevirtual

Add a transposition operator.

Implements vcsn::dyn::detail::ratexpset_base.

Definition at line 114 of file ratexpset.hxx.

template<typename RatExpSet>
virtual std::string vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::vname ( bool  full = true) const
inlineoverridevirtual

A description of the ratexp type.

Parameters
fullwhether to include the genset. if false, same as sname.

Implements vcsn::dyn::detail::ratexpset_base.

Definition at line 113 of file ratexpset.hh.

References vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::ratexpset().

Here is the call graph for this function:

template<typename RatExpSet >
auto vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::zero ( ) const
inlineoverridevirtual

Implements vcsn::dyn::detail::ratexpset_base.

Definition at line 54 of file ratexpset.hxx.

Member Data Documentation

template<typename RatExpSet>
ratexpset_t vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::rs_
private

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