00001 #ifndef __MIMASEXTERNALIMAGEFUNC 00002 # error "Do not include this file directly." 00003 #endif 00004 #ifndef __MIMASINTERNALIMAGEFUNC 00005 # error "Do not include this file directly." 00006 #endif 00007 #ifndef __MIMASFUNCTIONOBJECT 00008 # error "Do not include this file directly." 00009 #endif 00010 00011 namespace mimas { 00012 00015 00016 template < 00017 typename T, typename TPtr 00018 > 00019 image_ref< T > &__MIMASINTERNALIMAGEFUNC( const const_image_ref< T, TPtr > &a ) 00020 { 00021 return image_apply( a, a, _multi_help1< T, T, __MIMASFUNCTIONOBJECT< T > > 00022 ( __MIMASFUNCTIONOBJECT< T >() ) ); 00023 }; 00024 00026 template < 00027 typename T, typename TPtr 00028 > 00029 image< T > __MIMASEXTERNALIMAGEFUNC( const const_image_ref< T, TPtr > &a ) 00030 { 00031 return image_func< T >( a, __MIMASFUNCTIONOBJECT< T >() ); 00032 }; 00033 00035 00036 } 00037 00038 #undef __MIMASEXTERNALIMAGEFUNC 00039 #undef __MIMASINTERNALIMAGEFUNC 00040 #undef __MIMASFUNCTIONOBJECT