OpenGM  2.3.x
Discrete Graphical Model Library
Classes | Namespaces | Macros | Enumerations | Functions | Variables
marray.hxx File Reference
#include <cassert>
#include <cstddef>
#include <stdexcept>
#include <limits>
#include <string>
#include <sstream>
#include <cstring>
#include <iterator>
#include <vector>
#include <set>
#include <iostream>
#include <memory>
#include <numeric>
+ Include dependency graph for marray.hxx:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  marray::InitializationSkipping
 Flag to indicate initialization skipping. More...
 
class  marray::ViewExpression< E, T >
 
class  marray::View< T, isConst, A >
 Array-Interface to an interval of memory. More...
 
class  marray::Iterator< T, isConst, A >
 STL-compliant random access iterator for View and Marray. More...
 
class  marray::Vector< T, A >
 One-dimensional Marray. More...
 
class  marray::Matrix< T, A >
 Two-dimensional Marray. More...
 
class  marray::Marray< T, A >
 Runtime-flexible multi-dimensional array. More...
 
class  marray::View< T, isConst, A >
 Array-Interface to an interval of memory. More...
 
class  marray::Iterator< T, isConst, A >
 STL-compliant random access iterator for View and Marray. More...
 
class  marray::Marray< T, A >
 Runtime-flexible multi-dimensional array. More...
 
class  marray::Vector< T, A >
 One-dimensional Marray. More...
 
class  marray::Matrix< T, A >
 Two-dimensional Marray. More...
 
class  marray::ViewExpression< E, T >
 

Namespaces

 marray
 Runtime-flexible multi-dimensional views and arrays.
 

Macros

#define MARRAY_HXX
 
#define MARRAY_UNARY_OPERATOR(datatype, operation, functorname)
 
#define MARRAY_UNARY_OPERATOR_ALL_TYPES(op, functorname)
 
#define MARRAY_BINARY_OPERATOR(datatype, operation, functorname)
 
#define MARRAY_BINARY_OPERATOR_ALL_TYPES(op, functorname)
 

Enumerations

enum  marray::StringStyle { marray::TableStyle, marray::MatrixStyle }
 
enum  marray::CoordinateOrder { marray::FirstMajorOrder, marray::LastMajorOrder }
 

Functions

template<class T1 , class T2 , bool isConst, class A >
View< T1, false, A > & marray::operator+= (View< T1, false, A > &v, const View< T2, isConst, A > &w)
 
template<class T , class A >
View< T, false, A > & marray::operator++ (View< T, false, A > &v)
 
template<class T , class A >
Marray< T, A > marray::operator++ (Marray< T, A > &in, int dummy)
 
template<class T1 , class T2 , bool isConst, class A >
View< T1, false, A > & marray::operator-= (View< T1, false, A > &v, const View< T2, isConst, A > &w)
 
template<class T , class A >
View< T, false, A > & marray::operator-- (View< T, false, A > &v)
 
template<class T , class A >
Marray< T, A > marray::operator-- (Marray< T, A > &in, int dummy)
 
template<class T1 , class T2 , bool isConst, class A >
View< T1, false, A > & marray::operator*= (View< T1, false, A > &v, const View< T2, isConst, A > &w)
 
template<class T1 , class T2 , bool isConst, class A >
View< T1, false, A > & marray::operator/= (View< T1, false, A > &v, const View< T2, isConst, A > &w)
 
template<class E1 , class T1 , class E2 , class T2 >
const BinaryViewExpression< E1, T1, E2, T2, marray_detail::Plus< T1, T2, typename marray_detail::PromoteType< T1, T2 >::type > > marray::operator+ (const ViewExpression< E1, T1 > &expression1, const ViewExpression< E2, T2 > &expression2)
 
template<class E , class T >
const ViewExpression< E, T > & marray::operator+ (const ViewExpression< E, T > &expression)
 
template<class T , class A >
View< T, false, A > & marray::operator+= (View< T, false, A > &v, const char &x)
 
template<class T , class A >
View< T, false, A > & marray::operator+= (View< T, false, A > &v, const unsigned char &x)
 
