30 #ifndef GUM_OPERATOR_PATTERN_ALLOWED 39 # ifdef GUM_MULTI_DIM_OPERATOR_NAME 40 template <
typename T >
41 MultiDimImplementation< T >*
42 GUM_MULTI_DIM_OPERATOR_NAME(
const MultiDimImplementation< T >& impl1,
43 const MultiDimImplementation< T >& impl2) {
46 typename OperatorRegister4MultiDim< T >::OperatorPtr func;
47 bool swapped_names =
false;
52 func = OperatorRegister4MultiDim< T >::Register().get(
53 GUM_MULTI_DIM_OPERATOR_FUNC_NAME,
58 # ifdef GUM_MULTI_DIM_SYMMETRIC_OPERATOR 66 func = OperatorRegister4MultiDim< T >::Register().get(
67 GUM_MULTI_DIM_OPERATOR_FUNC_NAME,
74 func = OperatorRegister4MultiDim< T >::Register().get(
75 GUM_MULTI_DIM_OPERATOR_FUNC_NAME,
79 # ifdef GUM_MULTI_DIM_SYMMETRIC_OPERATOR 87 return func(&impl2, &impl1);
89 return func(&impl1, &impl2);