Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Operators
[Fundamental C++: the Element design pattern.]


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.


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...


Inequality operator for Structures

This operator calls equality operator of sub-class.

template<typename S> bool operator!= (const vcsn::Structure< S > &a, const vcsn::Structure< S > &b)

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 V, typename T, typename U> bool vcsn::op_eq (const Structure< S > &, const Structure< V > &, 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 V, typename T, typename U> bool vcsn::op_lt (const Structure< S > &, const Structure< V > &, 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)
 Assignement operator between two implementations of a Structure<S>.

template<typename S, typename T, typename U> void vcsn::op_assign (const Structure< S > &s1, const Structure< S > &s2, T &dst, const U &src)
 Assignement operator between two implementations of two differents structures.

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)
 Addition in place operator between two different elements.

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)
 Substraction in place operator between two different elements.

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)
 Multiplication in place operator between two different elements.

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)
 Division in place operator between two different elements.

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)
 Modulo in place operator between two different elements.

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)
 Addition operator between two different elements.

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)
 Substraction operator between two different elements.

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)
 Multiplication operator between two different elements.

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)
 Division operator between two different elements.

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)
 Modulo operator between two different elements.

template<typename S, typename St, typename T> St & vcsn::op_rin (const Structure< S > &s, St &st, const T &v)
 Input stream operator.

template<typename S, typename St, typename T> St & vcsn::op_rout (const Structure< S > &s, St &st, const T &v)
 Output stream operator.

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).


Function Documentation

bool op_contains const Structure< S > &  set,
const T &  value
 

Check whether a value is contained in a set.

op_contains is an operator appliable on every structure; this is the "is in" relation.

void swap vcsn::Element< S, T1 > &  e1,
vcsn::Element< S, T2 > &  e2
 

Swap to Element instances with the same structure.

Calling this operators is valid only if the structural elements of the two Element instances are equal.


Generated on Tue Nov 9 10:52:55 2004 for Vaucanson by doxygen 1.3.4