template<class T , class A >
View< T, false, A > & marray::operator+= (View< T, false, A > &v, const short &x)
 
template<class T , class A >
View< T, false, A > & marray::operator+= (View< T, false, A > &v, const unsigned short &x)
 
template<class T , class A >
View< T, false, A > & marray::operator+= (View< T, false, A > &v, const int &x)
 
template<class T , class A >
View< T, false, A > & marray::operator+= (View< T, false, A > &v, const unsigned int &x)
 
template<class T , class A >
View< T, false, A > & marray::operator+= (View< T, false, A > &v, const long &x)
 
template<class T , class A >
View< T, false, A > & marray::operator+= (View< T, false, A > &v, const unsigned long &x)
 
template<class T , class A >
View< T, false, A > & marray::operator+= (View< T, false, A > &v, const float &x)
 
template<class T , class A >
View< T, false, A > & marray::operator+= (View< T, false, A > &v, const double &x)
 
template<class T , class A >
View< T, false, A > & marray::operator+= (View< T, false, A > &v, const long double &x)
 
template<class T , class A >
View< T, false, A > & marray::operator-= (View< T, false, A > &v, const char &x)
 
template<class T , class A >
View< T, false, A > & marray::operator-= (View< T, false, A > &v, const unsigned char &x)
 
template<class T , class A >
View< T, false, A > & marray::operator-= (View< T, false, A > &v, const short &x)
 
template<class T , class A >
View< T, false, A > & marray::operator-= (View< T, false, A > &v, const unsigned short &x)
 
template<class T , class A >
View< T, false, A > & marray::operator-= (View< T, false, A > &v, const int &x)
 
template<class T , class A >
View< T, false, A > & marray::operator-= (View< T, false, A > &v, const unsigned int &x)
 
template<class T , class A >
View< T, false, A > & marray::operator-= (View< T, false, A > &v, const long &x)
 
template<class T , class A >
View< T, false, A > & marray::operator-= (View< T, false, A > &v, const unsigned long &x)
 
template<class T , class A >
View< T, false, A > & marray::operator-= (View< T, false, A > &v, const float &x)
 
template<class T , class A >
View< T, false, A > & marray::operator-= (View< T, false, A > &v, const double &x)
 
template<class T , class A >
View< T, false, A > & marray::operator-= (View< T, false, A > &v, const long double &x)
 
template<class T , class A >
View< T, false, A > & marray::operator*= (View< T, false, A > &v, const char &x)
 
template<class T , class A >
View< T, false, A > & marray::operator*= (View< T, false, A > &v, const unsigned char &x)
 
template<class T , class A >
View< T, false, A > & marray::operator*= (View< T, false, A > &v, const short &x)
 
template<class T , class A >
View< T, false, A > & marray::operator*= (View< T, false, A > &v, const unsigned short &x)
 
template<class T , class A >
View< T, false, A > & marray::operator*= (View< T, false, A > &v, const int &x)
 
template<class T , class A >
View< T, false, A > & marray::operator*= (View< T, false, A > &v, const unsigned int &x)
 
template<class T , class A >
View< T, false, A > & marray::operator*= (View< T, false, A > &v, const long &x)
 
template<class T , class A >
View< T, false, A > & marray::operator*= (View< T, false, A > &v, const unsigned long &x)
 
template<class T , class A >
View< T, false, A > & marray::operator*= (View< T, false, A > &v, const float &x)
 
template<class T , class A >
View< T, false, A > & marray::operator*= (View< T, false, A > &v, const double &x)
 
template<class T , class A >
View< T, false, A > & marray::operator*= (View< T, false, A > &v, const long double &x)
 
template<class T , class A >
View< T, false, A > & marray::operator/= (View< T, false, A > &v, const char &x)
 
template<class T , class A >
View< T, false, A > & marray::operator/= (View< T, false, A > &v, const unsigned char &x)
 
template<class T , class A >
View< T, false, A > & marray::operator/= (View< T, false, A > &v, const short &x)
 
