Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound 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.

file  element_ops.hxx
 Implementations of external operators standard delegations for Element.


Compounds

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

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


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 op_assign const Structure< S > &  s,
T &  dst,
const U &  src
 

assignement operator between two implementations of a Structure<S>.

void op_assign const Structure< S > &  s1,
const Structure< S > &  s2,
T &  dst,
const U &  src
 

assignement operator between two implementations of two differents structures.

void op_in_add const Structure< S > &  s1,
const Structure< S > &  s2,
T &  dst,
const U &  arg
 

addition in place operator between two different elements.

void op_in_sub const Structure< S > &  s1,
const Structure< S > &  s2,
T &  dst,
const U &  arg
 

substraction in place operator between two different elements.

void op_in_mul const Structure< S > &  s1,
const Structure< S > &  s2,
T &  dst,
const U &  arg
 

multiplication in place operator between two different elements.

void op_in_div const Structure< S > &  s1,
const Structure< S > &  s2,
T &  dst,
const U &  arg
 

division in place operator between two different elements.

void op_in_mod const Structure< S > &  s1,
const Structure< S > &  s2,
T &  dst,
const U &  arg
 

modulo in place operator between two different elements.

T op_add const Structure< S > &  s1,
const Structure< S > &  s2,
const T &  v1,
const U &  v2
 

addition operator between two different elements.

T op_sub const Structure< S > &  s1,
const Structure< S > &  s2,
const T &  v1,
const U &  v2
 

substraction operator between two different elements.

T op_mul const Structure< S > &  s1,
const Structure< S > &  s2,
const T &  v1,
const U &  v2
 

multiplication operator between two different elements.

T op_div const Structure< S > &  s1,
const Structure< S > &  s2,
const T &  v1,
const U &  v2
 

division operator between two different elements.

T op_mod const Structure< S > &  s1,
const Structure< S > &  s2,
const T &  v1,
const U &  v2
 

modulo operator between two different elements.

St& op_rin const Structure< S > &  s,
St &  st,
const T &  v
 

input stream operator.

St& op_rout const Structure< S > &  s,
St &  st,
const T &  v
 

output stream operator.

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 Fri Jul 11 19:43:39 2003 for Vaucanson by doxygen 1.3.2