AFF --- A container for numbers (array) by Friederich and Forbriger.
Container operators

Container operatorsOperators for containers are defined through a macro expansion mechanism, since the basic algorithm is the same for all containers. We make use of iterators to traverse the elements of the containers. More...

Macros

#define AFF_OPERATORS_TEMPAR   T
 Basic macro type definitions for operators (see details).The macros. More...
 
#define AFF_OPERATORS_CONT   AFF_OPERATORS_CLASS< AFF_OPERATORS_TEMPAR >
 
#define AFF_OPERATORS_CONSTCONT   AFF_OPERATORS_CONSTCLASS< AFF_OPERATORS_TEMPAR >
 
#define AFF_OPERATORS_UNOP(CONT, OP)
 unary operator macro for containers with common value type More...
 
#define AFF_OPERATORS_BINOP(RETCONT, INCONT, OP)
 binary operator macro for containers with common value type More...
 
#define AFF_OPERATORS_UNOPB(RETCONT, INCONT, OP)
 unary operator macro for containers with different value type More...
 
#define AFF_OPERATORS_BINOPB(RETCONT, INCONT, OP)
 binary operator macro for containers with different value type More...
 

Functions

template<class T >
const AFF_OPERATORS_CLASS< T > & aff::operator+= (const AFF_OPERATORS_CLASS< T > &container, typename AFF_OPERATORS_CLASS< T > ::Tconst_reference value)
 
template<class T >
const AFF_OPERATORS_CLASS< T > & aff::operator*= (const AFF_OPERATORS_CLASS< T > &container, typename AFF_OPERATORS_CLASS< T > ::Tconst_reference value)
 
template<class T >
const AFF_OPERATORS_CLASS< T > & aff::operator/= (const AFF_OPERATORS_CLASS< T > &container, typename AFF_OPERATORS_CLASS< T > ::Tconst_reference value)
 
template<class T >
const AFF_OPERATORS_CLASS< T > & aff::operator-= (const AFF_OPERATORS_CLASS< T > &container, typename AFF_OPERATORS_CLASS< T > ::Tconst_reference value)
 
template<class A , class B >
AFF_OPERATORS_CLASS< A > aff::operator+ (const AFF_OPERATORS_CONSTCLASS< A > &container1, const AFF_OPERATORS_CONSTCLASS< B > &container2)
 binary operatorsThis makes use of AFF_OPERATORS_THEBINOP and AFF_OPERATORS_BINOP More...
 
template<class A , class B >
AFF_OPERATORS_CLASS< A > aff::operator* (const AFF_OPERATORS_CONSTCLASS< A > &container1, const AFF_OPERATORS_CONSTCLASS< B > &container2)
 binary operatorsThis makes use of AFF_OPERATORS_THEBINOP and AFF_OPERATORS_BINOP More...
 
template<class A , class B >
AFF_OPERATORS_CLASS< A > aff::operator/ (const AFF_OPERATORS_CONSTCLASS< A > &container1, const AFF_OPERATORS_CONSTCLASS< B > &container2)
 binary operatorsThis makes use of AFF_OPERATORS_THEBINOP and AFF_OPERATORS_BINOP More...
 
template<class A , class B >
AFF_OPERATORS_CLASS< A > aff::operator- (const AFF_OPERATORS_CONSTCLASS< A > &container1, const AFF_OPERATORS_CONSTCLASS< B > &container2)
 binary operatorsThis makes use of AFF_OPERATORS_THEBINOP and AFF_OPERATORS_BINOP More...
 
#define AFF_OPERATORS_THEBINOP(OP)   AFF_OPERATORS_BINOP( AFF_OPERATORS_CONT , AFF_OPERATORS_CONSTCONT, OP )
 binary operatorsThis makes use of AFF_OPERATORS_THEBINOP and AFF_OPERATORS_BINOP More...
 
#define AFF_OPERATORS_THEBINOP(OP)   AFF_OPERATORS_BINOPB( AFF_OPERATORS_CLASS , AFF_OPERATORS_CONSTCLASS , OP )
 binary operatorsThis makes use of AFF_OPERATORS_THEBINOP and AFF_OPERATORS_BINOP More...
 
template<class A , class B >
AFF_OPERATORS_CLASS< A > & aff::operator+= (AFF_OPERATORS_CLASS< A > &container1, const AFF_OPERATORS_CONSTCLASS< B > &container2)
 unary operatorsThis makes use of AFF_OPERATORS_THEUNOP and AFF_OPERATORS_UNOP More...
 
template<class A , class B >
AFF_OPERATORS_CLASS< A > & aff::operator*= (AFF_OPERATORS_CLASS< A > &container1, const AFF_OPERATORS_CONSTCLASS< B > &container2)
 unary operatorsThis makes use of AFF_OPERATORS_THEUNOP and AFF_OPERATORS_UNOP More...
 
template<class A , class B >
AFF_OPERATORS_CLASS< A > & aff::operator/= (AFF_OPERATORS_CLASS< A > &container1, const AFF_OPERATORS_CONSTCLASS< B > &container2)
 unary operatorsThis makes use of AFF_OPERATORS_THEUNOP and AFF_OPERATORS_UNOP More...
 
template<class A , class B >
AFF_OPERATORS_CLASS< A > & aff::operator-= (AFF_OPERATORS_CLASS< A > &container1, const AFF_OPERATORS_CONSTCLASS< B > &container2)
 unary operatorsThis makes use of AFF_OPERATORS_THEUNOP and AFF_OPERATORS_UNOP More...
 
#define AFF_OPERATORS_THEUNOP(OP)   AFF_OPERATORS_UNOP( AFF_OPERATORS_CONT , OP )
 unary operatorsThis makes use of AFF_OPERATORS_THEUNOP and AFF_OPERATORS_UNOP More...
 
#define AFF_OPERATORS_THEUNOP(OP)   AFF_OPERATORS_UNOPB( AFF_OPERATORS_CLASS , AFF_OPERATORS_CONSTCLASS , OP )
 unary operatorsThis makes use of AFF_OPERATORS_THEUNOP and AFF_OPERATORS_UNOP More...
 

Detailed Description

Container operators

Operators for containers are defined through a macro expansion mechanism, since the basic algorithm is the same for all containers. We make use of iterators to traverse the elements of the containers.