template<class T , class A >
View< T, false, A > & marray::operator/= (View< T, false, A > &v, const unsigned short &x)
 
template<class T , class A >
View< T, false, A > & marray::operator/= (View< T, false, A > &v, const int &x)
 
template<class T , class A >
View< T, false, A > & marray::operator/= (View< T, false, A > &v, const unsigned int &x)
 
template<class T , class A >
View< T, false, A > & marray::operator/= (View< T, false, A > &v, const long &x)
 
template<class T , class A >
View< T, false, A > & marray::operator/= (View< T, false, A > &v, const unsigned long &x)
 
template<class T , class A >
View< T, false, A > & marray::operator/= (View< T, false, A > &v, const float &x)
 
template<class T , class A >
View< T, false, A > & marray::operator/= (View< T, false, A > &v, const double &x)
 
template<class T , class A >
View< T, false, A > & marray::operator/= (View< T, false, A > &v, const long double &x)
 
template<class E1 , class T1 , class E2 , class T2 >
const BinaryViewExpression< E1, T1, E2, T2, marray_detail::Minus< T1, T2, typename marray_detail::PromoteType< T1, T2 >::type > > marray::operator- (const ViewExpression< E1, T1 > &expression1, const ViewExpression< E2, T2 > &expression2)
 
template<class E , class T >
const UnaryViewExpression< E, T, marray_detail::Negate< T > > marray::operator- (const ViewExpression< E, T > &expression)
 
template<class E1 , class T1 , class E2 , class T2 >
const BinaryViewExpression< E1, T1, E2, T2, marray_detail::Times< T1, T2, typename marray_detail::PromoteType< T1, T2 >::type > > marray::operator* (const ViewExpression< E1, T1 > &expression1, const ViewExpression< E2, T2 > &expression2)
 
