# Algebra

Algebra constructs for Vaucanson. More...

Collaboration diagram for Algebra:

## Classes

struct | AlphabetSetBase< S >
| Base class for structural elements of alphabets. More...
struct | dynamic_traits< algebra::AlphabetSetBase< S > >
| Specialization of `dynamic_traits` for `AlphabetSetBase`. More...
struct | dynamic_traits< algebra::CyclicSemiring< n > >
| Meta information about the cyclic semirings. More...
struct | CyclicSemiring< n >
| Structural element that denotes tropical semiring. More...
struct | MetaElement< algebra::CyclicSemiring< n >, T >
| Services of element of a tropical semiring. More...
struct | FreeMonoidBase< Self >
| Structural element for free monoid. More...
struct | dynamic_traits< algebra::FreeMonoidBase< Self > >
struct | dynamic_traits< algebra::FreeMonoidProduct< F, S > >
| Meta information about FreeMonoidProduct. More...
struct | FreeMonoidProductBase< Self >
| Structural element for free monoid product. More...
struct | dynamic_traits< algebra::FreeMonoidProductBase< Self > >
struct | MonoidBase< Self >
| `The` base class of all structures that are monoids. More...
struct | dynamic_traits< algebra::MonoidBase< Self > >
struct | NumericalSemiring
| The set of semirings implemented with usual operations (+, *). More...
struct | dynamic_traits< algebra::NumericalSemiring >
| Meta information about the NumericalSemiring structural element. More...
struct | mul_kind
| Empty class used as static information to denote the kind of internal operation of a semigroup. More...
struct | dynamic_traits< algebra::SemigroupBase< Self > >
struct | SemiringBase< Self >
| Base class for all structures that are semirings. More...
struct | dynamic_traits< algebra::SemiringBase< Self > >
struct | SeriesBase< Self >
| Structural element of series K<A*> from a free monoid A* to a semiring K. More...
struct | dynamic_traits< algebra::SeriesBase< Self > >
struct | dynamic_traits< algebra::TropicalSemiring< TropicalKind > >
| Meta information about the tropical semirings. More...
struct | TropicalMin
| Static information about the kind of tropical we are confronted with. More...
struct | MetaElement< algebra::TropicalSemiring< TropicalKind >, T >
| Services of element of a tropical semiring. More...
struct | alphabet_traits< AlphabetSet< L >, std::set< L > >
| Meta information about the mixing of AlphabetSet with std::set. More...
struct | MetaElement< algebra::AlphabetSet< L >, std::set< L > >
| Services of every alphabet implemented with std::set. More...
struct | AlphabetSet< L >
| Static implementation of alphabet structural element. More...
struct | dynamic_traits< algebra::AlphabetSet< L > >
| Meta information about AlphabetSet. More...
class | AlphabetDecorator< L, T >
| Decorate a given alphabet implementation with meta-symbols. More...
struct | MetaElement< algebra::AlphabetSet< L >, algebra::AlphabetDecorator< L, T > >
| Services of every alphabet implemented with AlphabetDecorator<L, T>. More...
struct | FreeMonoid< A >
| Implementation of a free monoid which aggregates its alphabet. More...
struct | dynamic_traits< algebra::FreeMonoid< A > >
| Meta information about FreeMonoid. More...
interface | semiring_virtual
| Virtual pure class used by bison to deal with vaucanson's templated structures. More...

## Namespaces

namespace | vcsn::algebra

| Namespace for algebra constructs in Vaucanson.

## Modules

| Alphabet
| Semiring
| Freemonoid
| Fmp
| Monoid
| Semigroup
| Series

## Files

file | q_number.hh

| RationalNumber class declaration.
file | krat_exp_parser.hh

| This file declares the parse() function.

## Detailed Description

Algebra constructs for Vaucanson.

This group aggregates the documentation of compounds related to algebraic structures of Vaucanson, such as Monoids, Series, or rational expressions (as implementation of series).

See also:
  - vcsn::algebra
  - vcsn::algebra::AlphabetSet
  - vcsn::algebra::MonoidBase
  - vcsn::algebra::FreeMonoid
  - vcsn::algebra::FreeMonoidProduct
  - vcsn::algebra::SemigroupBase
  - vcsn::algebra::NumericalSemiring
  - vcsn::algebra::TropicalSemiring
  - vcsn::algebra::Series