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... | |
Equality operators for Structures | |
The deep equality operator between Structure instances.
The implementation for | |
template<typename S> bool | operator== (const vcsn::Structure< S > &a, const vcsn::Structure< S > &b) |
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). |
|
Check whether a value is contained in a set.
|
|
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. |