Vcsn  2.0
Be Rational
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
fwd.hh File Reference
#include <memory>
#include <vcsn/core/rat/identities.hh>
#include <vcsn/weightset/weightset.hh>
Include dependency graph for fwd.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  vcsn::rat::info< Context >
 
class  vcsn::rat::printer< Context >
 
class  vcsn::rat::node< Context >
 The abstract parameterized, root for all rational expression types. More...
 
class  vcsn::rat::leaf< Context >
 The root from which to derive the final node types. More...
 
class  vcsn::rat::atom< Context >
 
class  vcsn::rat::inner< Context >
 An inner node. More...
 
class  vcsn::rat::const_visitor< Context >
 
class  vcsn::rat::constant< Type, Context >
 
class  vcsn::rat::unary< Type, Context >
 
class  vcsn::rat::variadic< Type, Context >
 An inner node with multiple children. More...
 
class  vcsn::rat::weight_node< Type, Context >
 An inner node implementing a weight. More...
 
class  vcsn::rat::ratexpset_impl< Context >
 A typed ratexp set. More...
 

Namespaces

 vcsn
 
 vcsn::rat
 

Macros

#define DEFINE(Node)
 

Typedefs

using vcsn::rat::exp_t = std::shared_ptr< const exp >
 
template<typename Context >
using vcsn::rat::zero = constant< type_t::zero, Context >
 
template<typename Context >
using vcsn::rat::one = constant< type_t::one, Context >
 
template<typename Context >
using vcsn::rat::complement = unary< type_t::complement, Context >
 
template<typename Context >
using vcsn::rat::star = unary< type_t::star, Context >
 
template<typename Context >
using vcsn::rat::transposition = unary< type_t::transposition, Context >
 
template<typename Context >
using vcsn::rat::prod = variadic< type_t::prod, Context >
 
template<typename Context >
using vcsn::rat::conjunction = variadic< type_t::conjunction, Context >
 
template<typename Context >
using vcsn::rat::ldiv = variadic< type_t::ldiv, Context >
 
template<typename Context >
using vcsn::rat::shuffle = variadic< type_t::shuffle, Context >
 
template<typename Context >
using vcsn::rat::sum = variadic< type_t::sum, Context >
 
template<typename Context >
using vcsn::rat::lweight = weight_node< type_t::lweight, Context >
 
template<typename Context >
using vcsn::rat::rweight = weight_node< type_t::rweight, Context >
 
template<typename Context >
using vcsn::rat::ratexp = std::shared_ptr< const node< Context >>
 
template<typename Context >
using vcsn::ratexpset = variadic_mul_mixin< rat::ratexpset_impl< Context >>
 

Enumerations

enum  vcsn::rat::type_t {
  vcsn::rat::type_t::zero, vcsn::rat::type_t::one, vcsn::rat::type_t::atom, vcsn::rat::type_t::sum,
  vcsn::rat::type_t::prod, vcsn::rat::type_t::ldiv, vcsn::rat::type_t::conjunction, vcsn::rat::type_t::shuffle,
  vcsn::rat::type_t::star, vcsn::rat::type_t::transposition, vcsn::rat::type_t::lweight, vcsn::rat::type_t::rweight,
  vcsn::rat::type_t::complement
}
 The possible types of ratexps. More...
 

Functions

constexpr bool vcsn::rat::is_constant (type_t t)
 Whether is a constant (\z or \e). More...
 
constexpr bool vcsn::rat::is_unary (type_t t)
 Whether star, complement. More...
 
constexpr bool vcsn::rat::is_variadic (type_t t)
 Whether one of the variadic types. More...
 
std::ostream & vcsn::rat::operator<< (std::ostream &o, type_t t)
 

Macro Definition Documentation

#define DEFINE (   Node)
Value:
template <typename Context> \
class Node

Definition at line 76 of file fwd.hh.