00001 00002 #include <basix/int.hpp> 00003 #include <shape/axel_glue.hpp> 00004 #include <shape/color_glue.hpp> 00005 #include <basix/alias.hpp> 00006 #include <basix/glue.hpp> 00007 00008 #define int_literal(x) as_int (as_string (x)) 00009 00010 namespace mmx { 00011 static shape_color 00012 GLUE_1 (const int &arg_1, const int &arg_2, const int &arg_3) { 00013 return shape_color (arg_1, arg_2, arg_3); 00014 } 00015 00016 static alias<shape_axel> 00017 GLUE_2 (const alias<shape_axel> &arg_1, const shape_color &arg_2) { 00018 return alias_write (arg_1, arg_2); 00019 } 00020 00021 void 00022 glue_color () { 00023 static bool done = false; 00024 if (done) return; 00025 done = true; 00026 call_glue (string ("glue_int")); 00027 call_glue (string ("glue_axel")); 00028 define_type<shape_color > (lit ("Color")); 00029 define ("color", GLUE_1); 00030 define ("<<", GLUE_2); 00031 } 00032 }