Rev Author Line No. Line
178 kaklik 1 #ifndef __MIMASEXTERNALARRAYFUNC
2 # error "Do not include this file directly."
3 #endif
4 #ifndef __MIMASINTERNALARRAYFUNC
5 # error "Do not include this file directly."
6 #endif
7 #ifndef __MIMASFUNCTIONOBJECT
8 # error "Do not include this file directly."
9 #endif
10  
11 namespace mimas {
12  
13 /** @addtogroup arrayOp
14 @{ */
15 ///
16 template <
17 typename T, size_t NumDims, class Allocator,
18 template< typename, size_t, class > class MultiArray
19 >
20 MultiArray< T, NumDims, Allocator > &__MIMASINTERNALARRAYFUNC( MultiArray< T, NumDims, Allocator > &a )
21 {
22 return multi_apply( a, a, _multi_help1< T, T, __MIMASFUNCTIONOBJECT< T > >
23 ( __MIMASFUNCTIONOBJECT< T >() ) );
24 };
25  
26 ///
27 template <
28 typename T, size_t NumDims, class Allocator,
29 template< typename, size_t, class > class MultiArray
30 >
31 boost::multi_array< T, NumDims, Allocator > __MIMASEXTERNALARRAYFUNC( const MultiArray< T, NumDims, Allocator > &a )
32 {
33 return multi_func< T >( a, __MIMASFUNCTIONOBJECT< T >() );
34 };
35  
36 ///@}
37 }
38  
39 #undef __MIMASEXTERNALARRAYFUNC
40 #undef __MIMASINTERNALARRAYFUNC
41 #undef __MIMASFUNCTIONOBJECT