AFF --- A container for numbers (array) by Friederich and Forbriger.
operators.h File Reference

provide operators for iteratable objects (prototypes) More...

#include <aff/iterator.h>
Include dependency graph for operators.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 aff
 Root namespace of library.
 

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 T >
AFF_OPERATORS_CLASS< T > aff::operator+ (const AFF_OPERATORS_CONSTCLASS< T > &container, typename AFF_OPERATORS_CONSTCLASS< T > ::Tconst_reference value)
 
template<class T >
AFF_OPERATORS_CLASS< T > aff::operator+ (typename AFF_OPERATORS_CONSTCLASS< T > ::Tconst_reference value, const AFF_OPERATORS_CONSTCLASS< T > &container)
 
template<class T >
AFF_OPERATORS_CLASS< T > aff::operator* (const AFF_OPERATORS_CONSTCLASS< T > &container, typename AFF_OPERATORS_CONSTCLASS< T > ::Tconst_reference value)
 
template<class T >
AFF_OPERATORS_CLASS< T > aff::operator* (typename AFF_OPERATORS_CONSTCLASS< T > ::Tconst_reference value, const AFF_OPERATORS_CONSTCLASS< T > &container)
 
template<class T >
AFF_OPERATORS_CLASS< T > aff::operator/ (const AFF_OPERATORS_CONSTCLASS< T > &container, typename AFF_OPERATORS_CONSTCLASS< T > ::Tconst_reference value)
 
template<class T >
AFF_OPERATORS_CLASS< T > aff::operator/ (typename AFF_OPERATORS_CONSTCLASS< T > ::Tconst_reference value, const AFF_OPERATORS_CONSTCLASS< T > &container)
 
template<class T >
AFF_OPERATORS_CLASS< T > aff::operator- (const AFF_OPERATORS_CONSTCLASS< T > &container, typename AFF_OPERATORS_CONSTCLASS< T > ::Tconst_reference value)
 
template<class T >
AFF_OPERATORS_CLASS< T > aff::operator- (typename AFF_OPERATORS_CONSTCLASS< T > ::Tconst_reference value, const AFF_OPERATORS_CONSTCLASS< T > &container)
 
#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+ (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_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...
 
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...
 

Detailed Description

provide operators for iteratable objects (prototypes)


Author
Thomas Forbriger
Date
10/02/2004

provide operators for iteratable objects (prototypes)


This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software

Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

Copyright (c) 2004 by Thomas Forbriger (BFO Schiltach)

REVISIONS and CHANGES

  • 10/02/2004 V1.0 Thomas Forbriger
  • 05/07/2005 V1.1 support modification of data in containers that are declared const
  • 15/05/2011 V1.2 added group name (thof)

Definition in file operators.h.