| 
 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. 
 
  | 
 Classes | 
| struct   | op_add_traits | 
|   | The type of the result of addition between two Element instances.  More...
 
  | 
| struct   | op_sub_traits | 
|   | The type of the result of substraction between two Element instances.  More...
 
  | 
| struct   | op_mul_traits | 
|   | The type of the result of multiplication between two Element instances.  More...
 
  | 
| struct   | op_div_traits | 
|   | The type of the result of division between two Element instances.  More...
 
  | 
| struct   | op_mod_traits | 
|   | The type of the result of modulus between two Element instances.  More...
 
  | 
 Functions | 
| template<typename S, typename T> bool  | vcsn::op_contains (const  Structure< S > &set, const  T &value) | 
|   | Check whether a value is contained in a set.  
 
  | 
| 
template<typename S, typename T, typename U> bool  | vcsn::op_eq (const  Structure< S > &, const  T &v1, const  U &v2) | 
|   | Equality between two structured values. 
 
  | 
| 
template<typename S, typename T, typename U> bool  | vcsn::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  | vcsn::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 &  | vcsn::op_convert (const  Structure< S > &se, SELECTOR(T), const  T &from_data) | 
|   | Pass-through conversion. 
 
  | 
| 
template<typename S, typename T> const  T &  | vcsn::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  | vcsn::op_default (const  Structure< S > &se, SELECTOR(T)) | 
|   | Default construction of values using Structure. 
 
  | 
| 
template<typename S, typename T> void  | vcsn::op_swap (const  Structure< S > &se, T &v1, T &v2) | 
|   | Default swap operator. 
 
  | 
| template<typename S, typename T, typename U> void  | vcsn::op_assign (const  Structure< S > &s, T &dst, const  U &src) | 
| template<typename S, typename T, typename U> void  | vcsn::op_assign (const  Structure< S > &s1, const  Structure< S > &s2, T &dst, const  U &src) | 
| template<typename S, typename T, typename U> void  | vcsn::op_in_add (const  Structure< S > &s1, const  Structure< S > &s2, T &dst, const  U &arg) | 
| template<typename S, typename T, typename U> void  | vcsn::op_in_sub (const  Structure< S > &s1, const  Structure< S > &s2, T &dst, const  U &arg) | 
| template<typename S, typename T, typename U> void  | vcsn::op_in_mul (const  Structure< S > &s1, const  Structure< S > &s2, T &dst, const  U &arg) | 
| template<typename S, typename T, typename U> void  | vcsn::op_in_div (const  Structure< S > &s1, const  Structure< S > &s2, T &dst, const  U &arg) | 
| template<typename S, typename T, typename U> void  | vcsn::op_in_mod (const  Structure< S > &s1, const  Structure< S > &s2, T &dst, const  U &arg) | 
| template<typename S, typename T, typename U> T  | vcsn::op_add (const  Structure< S > &s1, const  Structure< S > &s2, const  T &v1, const  U &v2) | 
| template<typename S, typename T, typename U> T  | vcsn::op_sub (const  Structure< S > &s1, const  Structure< S > &s2, const  T &v1, const  U &v2) | 
| template<typename S, typename T, typename U> T  | vcsn::op_mul (const  Structure< S > &s1, const  Structure< S > &s2, const  T &v1, const  U &v2) | 
| template<typename S, typename T, typename U> T  | vcsn::op_div (const  Structure< S > &s1, const  Structure< S > &s2, const  T &v1, const  U &v2) | 
| template<typename S, typename T, typename U> T  | vcsn::op_mod (const  Structure< S > &s1, const  Structure< S > &s2, const  T &v1, const  U &v2) | 
| template<typename S, typename St, typename T> St &  | vcsn::op_rin (const  Structure< S > &s, St &st, const  T &v) | 
| template<typename S, typename St, typename T> St &  | vcsn::op_rout (const  Structure< S > &s, St &st, const  T &v) | 
| 
template<typename S1, typename T1, typename S2, typename T2> bool  | vcsn::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  | vcsn::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  | vcsn::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  | vcsn::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  | vcsn::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  | vcsn::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  | vcsn::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  | vcsn::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  | vcsn::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  | vcsn::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  | vcsn::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  | vcsn::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  | vcsn::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  | vcsn::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  | vcsn::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  | vcsn::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  | vcsn::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  | vcsn::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  | vcsn::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 >  | vcsn::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 >  | vcsn::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  | vcsn::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 >  | vcsn::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 >  | vcsn::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  | vcsn::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 >  | vcsn::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 >  | vcsn::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  | vcsn::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 >  | vcsn::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 >  | vcsn::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  | vcsn::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 >  | vcsn::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 >  | vcsn::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 >  | vcsn::operator- (const  vcsn::Element< S, T > &) | 
|   | Unary negation of Element instances. 
 
  | 
| 
template<typename St, typename S, typename T> St &  | vcsn::operator<< (St &s, const  vcsn::Element< S, T > &e) | 
|   | Output to stream. 
 
  | 
| 
template<typename St, typename S, typename T> St &  | vcsn::operator>> (St &s, const  vcsn::Element< S, T > &e) | 
|   | Input from stream. 
 
  | 
| template<typename S, typename T1, typename T2> void  | std::swap (vcsn::Element< S, T1 > &e1, vcsn::Element< S, T2 > &e2) | 
|   | Swap to Element instances with the same structure.  
 
  | 
| 
template<typename S, typename T> void  | std::swap (vcsn::Element< S, T > &e1, T &v2) | 
|   | Swap between Element and foreign values (left). 
 
  | 
| 
template<typename T, typename S> void  | std::swap (T &v1, vcsn::Element< S, T > &e2) | 
|   | Swap between Element and foreign values (right). 
 
  |