Vcsn
2.4
Be Rational
|
#include <memory>
#include <vcsn/core/rat/identities.hh>
#include <vcsn/misc/type_traits.hh>
#include <vcsn/weightset/weightset.hh>
Go to the source code of this file.
Classes | |
class | vcsn::rat::info< ExpSet > |
Gather information of the number of the different node types. More... | |
class | vcsn::rat::printer< ExpSet > |
Pretty-printer for rational expressions. More... | |
class | vcsn::rat::atom< Context > |
class | vcsn::rat::inner< Context > |
An inner node. More... | |
class | vcsn::rat::leaf< Context > |
The root from which to derive the final node types. More... | |
class | vcsn::rat::node< Context > |
The abstract parameterized, root for all rational expression types. 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::tuple< Context, Enable > |
Implementation of nodes of tuple of rational expressions. More... | |
class | vcsn::rat::weight_node< Type, Context > |
An inner node implementing a weight. More... | |
struct | vcsn::rat::expansionset< ExpSet > |
class | vcsn::rat::expressionset_impl< Context > |
A typed expression 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::compose = variadic< type_t::compose, Context > |
template<typename Context > | |
using | vcsn::rat::conjunction = variadic< type_t::conjunction, Context > |
template<typename Context > | |
using | vcsn::rat::infiltrate = variadic< type_t::infiltrate, Context > |
template<typename Context > | |
using | vcsn::rat::ldivide = variadic< type_t::ldivide, Context > |
template<typename Context > | |
using | vcsn::rat::mul = variadic< type_t::mul, Context > |
template<typename Context > | |
using | vcsn::rat::shuffle = variadic< type_t::shuffle, Context > |
template<typename Context > | |
using | vcsn::rat::add = variadic< type_t::add, 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::expression = std::shared_ptr< const node< Context >> |
template<typename Context > | |
using | vcsn::expressionset = weightset_mixin< rat::expressionset_impl< Context >> |
template<typename ExpSet > | |
using | vcsn::expansionset = rat::expansionset< ExpSet > |
Functions | |
template<typename ExpSet > | |
info< ExpSet > | vcsn::rat::make_info (const typename ExpSet::value_t &r) |
template<typename ExpSet > | |
printer< ExpSet > | vcsn::rat::make_printer (const ExpSet &rs, std::ostream &out) |
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) |
Print a expression type. More... | |
template<typename ExpSet > | |
size_t | vcsn::rat::size (const ExpSet &rs, const typename ExpSet::value_t &r) |