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