SeriesBase Struct Template Reference
[AlgebraSeries]

Structural element of series K<A*> from a free monoid A* to a semiring K. More...

Inheritance diagram for SeriesBase:

Inheritance graph
[legend]
List of all members.

Public Types

typedef virtual_types< Self
>::monoid_t 
monoid_t
 The type of the free monoid A*.
typedef virtual_types< Self
>::semiring_t 
semiring_t
 The type of the semiring K.
typedef Self self_t
 Exact type of the most derived type in the hierarchy.

Public Member Functions

const monoid_tmonoid () const
 Accessor to the monoid (const version).
const semiring_tsemiring () const
 Accessor to the semiring (const version).
monoid_tmonoid ()
 Accessor to the monoid.
semiring_tsemiring ()
 Accessor to the semiring.
template<class T>
bool can_choose_non_starable (SELECTOR(T)) const
 Whether it is possible to call choose_non_starable.
template<class T>
Element< Self, T > choose_starable (SELECTOR(T)) const
 A randomly chosen starable semiring element.
template<class T>
Element< Self, T > choose_non_starable (SELECTOR(T)) const
 A randomly chosen non-starable semiring element.
template<typename T>
Element< Self, T > identity (SELECTOR(T)) const
 Returns the identity of the monoid (if mul_kind).
template<typename T>
Element< Self, T > zero (SELECTOR(T)) const
 Returns the zero of the monoid (if add_kind).
bool contains (const Element< Self, T > &elt) const
 Check if a given element is compatible with the structural element.
bool contains (const Element< OtherS, T > &other) const
 Specialization of contains that always returns false.
bool contains (const T &elt_value) const
 Check if an anonymous value is compatible with a structural element.
Element< Self, T > choose (SELECTOR(T)) const
 Choose randomly an element in the structure.
self_tself ()
 Accessor to the real type.

Protected Member Functions

 SeriesBase ()
 Default constructor is protected since it is an abstract class.
 SeriesBase (const SeriesBase &other)
 Copy constructor is protected since it is an abstract class.

Detailed Description

template<class Self>
struct vcsn::algebra::SeriesBase< Self >

Structural element of series K<A*> from a free monoid A* to a semiring K.

Definition at line 37 of file series_base.hh.


Member Function Documentation

bool can_choose_non_starable ( SELECTOR(T)   )  const [inherited]

Whether it is possible to call choose_non_starable.

There's no need for can_choose_starable, since Zero is always starable and therefor can be choosen.

Definition at line 46 of file semiring_base.hxx.

References vcsn::op_can_choose_non_starable(), and SELECT.

bool contains ( const Element< OtherS, T > &  other  )  const [inherited]

Specialization of contains that always returns false.

Indeed, elements structured by a particular type are always incompatible with structural elements of another type.

self_t& self (  )  [inherited]

Accessor to the real type.

To be used by implementations in this class and derived structures to obtain a reference to the structural element with its most derived type.

Referenced by vcsn::op_contains(), vcsn::op_convert(), vcsn::op_in_mirror(), vcsn::op_letter_delta(), vcsn::op_letter_deltac(), vcsn::op_letter_deltaf(), vcsn::op_letter_rdelta(), vcsn::op_letter_rdeltac(), vcsn::op_letter_rdeltaf(), vcsn::op_rout(), vcsn::op_spontaneous_delta(), vcsn::op_spontaneous_deltac(), vcsn::op_spontaneous_deltaf(), vcsn::op_spontaneous_rdelta(), vcsn::op_spontaneous_rdeltac(), and vcsn::op_spontaneous_rdeltaf().


Generated on Wed Jun 13 17:03:29 2007 for Vaucanson by  doxygen 1.5.1