Files | 
| file   | default_ops.hh | 
|   | Default implementations for standard Element operations.
 
  | 
| file   | element_op_traits.hh | 
|   | Declaration of default arithmetical operator traits for Element.
 
  | 
| file   | element_ops.hh | 
|   | Declarations of standard external operator delegations for Element.
 
  | 
| file   | element_ops.hxx | 
|   | Implementations of external operators standard delegations for Element.
 
  | 
 Compounds | 
| struct   | vcsn::op_add_traits | 
|   | The type of the result of addition between two Element instances. More...
 
  | 
| struct   | vcsn::op_sub_traits | 
|   | The type of the result of substraction between two Element instances. More...
 
  | 
| struct   | vcsn::op_mul_traits | 
|   | The type of the result of multiplication between two Element instances. More...
 
  | 
| struct   | vcsn::op_div_traits | 
|   | The type of the result of division between two Element instances. More...
 
  | 
| struct   | vcsn::op_mod_traits | 
|   | The type of the result of modulus between two Element instances. More...
 
  | 
 Functions | 
| template<typename S, typename T> bool  | op_contains (const Structure< S > &set, const T &value) | 
|   | Check whether a value is contained in a set. More...
 
  | 
| 
template<typename S, typename T, typename U> bool  | op_eq (const Structure< S > &, const T &v1, const U &v2) | 
|   | Equality between two structured values.
 
  | 
| 
template<typename S, typename T, typename U> bool  | op_lt (const Structure< S > &, const T &v1, const U &v2) | 
|   | Ordered comparison between two structured values.
 
  | 
| 
template<typename S, typename R, typename T> R  | op_convert (const Structure< S > &se, SELECTOR(R), const T &data) | 
|   | Default conversion between value types with computation.
 
  | 
| 
template<typename S, typename T> const T &  | op_convert (const Structure< S > &se, SELECTOR(T), const T &from_data) | 
|   | Pass-through conversion.
 
  | 
| 
template<typename S, typename T> const T &  | op_convert (const Structure< S > &se, SELECTOR(T), const Structure< S > &from_se, const T &from_data) | 
|   | Pass-through conversion between compatible structures.
 
  | 
| 
template<typename S, typename T> T  | op_default (const Structure< S > &se, SELECTOR(T)) | 
|   | Default construction of values using Structure.
 
  | 
| 
template<typename S, typename T> void  | op_swap (const Structure< S > &se, T &v1, T &v2) | 
|   | Default swap operator.
 
  | 
| template<typename S, typename T, typename U> void  | op_assign (const Structure< S > &s, T &dst, const U &src) | 
| template<typename S, typename T, typename U> void  | op_assign (const Structure< S > &s1, const Structure< S > &s2, T &dst, const U &src) | 
| template<typename S, typename T, typename U> void  | op_in_add (const Structure< S > &s1, const Structure< S > &s2, T &dst, const U &arg) | 
| template<typename S, typename T, typename U> void  | op_in_sub (const Structure< S > &s1, const Structure< S > &s2, T &dst, const U &arg) | 
| template<typename S, typename T, typename U> void  | op_in_mul (const Structure< S > &s1, const Structure< S > &s2, T &dst, const U &arg) | 
| template<typename S, typename T, typename U> void  | op_in_div (const Structure< S > &s1, const Structure< S > &s2, T &dst, const U &arg) | 
| template<typename S, typename T, typename U> void  | op_in_mod (const Structure< S > &s1, const Structure< S > &s2, T &dst, const U &arg) | 
| template<typename S, typename T, typename U> T  | op_add (const Structure< S > &s1, const Structure< S > &s2, const T &v1, const U &v2) | 
| template<typename S, typename T, typename U> T  | op_sub (const Structure< S > &s1, const Structure< S > &s2, const T &v1, const U &v2) | 
| template<typename S, typename T, typename U> T  | op_mul (const Structure< S > &s1, const Structure< S > &s2, const T &v1, const U &v2) | 
| template<typename S, typename T, typename U> T  | op_div (const Structure< S > &s1, const Structure< S > &s2, const T &v1, const U &v2) | 
| template<typename S, typename T, typename U> T  | op_mod (const Structure< S > &s1, const Structure< S > &s2, const T &v1, const U &v2) | 
| template<typename S, typename St, typename T> St &  | op_rin (const Structure< S > &s, St &st, const T &v) | 
| template<typename S, typename St, typename T> St &  | op_rout (const Structure< S > &s, St &st, const T &v) | 
| 
template<typename S1, typename T1, typename S2, typename T2> bool  | operator< (const vcsn::Element< S1, T1 > &e1, const vcsn::Element< S2, T2 > &e2) | 
|   | Comparison between Element instances.
 
  | 
