142         return std::max(i1, i2);
 static type join(rat::identities i1, rat::identities i2)
 
Associative plus commutativity, and "idempotence" for add. 
 
bool is_linear() const
Whether linear identities are on. 
 
bool is_trivial() const
Whether trivial identities are on. 
 
Linear plus distribution. Used for series identities. 
 
An expressionset can implement several different sets of identities on expressions. 
 
std::ostringstream os
The output stream: the corresponding C++ snippet to compile. 
 
A structure that implements the computation of join(V1, V2). 
 
bool operator!=(self_t that) const
 
identities(ids_t id=deflt)
 
Distributive plus optimizations. 
 
bool is_associative() const
Whether associative identities are on. 
 
bool is_distributive() const
Whether distributive identities are on. 
 
identities meet(identities i1, identities i2)
More restricted of these identities (min). 
 
Trivial, plus associativity of add and product. 
 
bool operator==(self_t that) const
 
::vcsn::rat::identities identities
Sets of identities on expressions. 
 
bool operator<(self_t that) const
 
std::istream & operator>>(std::istream &is, identities &i)
Read from string form. 
 
std::string to_string(identities i)
Wrapper around operator<<. 
 
std::ostream & operator<<(std::ostream &o, type_t t)
Print a expression type. 
 
Strictly obey to the syntax. 
 
bool is_agressive() const
Whether agressive optimizations are on.