template<class E1 , class T1 , class E2 , class T2 >
const BinaryViewExpression< E1, T1, E2, T2, marray_detail::DividedBy< T1, T2, typename marray_detail::PromoteType< T1, T2 >::type > > marray::operator/ (const ViewExpression< E1, T1 > &expression1, const ViewExpression< E2, T2 > &expression2)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, char, marray_detail::Plus< T, char, typename marray_detail::PromoteType< T, char >::type > > marray::operator+ (const ViewExpression< E, T > &expression, const char &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, char, marray_detail::Plus< char, T, typename marray_detail::PromoteType< char, T >::type > > marray::operator+ (const char &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, unsigned char, marray_detail::Plus< T, unsigned char, typename marray_detail::PromoteType< T, unsigned char >::type > > marray::operator+ (const ViewExpression< E, T > &expression, const unsigned char &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, unsigned char, marray_detail::Plus< unsigned char, T, typename marray_detail::PromoteType< unsigned char, T >::type > > marray::operator+ (const unsigned char &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, short, marray_detail::Plus< T, short, typename marray_detail::PromoteType< T, short >::type > > marray::operator+ (const ViewExpression< E, T > &expression, const short &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, short, marray_detail::Plus< short, T, typename marray_detail::PromoteType< short, T >::type > > marray::operator+ (const short &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, unsigned short, marray_detail::Plus< T, unsigned short, typename marray_detail::PromoteType< T, unsigned short >::type > > marray::operator+ (const ViewExpression< E, T > &expression, const unsigned short &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, unsigned short, marray_detail::Plus< unsigned short, T, typename marray_detail::PromoteType< unsigned short, T >::type > > marray::operator+ (const unsigned short &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, int, marray_detail::Plus< T, int, typename marray_detail::PromoteType< T, int >::type > > marray::operator+ (const ViewExpression< E, T > &expression, const int &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, int, marray_detail::Plus< int, T, typename marray_detail::PromoteType< int, T >::type > > marray::operator+ (const int &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, unsigned int, marray_detail::Plus< T, unsigned int, typename marray_detail::PromoteType< T, unsigned int >::type > > marray::operator+ (const ViewExpression< E, T > &expression, const unsigned int &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, unsigned int, marray_detail::Plus< unsigned int, T, typename marray_detail::PromoteType< unsigned int, T >::type > > marray::operator+ (const unsigned int &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, long, marray_detail::Plus< T, long, typename marray_detail::PromoteType< T, long >::type > > marray::operator+ (const ViewExpression< E, T > &expression, const long &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, long, marray_detail::Plus< long, T, typename marray_detail::PromoteType< long, T >::type > > marray::operator+ (const long &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, unsigned long, marray_detail::Plus< T, unsigned long, typename marray_detail::PromoteType< T, unsigned long >::type > > marray::operator+ (const ViewExpression< E, T > &expression, const unsigned long &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, unsigned long, marray_detail::Plus< unsigned long, T, typename marray_detail::PromoteType< unsigned long, T >::type > > marray::operator+ (const unsigned long &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, float, marray_detail::Plus< T, float, typename marray_detail::PromoteType< T, float >::type > > marray::operator+ (const ViewExpression< E, T > &expression, const float &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, float, marray_detail::Plus< float, T, typename marray_detail::PromoteType< float, T >::type > > marray::operator+ (const float &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, double, marray_detail::Plus< T, double, typename marray_detail::PromoteType< T, double >::type > > marray::operator+ (const ViewExpression< E, T > &expression, const double &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, double, marray_detail::Plus< double, T, typename marray_detail::PromoteType< double, T >::type > > marray::operator+ (const double &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, long double, marray_detail::Plus< T, long double, typename marray_detail::PromoteType< T, long double >::type > > marray::operator+ (const ViewExpression< E, T > &expression, const long double &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, long double, marray_detail::Plus< long double, T, typename marray_detail::PromoteType< long double, T >::type > > marray::operator+ (const long double &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, char, marray_detail::Minus< T, char, typename marray_detail::PromoteType< T, char >::type > > marray::operator- (const ViewExpression< E, T > &expression, const char &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, char, marray_detail::Minus< char, T, typename marray_detail::PromoteType< char, T >::type > > marray::operator- (const char &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, unsigned char, marray_detail::Minus< T, unsigned char, typename marray_detail::PromoteType< T, unsigned char >::type > > marray::operator- (const ViewExpression< E, T > &expression, const unsigned char &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, unsigned char, marray_detail::Minus< unsigned char, T, typename marray_detail::PromoteType< unsigned char, T >::type > > marray::operator- (const unsigned char &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, short, marray_detail::Minus< T, short, typename marray_detail::PromoteType< T, short >::type > > marray::operator- (const ViewExpression< E, T > &expression, const short &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, short, marray_detail::Minus< short, T, typename marray_detail::PromoteType< short, T >::type > > marray::operator- (const short &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, unsigned short, marray_detail::Minus< T, unsigned short, typename marray_detail::PromoteType< T, unsigned short >::type > > marray::operator- (const ViewExpression< E, T > &expression, const unsigned short &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, unsigned short, marray_detail::Minus< unsigned short, T, typename marray_detail::PromoteType< unsigned short, T >::type > > marray::operator- (const unsigned short &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, int, marray_detail::Minus< T, int, typename marray_detail::PromoteType< T, int >::type > > marray::operator- (const ViewExpression< E, T > &expression, const int &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, int, marray_detail::Minus< int, T, typename marray_detail::PromoteType< int, T >::type > > marray::operator- (const int &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, unsigned int, marray_detail::Minus< T, unsigned int, typename marray_detail::PromoteType< T, unsigned int >::type > > marray::operator- (const ViewExpression< E, T > &expression, const unsigned int &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, unsigned int, marray_detail::Minus< unsigned int, T, typename marray_detail::PromoteType< unsigned int, T >::type > > marray::operator- (const unsigned int &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, long, marray_detail::Minus< T, long, typename marray_detail::PromoteType< T, long >::type > > marray::operator- (const ViewExpression< E, T > &expression, const long &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, long, marray_detail::Minus< long, T, typename marray_detail::PromoteType< long, T >::type > > marray::operator- (const long &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, unsigned long, marray_detail::Minus< T, unsigned long, typename marray_detail::PromoteType< T, unsigned long >::type > > marray::operator- (const ViewExpression< E, T > &expression, const unsigned long &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, unsigned long, marray_detail::Minus< unsigned long, T, typename marray_detail::PromoteType< unsigned long, T >::type > > marray::operator- (const unsigned long &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, float, marray_detail::Minus< T, float, typename marray_detail::PromoteType< T, float >::type > > marray::operator- (const ViewExpression< E, T > &expression, const float &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, float, marray_detail::Minus< float, T, typename marray_detail::PromoteType< float, T >::type > > marray::operator- (const float &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, double, marray_detail::Minus< T, double, typename marray_detail::PromoteType< T, double >::type > > marray::operator- (const ViewExpression< E, T > &expression, const double &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, double, marray_detail::Minus< double, T, typename marray_detail::PromoteType< double, T >::type > > marray::operator- (const double &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, long double, marray_detail::Minus< T, long double, typename marray_detail::PromoteType< T, long double >::type > > marray::operator- (const ViewExpression< E, T > &expression, const long double &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, long double, marray_detail::Minus< long double, T, typename marray_detail::PromoteType< long double, T >::type > > marray::operator- (const long double &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, char, marray_detail::Times< T, char, typename marray_detail::PromoteType< T, char >::type > > marray::operator* (const ViewExpression< E, T > &expression, const char &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, char, marray_detail::Times< char, T, typename marray_detail::PromoteType< char, T >::type > > marray::operator* (const char &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, unsigned char, marray_detail::Times< T, unsigned char, typename marray_detail::PromoteType< T, unsigned char >::type > > marray::operator* (const ViewExpression< E, T > &expression, const unsigned char &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, unsigned char, marray_detail::Times< unsigned char, T, typename marray_detail::PromoteType< unsigned char, T >::type > > marray::operator* (const unsigned char &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, short, marray_detail::Times< T, short, typename marray_detail::PromoteType< T, short >::type > > marray::operator* (const ViewExpression< E, T > &expression, const short &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, short, marray_detail::Times< short, T, typename marray_detail::PromoteType< short, T >::type > > marray::operator* (const short &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, unsigned short, marray_detail::Times< T, unsigned short, typename marray_detail::PromoteType< T, unsigned short >::type > > marray::operator* (const ViewExpression< E, T > &expression, const unsigned short &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, unsigned short, marray_detail::Times< unsigned short, T, typename marray_detail::PromoteType< unsigned short, T >::type > > marray::operator* (const unsigned short &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, int, marray_detail::Times< T, int, typename marray_detail::PromoteType< T, int >::type > > marray::operator* (const ViewExpression< E, T > &expression, const int &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, int, marray_detail::Times< int, T, typename marray_detail::PromoteType< int, T >::type > > marray::operator* (const int &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, unsigned int, marray_detail::Times< T, unsigned int, typename marray_detail::PromoteType< T, unsigned int >::type > > marray::operator* (const ViewExpression< E, T > &expression, const unsigned int &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, unsigned int, marray_detail::Times< unsigned int, T, typename marray_detail::PromoteType< unsigned int, T >::type > > marray::operator* (const unsigned int &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, long, marray_detail::Times< T, long, typename marray_detail::PromoteType< T, long >::type > > marray::operator* (const ViewExpression< E, T > &expression, const long &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, long, marray_detail::Times< long, T, typename marray_detail::PromoteType< long, T >::type > > marray::operator* (const long &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, unsigned long, marray_detail::Times< T, unsigned long, typename marray_detail::PromoteType< T, unsigned long >::type > > marray::operator* (const ViewExpression< E, T > &expression, const unsigned long &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, unsigned long, marray_detail::Times< unsigned long, T, typename marray_detail::PromoteType< unsigned long, T >::type > > marray::operator* (const unsigned long &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, float, marray_detail::Times< T, float, typename marray_detail::PromoteType< T, float >::type > > marray::operator* (const ViewExpression< E, T > &expression, const float &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, float, marray_detail::Times< float, T, typename marray_detail::PromoteType< float, T >::type > > marray::operator* (const float &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, double, marray_detail::Times< T, double, typename marray_detail::PromoteType< T, double >::type > > marray::operator* (const ViewExpression< E, T > &expression, const double &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, double, marray_detail::Times< double, T, typename marray_detail::PromoteType< double, T >::type > > marray::operator* (const double &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, long double, marray_detail::Times< T, long double, typename marray_detail::PromoteType< T, long double >::type > > marray::operator* (const ViewExpression< E, T > &expression, const long double &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, long double, marray_detail::Times< long double, T, typename marray_detail::PromoteType< long double, T >::type > > marray::operator* (const long double &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, char, marray_detail::DividedBy< T, char, typename marray_detail::PromoteType< T, char >::type > > marray::operator/ (const ViewExpression< E, T > &expression, const char &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, char, marray_detail::DividedBy< char, T, typename marray_detail::PromoteType< char, T >::type > > marray::operator/ (const char &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, unsigned char, marray_detail::DividedBy< T, unsigned char, typename marray_detail::PromoteType< T, unsigned char >::type > > marray::operator/ (const ViewExpression< E, T > &expression, const unsigned char &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, unsigned char, marray_detail::DividedBy< unsigned char, T, typename marray_detail::PromoteType< unsigned char, T >::type > > marray::operator/ (const unsigned char &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, short, marray_detail::DividedBy< T, short, typename marray_detail::PromoteType< T, short >::type > > marray::operator/ (const ViewExpression< E, T > &expression, const short &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, short, marray_detail::DividedBy< short, T, typename marray_detail::PromoteType< short, T >::type > > marray::operator/ (const short &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, unsigned short, marray_detail::DividedBy< T, unsigned short, typename marray_detail::PromoteType< T, unsigned short >::type > > marray::operator/ (const ViewExpression< E, T > &expression, const unsigned short &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, unsigned short, marray_detail::DividedBy< unsigned short, T, typename marray_detail::PromoteType< unsigned short, T >::type > > marray::operator/ (const unsigned short &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, int, marray_detail::DividedBy< T, int, typename marray_detail::PromoteType< T, int >::type > > marray::operator/ (const ViewExpression< E, T > &expression, const int &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, int, marray_detail::DividedBy< int, T, typename marray_detail::PromoteType< int, T >::type > > marray::operator/ (const int &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, unsigned int, marray_detail::DividedBy< T, unsigned int, typename marray_detail::PromoteType< T, unsigned int >::type > > marray::operator/ (const ViewExpression< E, T > &expression, const unsigned int &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, unsigned int, marray_detail::DividedBy< unsigned int, T, typename marray_detail::PromoteType< unsigned int, T >::type > > marray::operator/ (const unsigned int &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, long, marray_detail::DividedBy< T, long, typename marray_detail::PromoteType< T, long >::type > > marray::operator/ (const ViewExpression< E, T > &expression, const long &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, long, marray_detail::DividedBy< long, T, typename marray_detail::PromoteType< long, T >::type > > marray::operator/ (const long &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, unsigned long, marray_detail::DividedBy< T, unsigned long, typename marray_detail::PromoteType< T, unsigned long >::type > > marray::operator/ (const ViewExpression< E, T > &expression, const unsigned long &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, unsigned long, marray_detail::DividedBy< unsigned long, T, typename marray_detail::PromoteType< unsigned long, T >::type > > marray::operator/ (const unsigned long &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, float, marray_detail::DividedBy< T, float, typename marray_detail::PromoteType< T, float >::type > > marray::operator/ (const ViewExpression< E, T > &expression, const float &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, float, marray_detail::DividedBy< float, T, typename marray_detail::PromoteType< float, T >::type > > marray::operator/ (const float &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, double, marray_detail::DividedBy< T, double, typename marray_detail::PromoteType< T, double >::type > > marray::operator/ (const ViewExpression< E, T > &expression, const double &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, double, marray_detail::DividedBy< double, T, typename marray_detail::PromoteType< double, T >::type > > marray::operator/ (const double &scalar, const ViewExpression< E, T > &expression)
 
template<class E , class T >
const BinaryViewExpressionScalarSecond< E, T, long double, marray_detail::DividedBy< T, long double, typename marray_detail::PromoteType< T, long double >::type > > marray::operator/ (const ViewExpression< E, T > &expression, const long double &scalar)
 
template<class E , class T >
const BinaryViewExpressionScalarFirst< E, T, long double, marray_detail::DividedBy< long double, T, typename marray_detail::PromoteType< long double, T >::type > > marray::operator/ (const long double &scalar, const ViewExpression< E, T > &expression)
 

Variables

static const bool marray::Const = true
 Flag to be used with the template parameter isConst of View and Iterator. More...
 
static const bool marray::Mutable = false
 Flag to be used with the template parameter isConst of View and Iterator. More...
 
static const CoordinateOrder marray::defaultOrder = LastMajorOrder
 Default order of coordinate tuples. More...
 
static const InitializationSkipping marray::SkipInitialization = InitializationSkipping()
 Flag to indicate initialization skipping. More...
 
const bool marray::MARRAY_NO_DEBUG = false
 General assertion testing enabled. More...
 
const bool marray::MARRAY_NO_ARG_TEST = false
 Argument testing enabled. More...
 

Macro Definition Documentation

#define MARRAY_BINARY_OPERATOR (   datatype,
  operation,
  functorname 
)

Definition at line 3277 of file marray.hxx.

#define MARRAY_BINARY_OPERATOR_ALL_TYPES (   op,
  functorname 
)
Value:
MARRAY_BINARY_OPERATOR(char, op, functorname) \
MARRAY_BINARY_OPERATOR(unsigned char, op, functorname) \
MARRAY_BINARY_OPERATOR(short, op, functorname) \
MARRAY_BINARY_OPERATOR(unsigned short, op, functorname) \
MARRAY_BINARY_OPERATOR(int, op, functorname) \
MARRAY_BINARY_OPERATOR(unsigned int, op, functorname) \
MARRAY_BINARY_OPERATOR(long, op, functorname) \
MARRAY_BINARY_OPERATOR(unsigned long, op, functorname) \
MARRAY_BINARY_OPERATOR(float, op, functorname) \
MARRAY_BINARY_OPERATOR(double, op, functorname) \
MARRAY_BINARY_OPERATOR(long double, op, functorname) \
#define MARRAY_BINARY_OPERATOR(datatype, operation, functorname)
Definition: marray.hxx:3277

Definition at line 3319 of file marray.hxx.

#define MARRAY_HXX

Definition at line 3 of file marray.hxx.

#define MARRAY_UNARY_OPERATOR (   datatype,
  operation,
  functorname 
)
Value:
template<class T, class A> \
inline View<T, false, A>& \
operator operation \
( \
View<T, false, A>& v, \
const datatype& x \
) \
{ \
marray_detail::operate(v, static_cast<T>(x), marray_detail:: functorname <T, T>()); \
return v; \
} \

Definition at line 3190 of file marray.hxx.

#define MARRAY_UNARY_OPERATOR_ALL_TYPES (   op,
  functorname 
)
Value:
MARRAY_UNARY_OPERATOR(char, op, functorname) \
MARRAY_UNARY_OPERATOR(unsigned char, op, functorname) \
MARRAY_UNARY_OPERATOR(short, op, functorname) \
MARRAY_UNARY_OPERATOR(unsigned short, op, functorname) \
MARRAY_UNARY_OPERATOR(int, op, functorname) \
MARRAY_UNARY_OPERATOR(unsigned int, op, functorname) \
MARRAY_UNARY_OPERATOR(long, op, functorname) \
MARRAY_UNARY_OPERATOR(unsigned long, op, functorname) \
MARRAY_UNARY_OPERATOR(float, op, functorname) \
MARRAY_UNARY_OPERATOR(double, op, functorname) \
MARRAY_UNARY_OPERATOR(long double, op, functorname) \
#define MARRAY_UNARY_OPERATOR(datatype, operation, functorname)
Definition: marray.hxx:3190

Definition at line 3203 of file marray.hxx.