basix_doc 0.1
/Users/mourrain/Devel/mmx/basix/glue/glue_string.cpp
Go to the documentation of this file.
00001 
00002 #include <basix/vector.hpp>
00003 #include <basix/port.hpp>
00004 #include <basix/alias.hpp>
00005 #include <basix/glue.hpp>
00006 
00007 namespace mmx {
00008   static int
00009   GLUE_1 (const string &arg_1) {
00010     return N (arg_1);
00011   }
00012   
00013   static string
00014   GLUE_2 (const string &arg_1, const int &arg_2, const int &arg_3) {
00015     return arg_1 (arg_2, arg_3);
00016   }
00017   
00018   static string
00019   GLUE_3 (const string &arg_1, const string &arg_2) {
00020     return arg_1 * arg_2;
00021   }
00022   
00023   static string
00024   GLUE_4 (const string &arg_1, const string &arg_2) {
00025     return arg_1 * arg_2;
00026   }
00027   
00028   static alias<string>
00029   GLUE_5 (const alias<string> &arg_1, const string &arg_2) {
00030     return alias_write (arg_1, arg_2);
00031   }
00032   
00033   static bool
00034   GLUE_6 (const string &arg_1, const string &arg_2) {
00035     return arg_1 < arg_2;
00036   }
00037   
00038   static bool
00039   GLUE_7 (const string &arg_1, const string &arg_2) {
00040     return arg_1 <= arg_2;
00041   }
00042   
00043   static bool
00044   GLUE_8 (const string &arg_1, const string &arg_2) {
00045     return arg_1 > arg_2;
00046   }
00047   
00048   static bool
00049   GLUE_9 (const string &arg_1, const string &arg_2) {
00050     return arg_1 >= arg_2;
00051   }
00052   
00053   static bool
00054   GLUE_10 (const string &arg_1, const string &arg_2) {
00055     return starts (arg_1, arg_2);
00056   }
00057   
00058   static bool
00059   GLUE_11 (const string &arg_1, const string &arg_2) {
00060     return ends (arg_1, arg_2);
00061   }
00062   
00063   static string
00064   GLUE_12 (const string &arg_1, const string &arg_2, const string &arg_3) {
00065     return replace (arg_1, arg_2, arg_3);
00066   }
00067   
00068   static int
00069   GLUE_13 (const string &arg_1, const string &arg_2, const int &arg_3) {
00070     return search_forwards (arg_1, arg_2, arg_3);
00071   }
00072   
00073   static int
00074   GLUE_14 (const string &arg_1, const string &arg_2, const int &arg_3) {
00075     return search_backwards (arg_1, arg_2, arg_3);
00076   }
00077   
00078   static string
00079   GLUE_15 (const string &arg_1) {
00080     return upcase (arg_1);
00081   }
00082   
00083   static string
00084   GLUE_16 (const string &arg_1) {
00085     return locase (arg_1);
00086   }
00087   
00088   static string
00089   GLUE_17 (const string &arg_1) {
00090     return upcase_first (arg_1);
00091   }
00092   
00093   static string
00094   GLUE_18 (const string &arg_1) {
00095     return locase_first (arg_1);
00096   }
00097   
00098   static string
00099   GLUE_19 (const string &arg_1) {
00100     return quote (arg_1);
00101   }
00102   
00103   static string
00104   GLUE_20 (const string &arg_1) {
00105     return unquote (arg_1);
00106   }
00107   
00108   void
00109   glue_string () {
00110     static bool done = false;
00111     if (done) return;
00112     done = true;
00113     call_glue (string ("glue_vector_generic"));
00114     define ("#", GLUE_1);
00115     define (".[]", GLUE_2);
00116     define ("*", GLUE_3);
00117     define ("><", GLUE_4);
00118     define ("<<", GLUE_5);
00119     define ("<", GLUE_6);
00120     define ("<=", GLUE_7);
00121     define (">", GLUE_8);
00122     define (">=", GLUE_9);
00123     define ("starts?", GLUE_10);
00124     define ("ends?", GLUE_11);
00125     define ("replace", GLUE_12);
00126     define ("search_forwards", GLUE_13);
00127     define ("search_backwards", GLUE_14);
00128     define ("upcase", GLUE_15);
00129     define ("locase", GLUE_16);
00130     define ("upcase_first", GLUE_17);
00131     define ("locase_first", GLUE_18);
00132     define ("quote", GLUE_19);
00133     define ("unquote", GLUE_20);
00134   }
00135 }
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines