#include <glue_metaprog.hpp>
Public Types | |
typedef T1::elem_type | elem_type |
Static Public Member Functions | |
static void | get_ptrs (const Mat< elem_type > **ptrs, bool *del, const Glue< T1, T2, glue_type > &X, const Mat< elem_type > *out_ptr) |
Static Public Attributes | |
static const u32 | num = 1 + mat_ptrs_outcheck<glue_type, T1>::num |
Definition at line 200 of file glue_metaprog.hpp.
typedef T1::elem_type mat_ptrs_outcheck< glue_type, Glue< T1, T2, glue_type > >::elem_type |
Definition at line 202 of file glue_metaprog.hpp.
static void mat_ptrs_outcheck< glue_type, Glue< T1, T2, glue_type > >::get_ptrs | ( | const Mat< elem_type > ** | ptrs, | |
bool * | del, | |||
const Glue< T1, T2, glue_type > & | X, | |||
const Mat< elem_type > * | out_ptr | |||
) | [inline, static] |
Definition at line 210 of file glue_metaprog.hpp.
References Glue< T1, T2, glue_type >::A, Glue< T1, T2, glue_type >::B, mat_ptrs_outcheck< glue_type, T1 >::get_ptrs(), and mat_ptrs_outcheck< glue_type, T1 >::num.
00216 { 00217 isnt_same_type<typename T1::elem_type, typename T2::elem_type>::check(); 00218 00219 mat_ptrs_outcheck<glue_type, T1>::get_ptrs(ptrs, del, X.A, out_ptr); 00220 00221 const bool same_ptr = 00222 ( 00223 is_Mat<T2>::value ? 00224 ( 00225 (out_ptr == reinterpret_cast<const Mat<elem_type>*>(&X.B)) ? 00226 true 00227 : 00228 false 00229 ) 00230 : 00231 false 00232 ); 00233 00234 00235 ptrs[num] = 00236 ( 00237 same_ptr ? 00238 new Mat<elem_type>(X.B) 00239 : 00240 ( 00241 is_Mat<T2>::value ? 00242 reinterpret_cast<const Mat<elem_type>*>(&X.B) 00243 : 00244 new Mat<elem_type>(X.B) 00245 ) 00246 ); 00247 00248 00249 del[num] = 00250 ( 00251 same_ptr ? 00252 true 00253 : 00254 ( 00255 is_Mat<T2>::value ? 00256 false 00257 : 00258 true 00259 ) 00260 ); 00261 }
const u32 mat_ptrs_outcheck< glue_type, Glue< T1, T2, glue_type > >::num = 1 + mat_ptrs_outcheck<glue_type, T1>::num [static] |
Definition at line 204 of file glue_metaprog.hpp.