31 #ifndef GUM_OPERATOR_PATTERN_ALLOWED 40 # ifdef GUM_MULTI_DIM_OPERATOR_NAME 41 template <
typename T >
42 MultiDimImplementation< T >*
43 GUM_MULTI_DIM_OPERATOR_NAME(
const MultiDimImplementation< T >& impl1,
44 const MultiDimImplementation< T >& impl2) {
48 bool swapped_names =
false;
54 GUM_MULTI_DIM_OPERATOR_FUNC_NAME, impl1.name(), impl2.name());
57 # ifdef GUM_MULTI_DIM_SYMMETRIC_OPERATOR 66 GUM_MULTI_DIM_OPERATOR_FUNC_NAME, impl2.name(), impl1.name());
72 GUM_MULTI_DIM_OPERATOR_FUNC_NAME, impl1.basename(), impl2.basename());
74 # ifdef GUM_MULTI_DIM_SYMMETRIC_OPERATOR 82 return func(&impl2, &impl1);
84 return func(&impl1, &impl2);
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
static OperatorRegister4MultiDim< GUM_SCALAR > & Register()
A named constructor that constructs one and only one Register per data type.
MultiDimImplementation< GUM_SCALAR > *(* OperatorPtr)(const MultiDimImplementation< GUM_SCALAR > *, const MultiDimImplementation< GUM_SCALAR > *)
The type of functions used by the register.