basix_doc 0.1
|
00001 00002 #include <basix/table.hpp> 00003 #include <basix/alias.hpp> 00004 #include <basix/tuple.hpp> 00005 #include <basix/glue.hpp> 00006 00007 namespace mmx { 00008 static bool 00009 GLUE_1 (const generic &arg_1) { 00010 return is_table (arg_1); 00011 } 00012 00013 static table<generic, generic> 00014 GLUE_2 (const generic &arg_1) { 00015 return table<generic, generic > (arg_1); 00016 } 00017 00018 static iterator<generic> 00019 GLUE_3 (const table<generic, generic> &arg_1) { 00020 return entries (arg_1); 00021 } 00022 00023 static int 00024 GLUE_4 (const table<generic, generic> &arg_1) { 00025 return N (arg_1); 00026 } 00027 00028 static bool 00029 GLUE_5 (const table<generic, generic> &arg_1, const generic &arg_2) { 00030 return contains (arg_1, arg_2); 00031 } 00032 00033 static generic 00034 GLUE_6 (const table<generic, generic> &arg_1, const generic &arg_2) { 00035 return arg_1[arg_2]; 00036 } 00037 00038 static alias<generic> 00039 GLUE_7 (const alias<table<generic, generic> > &arg_1, const generic &arg_2) { 00040 return alias_access<generic > (arg_1, arg_2); 00041 } 00042 00043 static void 00044 GLUE_8 (const alias<table<generic, generic> > &arg_1, const generic &arg_2) { 00045 alias_reset (arg_1, arg_2); 00046 } 00047 00048 static void 00049 GLUE_9 (const table<generic, generic> &arg_1, const generic &arg_2, const generic &arg_3) { 00050 inside_set (arg_1, arg_2, arg_3); 00051 } 00052 00053 static bool 00054 GLUE_10 (const table<generic, generic> &arg_1, const tuple<generic> &arg_2) { 00055 return contains (arg_1, as_vector (arg_2)); 00056 } 00057 00058 static generic 00059 GLUE_11 (const table<generic, generic> &arg_1, const tuple<generic> &arg_2) { 00060 return arg_1[as_vector (arg_2)]; 00061 } 00062 00063 static alias<generic> 00064 GLUE_12 (const alias<table<generic, generic> > &arg_1, const tuple<generic> &arg_2) { 00065 return alias_access<generic > (arg_1, as_vector (arg_2)); 00066 } 00067 00068 static void 00069 GLUE_13 (const alias<table<generic, generic> > &arg_1, const tuple<generic> &arg_2) { 00070 alias_reset (arg_1, as_vector (arg_2)); 00071 } 00072 00073 static void 00074 GLUE_14 (const table<generic, generic> &arg_1, const tuple<generic> &arg_2, const generic &arg_3) { 00075 inside_set (arg_1, as_vector (arg_2), arg_3); 00076 } 00077 00078 void 00079 glue_table_generic () { 00080 static bool done = false; 00081 if (done) return; 00082 done = true; 00083 call_glue (string ("glue_generic")); 00084 define_type<table<generic, generic> > (gen (lit ("Table"), lit ("Generic"), lit ("Generic"))); 00085 define ("table?", GLUE_1); 00086 define ("table", GLUE_2); 00087 define_converter (":>", GLUE_3, PENALTY_PROMOTE_GENERIC); 00088 define ("#", GLUE_4); 00089 define ("contains?", GLUE_5); 00090 define (".[]", GLUE_6); 00091 define (".[]", GLUE_7); 00092 define ("reset", GLUE_8); 00093 define ("set", GLUE_9); 00094 define ("contains?", GLUE_10); 00095 define (".[]", GLUE_11); 00096 define (".[]", GLUE_12); 00097 define ("reset", GLUE_13); 00098 define ("set", GLUE_14); 00099 } 00100 }