| 
template<typename S1, typename T1, typename S2, typename T2> bool  | operator> (const vcsn::Element< S1, T1 > &e1, const vcsn::Element< S2, T2 > &e2) | 
|   | Comparison between Element instances.
 
  | 
| 
template<typename S1, typename T1, typename S2, typename T2> bool  | operator<= (const vcsn::Element< S1, T1 > &e1, const vcsn::Element< S2, T2 > &e2) | 
|   | Comparison between Element instances.
 
  | 
| 
template<typename S1, typename T1, typename S2, typename T2> bool  | operator>= (const vcsn::Element< S1, T1 > &e1, const vcsn::Element< S2, T2 > &e2) | 
|   | Comparison between Element instances.
 
  | 
| 
template<typename S, typename T, typename U> bool  | operator< (const vcsn::Element< S, T > &e, const U &v) | 
|   | Comparison between Element and foreign values (left version).
 
  | 
| 
template<typename S, typename T, typename U> bool  | operator> (const vcsn::Element< S, T > &e, const U &v) | 
|   | Comparison between Element and foreign values (left version).
 
  | 
| 
template<typename S, typename T, typename U> bool  | operator>= (const vcsn::Element< S, T > &e, const U &v) | 
|   | Comparison between Element and foreign values (left version).
 
  | 
| 
template<typename S, typename T, typename U> bool  | operator<= (const vcsn::Element< S, T > &e, const U &v) | 
|   | Comparison between Element and foreign values (left version).
 
  | 
| 
template<typename U, typename S, typename T> bool  | operator< (const U &v, const vcsn::Element< S, T > &e) | 
|   | Comparison between Element and foreign values (right version).
 
  | 
| 
template<typename U, typename S, typename T> bool  | operator> (const U &v, const vcsn::Element< S, T > &e) | 
|   | Comparison between Element and foreign values (right version).
 
  | 
| 
template<typename U, typename S, typename T> bool  | operator>= (const U &v, const vcsn::Element< S, T > &e) | 
|   | Comparison between Element and foreign values (right version).
 
  | 
| 
template<typename U, typename S, typename T> bool  | operator<= (const U &v, const vcsn::Element< S, T > &e) | 
|   | Comparison between Element and foreign values (right version).
 
  | 
| 
template<typename S1, typename T1, typename S2, typename T2> bool  | operator== (const vcsn::Element< S1, T1 > &e1, const vcsn::Element< S2, T2 > &e2) | 
|   | Equality between Element instances.
 
  | 
| 
template<typename S, typename T, typename U> bool  | operator== (const vcsn::Element< S, T > &e, const U &v) | 
|   | Equality between Element and foreign values (left version).
 
  | 
| 
template<typename U, typename S, typename T> bool  | operator== (const U &v, const vcsn::Element< S, T > &e) | 
|   | Equality between Element and foreign values (right version).
 
  | 
| 
template<typename S1, typename T1, typename S2, typename T2> bool  | operator!= (const vcsn::Element< S1, T1 > &e1, const vcsn::Element< S2, T2 > &e2) | 
|   | Difference between Element instances.
 
  | 
| 
template<typename S, typename T, typename U> bool  | operator!= (const vcsn::Element< S, T > &e, const U &v) | 
|   | Difference between Element and foreign values (left version).
 
  | 
| 
template<typename U, typename S, typename T> bool  | operator!= (const U &v, const vcsn::Element< S, T > &e) | 
|   | Difference between Element and foreign values (right version).
 
  | 
template<typename S1, typename T1, typename S2, typename T2> vcsn::op_add_traits< S1, S2, 
 T1, T2 >::ret_t  | operator+ (const vcsn::Element< S1, T1 > &e1, const vcsn::Element< S2, T2 > &e2) | 
|   | Addition between Element instances.
 
  | 
| 
template<typename S, typename T, typename U> vcsn::Element< S, T >  | operator+ (const vcsn::Element< S, T > &e, const U &v) | 
|   | Addition between Element and foreign values (left).
 
  | 
