#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 201 of file glue_metaprog.hpp.
typedef T1::elem_type mat_ptrs_outcheck< glue_type, Glue< T1, T2, glue_type > >::elem_type |
Definition at line 203 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 211 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.
00217 { 00218 isnt_same_type<typename T1::elem_type, typename T2::elem_type>::check(); 00219 00220 mat_ptrs_outcheck<glue_type, T1>::get_ptrs(ptrs, del, X.A, out_ptr); 00221 00222 const bool same_ptr = 00223 ( 00224 is_Mat<T2>::value ? 00225 ( 00226 (out_ptr == reinterpret_cast<const Mat<elem_type>*>(&X.B)) ? 00227 true 00228 : 00229 false 00230 ) 00231 : 00232 false 00233 ); 00234 00235 00236 ptrs[num] = 00237 ( 00238 same_ptr ? 00239 new Mat<elem_type>(X.B) 00240 : 00241 ( 00242 is_Mat<T2>::value ? 00243 reinterpret_cast<const Mat<elem_type>*>(&X.B) 00244 : 00245 new Mat<elem_type>(X.B) 00246 ) 00247 ); 00248 00249 00250 del[num] = 00251 ( 00252 same_ptr ? 00253 true 00254 : 00255 ( 00256 is_Mat<T2>::value ? 00257 false 00258 : 00259 true 00260 ) 00261 ); 00262 }
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 205 of file glue_metaprog.hpp.