| 
template<typename U, typename S, typename T> vcsn::Element< S, T >  | operator+ (const U &v, const vcsn::Element< S, T > &e) | 
|   | Addition between Element and foreign values (right).
 
  | 
template<typename S1, typename T1, typename S2, typename T2> vcsn::op_sub_traits< S1, S2, 
 T1, T2 >::ret_t  | operator- (const vcsn::Element< S1, T1 > &e1, const vcsn::Element< S2, T2 > &e2) | 
|   | Substraction between Element instances.
 
  | 
| 
template<typename S, typename T, typename U> vcsn::Element< S, T >  | operator- (const vcsn::Element< S, T > &e, const U &v) | 
|   | Substraction between Element and foreign values (left).
 
  | 
| 
template<typename U, typename S, typename T> vcsn::Element< S, T >  | operator- (const U &v, const vcsn::Element< S, T > &e) | 
|   | Substraction between Element and foreign values (right).
 
  | 
template<typename S1, typename T1, typename S2, typename T2> vcsn::op_mul_traits< S1, S2, 
 T1, T2 >::ret_t  | operator * (const vcsn::Element< S1, T1 > &e1, const vcsn::Element< S2, T2 > &e2) | 
|   | Multiplication between Element instances.
 
  | 
| 
template<typename S, typename T, typename U> vcsn::Element< S, T >  | operator * (const vcsn::Element< S, T > &e, const U &v) | 
|   | Multiplication between Element and foreign values (left).
 
  | 
| 
template<typename U, typename S, typename T> vcsn::Element< S, T >  | operator * (const U &v, const vcsn::Element< S, T > &e) | 
|   | Multiplication between Element and foreign values (right).
 
  | 
template<typename S1, typename T1, typename S2, typename T2> vcsn::op_div_traits< S1, S2, 
 T1, T2 >::ret_t  | operator/ (const vcsn::Element< S1, T1 > &e1, const vcsn::Element< S2, T2 > &e2) | 
|   | Division between Element instances.
 
  | 
| 
template<typename S, typename T, typename U> vcsn::Element< S, T >  | operator/ (const vcsn::Element< S, T > &e, const U &v) | 
|   | Division between Element and foreign values (left).
 
  | 
| 
template<typename U, typename S, typename T> vcsn::Element< S, T >  | operator/ (const U &v, const vcsn::Element< S, T > &e) | 
|   | Division between Element and foreign values (right).
 
  | 
template<typename S1, typename T1, typename S2, typename T2> vcsn::op_mod_traits< S1, S2, 
 T1, T2 >::ret_t  | operator% (const vcsn::Element< S1, T1 > &e1, const vcsn::Element< S2, T2 > &e2) | 
|   | Modulus between Element instances.
 
  | 
| 
template<typename S, typename T, typename U> vcsn::Element< S, T >  | operator% (const vcsn::Element< S, T > &e, const U &v) | 
|   | Modulus between Element and foreign values (left).
 
  | 
| 
template<typename U, typename S, typename T> vcsn::Element< S, T >  | operator% (const U &v, const vcsn::Element< S, T > &e) | 
|   | Modulus between Element and foreign values (right.
 
  | 
| 
template<typename S, typename T> vcsn::Element< S, T >  | operator- (const vcsn::Element< S, T > &) | 
|   | Unary negation of Element instances.
 
  | 
| 
template<typename St, typename S, typename T> St &  | operator<< (St &s, const vcsn::Element< S, T > &e) | 
|   | Output to stream.
 
  | 
| 
template<typename St, typename S, typename T> St &  | operator>> (St &s, const vcsn::Element< S, T > &e) | 
|   | Input from stream.
 
  | 
| template<typename S, typename T1, typename T2> void  | swap (vcsn::Element< S, T1 > &e1, vcsn::Element< S, T2 > &e2) | 
|   | Swap to Element instances with the same structure. More...
 
  | 
| 
template<typename S, typename T> void  | swap (vcsn::Element< S, T > &e1, T &v2) | 
|   | Swap between Element and foreign values (left).
 
  | 
| 
template<typename T, typename S> void  | swap (T &v1, vcsn::Element< S, T > &e2) | 
|   | Swap between Element and foreign values (right).
 
  |