custom-macros.hh
上传用户:clovervx
上传日期:2010-03-30
资源大小:787k
文件大小:1318k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1.     manip = m;
  2.     del_vector = true; 
  3.     obj = o; 
  4.     include = new vector<bool>(22, false); 
  5.     if (i1) (*include)[0]=true;
  6.     if (i2) (*include)[1]=true;
  7.     if (i3) (*include)[2]=true;
  8.     if (i4) (*include)[3]=true;
  9.     if (i5) (*include)[4]=true;
  10.     if (i6) (*include)[5]=true;
  11.     if (i7) (*include)[6]=true;
  12.     if (i8) (*include)[7]=true;
  13.     if (i9) (*include)[8]=true;
  14.     if (i10) (*include)[9]=true;
  15.     if (i11) (*include)[10]=true;
  16.     if (i12) (*include)[11]=true;
  17.     if (i13) (*include)[12]=true;
  18.     if (i14) (*include)[13]=true;
  19.     if (i15) (*include)[14]=true;
  20.     if (i16) (*include)[15]=true;
  21.     if (i17) (*include)[16]=true;
  22.     if (i18) (*include)[17]=true;
  23.     if (i19) (*include)[18]=true;
  24.     if (i20) (*include)[19]=true;
  25.     if (i21) (*include)[20]=true;
  26.     if (i22) (*include)[21]=true;
  27.   } 
  28.   template <class Manip>
  29.   NAME##_cus_field_list<Manip>::NAME##_cus_field_list
  30.   (const NAME *o, cchar *d, Manip m, ##NAME##_enum i1, ##NAME##_enum i2, ##NAME##_enum i3, ##NAME##_enum i4, ##NAME##_enum i5, ##NAME##_enum i6, ##NAME##_enum i7, ##NAME##_enum i8, ##NAME##_enum i9, ##NAME##_enum i10, ##NAME##_enum i11, ##NAME##_enum i12, ##NAME##_enum i13, ##NAME##_enum i14, ##NAME##_enum i15, ##NAME##_enum i16, ##NAME##_enum i17, ##NAME##_enum i18, ##NAME##_enum i19, ##NAME##_enum i20, ##NAME##_enum i21, ##NAME##_enum i22) { 
  31.     delem = d;
  32.     manip = m;
  33.     del_vector = true; 
  34.     obj = o; 
  35.     include = new vector<bool>(22, false); 
  36.     if (i1 == NAME##_NULL) return;
  37.     (*include)[i1]=true;
  38.     if (i2 == NAME##_NULL) return;
  39.     (*include)[i2]=true;
  40.     if (i3 == NAME##_NULL) return;
  41.     (*include)[i3]=true;
  42.     if (i4 == NAME##_NULL) return;
  43.     (*include)[i4]=true;
  44.     if (i5 == NAME##_NULL) return;
  45.     (*include)[i5]=true;
  46.     if (i6 == NAME##_NULL) return;
  47.     (*include)[i6]=true;
  48.     if (i7 == NAME##_NULL) return;
  49.     (*include)[i7]=true;
  50.     if (i8 == NAME##_NULL) return;
  51.     (*include)[i8]=true;
  52.     if (i9 == NAME##_NULL) return;
  53.     (*include)[i9]=true;
  54.     if (i10 == NAME##_NULL) return;
  55.     (*include)[i10]=true;
  56.     if (i11 == NAME##_NULL) return;
  57.     (*include)[i11]=true;
  58.     if (i12 == NAME##_NULL) return;
  59.     (*include)[i12]=true;
  60.     if (i13 == NAME##_NULL) return;
  61.     (*include)[i13]=true;
  62.     if (i14 == NAME##_NULL) return;
  63.     (*include)[i14]=true;
  64.     if (i15 == NAME##_NULL) return;
  65.     (*include)[i15]=true;
  66.     if (i16 == NAME##_NULL) return;
  67.     (*include)[i16]=true;
  68.     if (i17 == NAME##_NULL) return;
  69.     (*include)[i17]=true;
  70.     if (i18 == NAME##_NULL) return;
  71.     (*include)[i18]=true;
  72.     if (i19 == NAME##_NULL) return;
  73.     (*include)[i19]=true;
  74.     if (i20 == NAME##_NULL) return;
  75.     (*include)[i20]=true;
  76.     if (i21 == NAME##_NULL) return;
  77.     (*include)[i21]=true;
  78.     if (i22 == NAME##_NULL) return;
  79.     (*include)[i22]=true;
  80.   }
  81.   template <class Manip>
  82.   NAME##_cus_equal_list<Manip>::NAME##_cus_equal_list
  83.   (const NAME *o, cchar *d, cchar *c, Manip m, bool i1, bool i2, bool i3, bool i4, bool i5, bool i6, bool i7, bool i8, bool i9, bool i10, bool i11, bool i12, bool i13, bool i14, bool i15, bool i16, bool i17, bool i18, bool i19, bool i20, bool i21, bool i22) { 
  84.     delem = d;
  85.     comp = c;
  86.     manip = m;
  87.     del_vector = true; 
  88.     obj = o; 
  89.     include = new vector<bool>(22, false); 
  90.     if (i1) (*include)[0]=true;
  91.     if (i2) (*include)[1]=true;
  92.     if (i3) (*include)[2]=true;
  93.     if (i4) (*include)[3]=true;
  94.     if (i5) (*include)[4]=true;
  95.     if (i6) (*include)[5]=true;
  96.     if (i7) (*include)[6]=true;
  97.     if (i8) (*include)[7]=true;
  98.     if (i9) (*include)[8]=true;
  99.     if (i10) (*include)[9]=true;
  100.     if (i11) (*include)[10]=true;
  101.     if (i12) (*include)[11]=true;
  102.     if (i13) (*include)[12]=true;
  103.     if (i14) (*include)[13]=true;
  104.     if (i15) (*include)[14]=true;
  105.     if (i16) (*include)[15]=true;
  106.     if (i17) (*include)[16]=true;
  107.     if (i18) (*include)[17]=true;
  108.     if (i19) (*include)[18]=true;
  109.     if (i20) (*include)[19]=true;
  110.     if (i21) (*include)[20]=true;
  111.     if (i22) (*include)[21]=true;
  112.   } 
  113.   template <class Manip>
  114.   NAME##_cus_equal_list<Manip>::NAME##_cus_equal_list
  115.   (const NAME *o, cchar *d, cchar *c, Manip m, ##NAME##_enum i1, ##NAME##_enum i2, ##NAME##_enum i3, ##NAME##_enum i4, ##NAME##_enum i5, ##NAME##_enum i6, ##NAME##_enum i7, ##NAME##_enum i8, ##NAME##_enum i9, ##NAME##_enum i10, ##NAME##_enum i11, ##NAME##_enum i12, ##NAME##_enum i13, ##NAME##_enum i14, ##NAME##_enum i15, ##NAME##_enum i16, ##NAME##_enum i17, ##NAME##_enum i18, ##NAME##_enum i19, ##NAME##_enum i20, ##NAME##_enum i21, ##NAME##_enum i22) { 
  116.     delem = d;
  117.     comp = c;
  118.     manip = m;
  119.     del_vector = true; 
  120.     obj = o; 
  121.     include = new vector<bool>(22, false); 
  122.     if (i1 == NAME##_NULL) return;
  123.     (*include)[i1]=true;
  124.     if (i2 == NAME##_NULL) return;
  125.     (*include)[i2]=true;
  126.     if (i3 == NAME##_NULL) return;
  127.     (*include)[i3]=true;
  128.     if (i4 == NAME##_NULL) return;
  129.     (*include)[i4]=true;
  130.     if (i5 == NAME##_NULL) return;
  131.     (*include)[i5]=true;
  132.     if (i6 == NAME##_NULL) return;
  133.     (*include)[i6]=true;
  134.     if (i7 == NAME##_NULL) return;
  135.     (*include)[i7]=true;
  136.     if (i8 == NAME##_NULL) return;
  137.     (*include)[i8]=true;
  138.     if (i9 == NAME##_NULL) return;
  139.     (*include)[i9]=true;
  140.     if (i10 == NAME##_NULL) return;
  141.     (*include)[i10]=true;
  142.     if (i11 == NAME##_NULL) return;
  143.     (*include)[i11]=true;
  144.     if (i12 == NAME##_NULL) return;
  145.     (*include)[i12]=true;
  146.     if (i13 == NAME##_NULL) return;
  147.     (*include)[i13]=true;
  148.     if (i14 == NAME##_NULL) return;
  149.     (*include)[i14]=true;
  150.     if (i15 == NAME##_NULL) return;
  151.     (*include)[i15]=true;
  152.     if (i16 == NAME##_NULL) return;
  153.     (*include)[i16]=true;
  154.     if (i17 == NAME##_NULL) return;
  155.     (*include)[i17]=true;
  156.     if (i18 == NAME##_NULL) return;
  157.     (*include)[i18]=true;
  158.     if (i19 == NAME##_NULL) return;
  159.     (*include)[i19]=true;
  160.     if (i20 == NAME##_NULL) return;
  161.     (*include)[i20]=true;
  162.     if (i21 == NAME##_NULL) return;
  163.     (*include)[i21]=true;
  164.     if (i22 == NAME##_NULL) return;
  165.     (*include)[i22]=true;
  166.   }
  167.   template <class Manip>
  168.   ostream& operator << (ostream& s, const NAME##_value_list<Manip>& obj) { 
  169.     s << obj.manip << obj.obj->##I1 << obj.delem;
  170.     s << obj.manip << obj.obj->##I2 << obj.delem;
  171.     s << obj.manip << obj.obj->##I3 << obj.delem;
  172.     s << obj.manip << obj.obj->##I4 << obj.delem;
  173.     s << obj.manip << obj.obj->##I5 << obj.delem;
  174.     s << obj.manip << obj.obj->##I6 << obj.delem;
  175.     s << obj.manip << obj.obj->##I7 << obj.delem;
  176.     s << obj.manip << obj.obj->##I8 << obj.delem;
  177.     s << obj.manip << obj.obj->##I9 << obj.delem;
  178.     s << obj.manip << obj.obj->##I10 << obj.delem;
  179.     s << obj.manip << obj.obj->##I11 << obj.delem;
  180.     s << obj.manip << obj.obj->##I12 << obj.delem;
  181.     s << obj.manip << obj.obj->##I13 << obj.delem;
  182.     s << obj.manip << obj.obj->##I14 << obj.delem;
  183.     s << obj.manip << obj.obj->##I15 << obj.delem;
  184.     s << obj.manip << obj.obj->##I16 << obj.delem;
  185.     s << obj.manip << obj.obj->##I17 << obj.delem;
  186.     s << obj.manip << obj.obj->##I18 << obj.delem;
  187.     s << obj.manip << obj.obj->##I19 << obj.delem;
  188.     s << obj.manip << obj.obj->##I20 << obj.delem;
  189.     s << obj.manip << obj.obj->##I21 << obj.delem;
  190.     s << obj.manip << obj.obj->##I22; 
  191.     return s; 
  192.   } 
  193.   template <class Manip>
  194.   ostream& operator << (ostream& s, const NAME##_field_list<Manip>& obj) { 
  195.     s << obj.manip << obj.obj->names[0] << obj.delem;
  196.     s << obj.manip << obj.obj->names[1] << obj.delem;
  197.     s << obj.manip << obj.obj->names[2] << obj.delem;
  198.     s << obj.manip << obj.obj->names[3] << obj.delem;
  199.     s << obj.manip << obj.obj->names[4] << obj.delem;
  200.     s << obj.manip << obj.obj->names[5] << obj.delem;
  201.     s << obj.manip << obj.obj->names[6] << obj.delem;
  202.     s << obj.manip << obj.obj->names[7] << obj.delem;
  203.     s << obj.manip << obj.obj->names[8] << obj.delem;
  204.     s << obj.manip << obj.obj->names[9] << obj.delem;
  205.     s << obj.manip << obj.obj->names[10] << obj.delem;
  206.     s << obj.manip << obj.obj->names[11] << obj.delem;
  207.     s << obj.manip << obj.obj->names[12] << obj.delem;
  208.     s << obj.manip << obj.obj->names[13] << obj.delem;
  209.     s << obj.manip << obj.obj->names[14] << obj.delem;
  210.     s << obj.manip << obj.obj->names[15] << obj.delem;
  211.     s << obj.manip << obj.obj->names[16] << obj.delem;
  212.     s << obj.manip << obj.obj->names[17] << obj.delem;
  213.     s << obj.manip << obj.obj->names[18] << obj.delem;
  214.     s << obj.manip << obj.obj->names[19] << obj.delem;
  215.     s << obj.manip << obj.obj->names[20] << obj.delem;
  216.     s << obj.manip << obj.obj->names[21]; 
  217.     return s; 
  218.   } 
  219.   template <class Manip>
  220.   ostream& operator << (ostream& s, const NAME##_equal_list<Manip>& obj) { 
  221.     s << obj.obj->names[0] << obj.comp << obj.manip << obj.obj->##I1 << obj.delem;
  222.     s << obj.obj->names[1] << obj.comp << obj.manip << obj.obj->##I2 << obj.delem;
  223.     s << obj.obj->names[2] << obj.comp << obj.manip << obj.obj->##I3 << obj.delem;
  224.     s << obj.obj->names[3] << obj.comp << obj.manip << obj.obj->##I4 << obj.delem;
  225.     s << obj.obj->names[4] << obj.comp << obj.manip << obj.obj->##I5 << obj.delem;
  226.     s << obj.obj->names[5] << obj.comp << obj.manip << obj.obj->##I6 << obj.delem;
  227.     s << obj.obj->names[6] << obj.comp << obj.manip << obj.obj->##I7 << obj.delem;
  228.     s << obj.obj->names[7] << obj.comp << obj.manip << obj.obj->##I8 << obj.delem;
  229.     s << obj.obj->names[8] << obj.comp << obj.manip << obj.obj->##I9 << obj.delem;
  230.     s << obj.obj->names[9] << obj.comp << obj.manip << obj.obj->##I10 << obj.delem;
  231.     s << obj.obj->names[10] << obj.comp << obj.manip << obj.obj->##I11 << obj.delem;
  232.     s << obj.obj->names[11] << obj.comp << obj.manip << obj.obj->##I12 << obj.delem;
  233.     s << obj.obj->names[12] << obj.comp << obj.manip << obj.obj->##I13 << obj.delem;
  234.     s << obj.obj->names[13] << obj.comp << obj.manip << obj.obj->##I14 << obj.delem;
  235.     s << obj.obj->names[14] << obj.comp << obj.manip << obj.obj->##I15 << obj.delem;
  236.     s << obj.obj->names[15] << obj.comp << obj.manip << obj.obj->##I16 << obj.delem;
  237.     s << obj.obj->names[16] << obj.comp << obj.manip << obj.obj->##I17 << obj.delem;
  238.     s << obj.obj->names[17] << obj.comp << obj.manip << obj.obj->##I18 << obj.delem;
  239.     s << obj.obj->names[18] << obj.comp << obj.manip << obj.obj->##I19 << obj.delem;
  240.     s << obj.obj->names[19] << obj.comp << obj.manip << obj.obj->##I20 << obj.delem;
  241.     s << obj.obj->names[20] << obj.comp << obj.manip << obj.obj->##I21 << obj.delem;
  242.     s << obj.obj->names[21] << obj.comp << obj.manip << obj.obj->##I22; 
  243.     return s; 
  244.   } 
  245.   template <class Manip>
  246.   ostream& operator << (ostream& s, const NAME##_cus_value_list<Manip>& obj) { 
  247.     bool before = false; 
  248.     if ((*obj.include)[0]) { 
  249.       s << obj.manip << obj.obj->##I1;
  250.       before = true; 
  251.      } 
  252.     if ((*obj.include)[1]) { 
  253.       if (before) s << obj.delem;
  254.       s << obj.manip << obj.obj->##I2;
  255.       before = true; 
  256.      } 
  257.     if ((*obj.include)[2]) { 
  258.       if (before) s << obj.delem;
  259.       s << obj.manip << obj.obj->##I3;
  260.       before = true; 
  261.      } 
  262.     if ((*obj.include)[3]) { 
  263.       if (before) s << obj.delem;
  264.       s << obj.manip << obj.obj->##I4;
  265.       before = true; 
  266.      } 
  267.     if ((*obj.include)[4]) { 
  268.       if (before) s << obj.delem;
  269.       s << obj.manip << obj.obj->##I5;
  270.       before = true; 
  271.      } 
  272.     if ((*obj.include)[5]) { 
  273.       if (before) s << obj.delem;
  274.       s << obj.manip << obj.obj->##I6;
  275.       before = true; 
  276.      } 
  277.     if ((*obj.include)[6]) { 
  278.       if (before) s << obj.delem;
  279.       s << obj.manip << obj.obj->##I7;
  280.       before = true; 
  281.      } 
  282.     if ((*obj.include)[7]) { 
  283.       if (before) s << obj.delem;
  284.       s << obj.manip << obj.obj->##I8;
  285.       before = true; 
  286.      } 
  287.     if ((*obj.include)[8]) { 
  288.       if (before) s << obj.delem;
  289.       s << obj.manip << obj.obj->##I9;
  290.       before = true; 
  291.      } 
  292.     if ((*obj.include)[9]) { 
  293.       if (before) s << obj.delem;
  294.       s << obj.manip << obj.obj->##I10;
  295.       before = true; 
  296.      } 
  297.     if ((*obj.include)[10]) { 
  298.       if (before) s << obj.delem;
  299.       s << obj.manip << obj.obj->##I11;
  300.       before = true; 
  301.      } 
  302.     if ((*obj.include)[11]) { 
  303.       if (before) s << obj.delem;
  304.       s << obj.manip << obj.obj->##I12;
  305.       before = true; 
  306.      } 
  307.     if ((*obj.include)[12]) { 
  308.       if (before) s << obj.delem;
  309.       s << obj.manip << obj.obj->##I13;
  310.       before = true; 
  311.      } 
  312.     if ((*obj.include)[13]) { 
  313.       if (before) s << obj.delem;
  314.       s << obj.manip << obj.obj->##I14;
  315.       before = true; 
  316.      } 
  317.     if ((*obj.include)[14]) { 
  318.       if (before) s << obj.delem;
  319.       s << obj.manip << obj.obj->##I15;
  320.       before = true; 
  321.      } 
  322.     if ((*obj.include)[15]) { 
  323.       if (before) s << obj.delem;
  324.       s << obj.manip << obj.obj->##I16;
  325.       before = true; 
  326.      } 
  327.     if ((*obj.include)[16]) { 
  328.       if (before) s << obj.delem;
  329.       s << obj.manip << obj.obj->##I17;
  330.       before = true; 
  331.      } 
  332.     if ((*obj.include)[17]) { 
  333.       if (before) s << obj.delem;
  334.       s << obj.manip << obj.obj->##I18;
  335.       before = true; 
  336.      } 
  337.     if ((*obj.include)[18]) { 
  338.       if (before) s << obj.delem;
  339.       s << obj.manip << obj.obj->##I19;
  340.       before = true; 
  341.      } 
  342.     if ((*obj.include)[19]) { 
  343.       if (before) s << obj.delem;
  344.       s << obj.manip << obj.obj->##I20;
  345.       before = true; 
  346.      } 
  347.     if ((*obj.include)[20]) { 
  348.       if (before) s << obj.delem;
  349.       s << obj.manip << obj.obj->##I21;
  350.       before = true; 
  351.      } 
  352.     if ((*obj.include)[21]) { 
  353.       if (before) s << obj.delem;
  354.       s << obj.manip << obj.obj->##I22;
  355.      } 
  356.     return s; 
  357.   } 
  358.   template <class Manip>
  359.   ostream& operator << (ostream& s, const NAME##_cus_field_list<Manip>& obj) { 
  360.     bool before = false; 
  361.     if ((*obj.include)[0]) { 
  362.       s << obj.manip << obj.obj->names[0];
  363.       before = true; 
  364.      } 
  365.     if ((*obj.include)[1]) { 
  366.       if (before) s << obj.delem;
  367.       s << obj.manip << obj.obj->names[1];
  368.       before = true; 
  369.      } 
  370.     if ((*obj.include)[2]) { 
  371.       if (before) s << obj.delem;
  372.       s << obj.manip << obj.obj->names[2];
  373.       before = true; 
  374.      } 
  375.     if ((*obj.include)[3]) { 
  376.       if (before) s << obj.delem;
  377.       s << obj.manip << obj.obj->names[3];
  378.       before = true; 
  379.      } 
  380.     if ((*obj.include)[4]) { 
  381.       if (before) s << obj.delem;
  382.       s << obj.manip << obj.obj->names[4];
  383.       before = true; 
  384.      } 
  385.     if ((*obj.include)[5]) { 
  386.       if (before) s << obj.delem;
  387.       s << obj.manip << obj.obj->names[5];
  388.       before = true; 
  389.      } 
  390.     if ((*obj.include)[6]) { 
  391.       if (before) s << obj.delem;
  392.       s << obj.manip << obj.obj->names[6];
  393.       before = true; 
  394.      } 
  395.     if ((*obj.include)[7]) { 
  396.       if (before) s << obj.delem;
  397.       s << obj.manip << obj.obj->names[7];
  398.       before = true; 
  399.      } 
  400.     if ((*obj.include)[8]) { 
  401.       if (before) s << obj.delem;
  402.       s << obj.manip << obj.obj->names[8];
  403.       before = true; 
  404.      } 
  405.     if ((*obj.include)[9]) { 
  406.       if (before) s << obj.delem;
  407.       s << obj.manip << obj.obj->names[9];
  408.       before = true; 
  409.      } 
  410.     if ((*obj.include)[10]) { 
  411.       if (before) s << obj.delem;
  412.       s << obj.manip << obj.obj->names[10];
  413.       before = true; 
  414.      } 
  415.     if ((*obj.include)[11]) { 
  416.       if (before) s << obj.delem;
  417.       s << obj.manip << obj.obj->names[11];
  418.       before = true; 
  419.      } 
  420.     if ((*obj.include)[12]) { 
  421.       if (before) s << obj.delem;
  422.       s << obj.manip << obj.obj->names[12];
  423.       before = true; 
  424.      } 
  425.     if ((*obj.include)[13]) { 
  426.       if (before) s << obj.delem;
  427.       s << obj.manip << obj.obj->names[13];
  428.       before = true; 
  429.      } 
  430.     if ((*obj.include)[14]) { 
  431.       if (before) s << obj.delem;
  432.       s << obj.manip << obj.obj->names[14];
  433.       before = true; 
  434.      } 
  435.     if ((*obj.include)[15]) { 
  436.       if (before) s << obj.delem;
  437.       s << obj.manip << obj.obj->names[15];
  438.       before = true; 
  439.      } 
  440.     if ((*obj.include)[16]) { 
  441.       if (before) s << obj.delem;
  442.       s << obj.manip << obj.obj->names[16];
  443.       before = true; 
  444.      } 
  445.     if ((*obj.include)[17]) { 
  446.       if (before) s << obj.delem;
  447.       s << obj.manip << obj.obj->names[17];
  448.       before = true; 
  449.      } 
  450.     if ((*obj.include)[18]) { 
  451.       if (before) s << obj.delem;
  452.       s << obj.manip << obj.obj->names[18];
  453.       before = true; 
  454.      } 
  455.     if ((*obj.include)[19]) { 
  456.       if (before) s << obj.delem;
  457.       s << obj.manip << obj.obj->names[19];
  458.       before = true; 
  459.      } 
  460.     if ((*obj.include)[20]) { 
  461.       if (before) s << obj.delem;
  462.       s << obj.manip << obj.obj->names[20];
  463.       before = true; 
  464.      } 
  465.     if ((*obj.include)[21]) { 
  466.       if (before) s << obj.delem;
  467.       s << obj.manip << obj.obj->names[21];
  468.      } 
  469.     return s; 
  470.   } 
  471.   template <class Manip>
  472.   ostream& operator << (ostream& s, const NAME##_cus_equal_list<Manip>& obj) { 
  473.     bool before = false; 
  474.     if ((*obj.include)[0]) { 
  475.       s << obj.obj->names[0] << obj.comp << obj.manip << obj.obj->##I1;
  476.       before = true; 
  477.      } 
  478.     if ((*obj.include)[1]) { 
  479.       if (before) s << obj.delem;
  480.       s << obj.obj->names[1] << obj.comp << obj.manip << obj.obj->##I2;
  481.       before = true; 
  482.      } 
  483.     if ((*obj.include)[2]) { 
  484.       if (before) s << obj.delem;
  485.       s << obj.obj->names[2] << obj.comp << obj.manip << obj.obj->##I3;
  486.       before = true; 
  487.      } 
  488.     if ((*obj.include)[3]) { 
  489.       if (before) s << obj.delem;
  490.       s << obj.obj->names[3] << obj.comp << obj.manip << obj.obj->##I4;
  491.       before = true; 
  492.      } 
  493.     if ((*obj.include)[4]) { 
  494.       if (before) s << obj.delem;
  495.       s << obj.obj->names[4] << obj.comp << obj.manip << obj.obj->##I5;
  496.       before = true; 
  497.      } 
  498.     if ((*obj.include)[5]) { 
  499.       if (before) s << obj.delem;
  500.       s << obj.obj->names[5] << obj.comp << obj.manip << obj.obj->##I6;
  501.       before = true; 
  502.      } 
  503.     if ((*obj.include)[6]) { 
  504.       if (before) s << obj.delem;
  505.       s << obj.obj->names[6] << obj.comp << obj.manip << obj.obj->##I7;
  506.       before = true; 
  507.      } 
  508.     if ((*obj.include)[7]) { 
  509.       if (before) s << obj.delem;
  510.       s << obj.obj->names[7] << obj.comp << obj.manip << obj.obj->##I8;
  511.       before = true; 
  512.      } 
  513.     if ((*obj.include)[8]) { 
  514.       if (before) s << obj.delem;
  515.       s << obj.obj->names[8] << obj.comp << obj.manip << obj.obj->##I9;
  516.       before = true; 
  517.      } 
  518.     if ((*obj.include)[9]) { 
  519.       if (before) s << obj.delem;
  520.       s << obj.obj->names[9] << obj.comp << obj.manip << obj.obj->##I10;
  521.       before = true; 
  522.      } 
  523.     if ((*obj.include)[10]) { 
  524.       if (before) s << obj.delem;
  525.       s << obj.obj->names[10] << obj.comp << obj.manip << obj.obj->##I11;
  526.       before = true; 
  527.      } 
  528.     if ((*obj.include)[11]) { 
  529.       if (before) s << obj.delem;
  530.       s << obj.obj->names[11] << obj.comp << obj.manip << obj.obj->##I12;
  531.       before = true; 
  532.      } 
  533.     if ((*obj.include)[12]) { 
  534.       if (before) s << obj.delem;
  535.       s << obj.obj->names[12] << obj.comp << obj.manip << obj.obj->##I13;
  536.       before = true; 
  537.      } 
  538.     if ((*obj.include)[13]) { 
  539.       if (before) s << obj.delem;
  540.       s << obj.obj->names[13] << obj.comp << obj.manip << obj.obj->##I14;
  541.       before = true; 
  542.      } 
  543.     if ((*obj.include)[14]) { 
  544.       if (before) s << obj.delem;
  545.       s << obj.obj->names[14] << obj.comp << obj.manip << obj.obj->##I15;
  546.       before = true; 
  547.      } 
  548.     if ((*obj.include)[15]) { 
  549.       if (before) s << obj.delem;
  550.       s << obj.obj->names[15] << obj.comp << obj.manip << obj.obj->##I16;
  551.       before = true; 
  552.      } 
  553.     if ((*obj.include)[16]) { 
  554.       if (before) s << obj.delem;
  555.       s << obj.obj->names[16] << obj.comp << obj.manip << obj.obj->##I17;
  556.       before = true; 
  557.      } 
  558.     if ((*obj.include)[17]) { 
  559.       if (before) s << obj.delem;
  560.       s << obj.obj->names[17] << obj.comp << obj.manip << obj.obj->##I18;
  561.       before = true; 
  562.      } 
  563.     if ((*obj.include)[18]) { 
  564.       if (before) s << obj.delem;
  565.       s << obj.obj->names[18] << obj.comp << obj.manip << obj.obj->##I19;
  566.       before = true; 
  567.      } 
  568.     if ((*obj.include)[19]) { 
  569.       if (before) s << obj.delem;
  570.       s << obj.obj->names[19] << obj.comp << obj.manip << obj.obj->##I20;
  571.       before = true; 
  572.      } 
  573.     if ((*obj.include)[20]) { 
  574.       if (before) s << obj.delem;
  575.       s << obj.obj->names[20] << obj.comp << obj.manip << obj.obj->##I21;
  576.       before = true; 
  577.      } 
  578.     if ((*obj.include)[21]) { 
  579.       if (before) s << obj.delem;
  580.       s << obj.obj->names[21] << obj.comp << obj.manip << obj.obj->##I22;
  581.      } 
  582.     return s; 
  583.   } 
  584.   template <class Manip>
  585.   inline NAME##_value_list<Manip> NAME##::value_list(cchar *d, Manip m) const { 
  586.     return NAME##_value_list<Manip> (this, d, m); 
  587.   } 
  588.   template <class Manip>
  589.   inline NAME##_field_list<Manip> NAME##::field_list(cchar *d, Manip m) const { 
  590.     return NAME##_field_list<Manip> (this, d, m); 
  591.   } 
  592.   template <class Manip>
  593.   inline NAME##_equal_list<Manip> NAME##::equal_list(cchar *d, cchar *c, Manip m) const { 
  594.     return NAME##_equal_list<Manip> (this, d, c, m); 
  595.   } 
  596.   template <class Manip>
  597.   inline NAME##_cus_value_list<Manip> NAME##::value_list(cchar *d, Manip m,
  598.        bool i1, bool i2, bool i3, bool i4, bool i5, bool i6, bool i7, bool i8, bool i9, bool i10, bool i11, bool i12, bool i13, bool i14, bool i15, bool i16, bool i17, bool i18, bool i19, bool i20, bool i21, bool i22) const {
  599.     return NAME##_cus_value_list<Manip> (this, d, m, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22); 
  600.   } 
  601.   template <class Manip>
  602.   inline NAME##_cus_field_list<Manip> NAME##::field_list(cchar *d, Manip m,
  603.  bool i1, bool i2, bool i3, bool i4, bool i5, bool i6, bool i7, bool i8, bool i9, bool i10, bool i11, bool i12, bool i13, bool i14, bool i15, bool i16, bool i17, bool i18, bool i19, bool i20, bool i21, bool i22) const { 
  604.     return NAME##_cus_field_list<Manip> (this, d, m, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22); 
  605.   } 
  606.   template <class Manip>
  607.   inline NAME##_cus_equal_list<Manip> NAME##::equal_list(cchar *d, cchar *c, Manip m,
  608.  bool i1, bool i2, bool i3, bool i4, bool i5, bool i6, bool i7, bool i8, bool i9, bool i10, bool i11, bool i12, bool i13, bool i14, bool i15, bool i16, bool i17, bool i18, bool i19, bool i20, bool i21, bool i22) const { 
  609.     return NAME##_cus_equal_list<Manip> (this, d, c, m, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22); 
  610.   } 
  611.   template <class Manip>
  612.   inline NAME##_cus_value_list<Manip> NAME##::value_list(cchar *d, Manip m,
  613.        ##NAME##_enum i1, ##NAME##_enum i2, ##NAME##_enum i3, ##NAME##_enum i4, ##NAME##_enum i5, ##NAME##_enum i6, ##NAME##_enum i7, ##NAME##_enum i8, ##NAME##_enum i9, ##NAME##_enum i10, ##NAME##_enum i11, ##NAME##_enum i12, ##NAME##_enum i13, ##NAME##_enum i14, ##NAME##_enum i15, ##NAME##_enum i16, ##NAME##_enum i17, ##NAME##_enum i18, ##NAME##_enum i19, ##NAME##_enum i20, ##NAME##_enum i21, ##NAME##_enum i22) const { 
  614.     return NAME##_cus_value_list<Manip> (this, d, m, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22); 
  615.   } 
  616.   template <class Manip>
  617.   inline NAME##_cus_field_list<Manip> NAME##::field_list(cchar *d, Manip m,
  618.  ##NAME##_enum i1, ##NAME##_enum i2, ##NAME##_enum i3, ##NAME##_enum i4, ##NAME##_enum i5, ##NAME##_enum i6, ##NAME##_enum i7, ##NAME##_enum i8, ##NAME##_enum i9, ##NAME##_enum i10, ##NAME##_enum i11, ##NAME##_enum i12, ##NAME##_enum i13, ##NAME##_enum i14, ##NAME##_enum i15, ##NAME##_enum i16, ##NAME##_enum i17, ##NAME##_enum i18, ##NAME##_enum i19, ##NAME##_enum i20, ##NAME##_enum i21, ##NAME##_enum i22) const {
  619.     return NAME##_cus_field_list<Manip> (this, d, m, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22); 
  620.   } 
  621.   template <class Manip>
  622.   inline NAME##_cus_equal_list<Manip> NAME##::equal_list(cchar *d, cchar *c, Manip m, 
  623.  ##NAME##_enum i1, ##NAME##_enum i2, ##NAME##_enum i3, ##NAME##_enum i4, ##NAME##_enum i5, ##NAME##_enum i6, ##NAME##_enum i7, ##NAME##_enum i8, ##NAME##_enum i9, ##NAME##_enum i10, ##NAME##_enum i11, ##NAME##_enum i12, ##NAME##_enum i13, ##NAME##_enum i14, ##NAME##_enum i15, ##NAME##_enum i16, ##NAME##_enum i17, ##NAME##_enum i18, ##NAME##_enum i19, ##NAME##_enum i20, ##NAME##_enum i21, ##NAME##_enum i22) const { 
  624.     return NAME##_cus_equal_list<Manip> (this, d, c, m, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22); 
  625.   } 
  626.   template <class Manip>
  627.   inline NAME##_cus_value_list<Manip> 
  628.   NAME##::value_list(cchar *d, Manip m, sql_cmp_type sc) const {
  629.     sql_compare_type_def_##CMP (NAME, value, NUM);
  630.   }
  631.   template <class Manip>
  632.   inline NAME##_cus_field_list<Manip> 
  633.   NAME##::field_list(cchar *d, Manip m, sql_cmp_type sc) const {
  634.     sql_compare_type_def_##CMP (NAME, field, NUM);
  635.   }
  636.   template <class Manip>
  637.   inline NAME##_cus_equal_list<Manip> 
  638.   NAME##::equal_list(cchar *d, cchar *c, Manip m, sql_cmp_type sc) const {
  639.     sql_compare_type_defe_##CMP (NAME, equal, NUM);
  640.   }
  641.   template <sql_dummy_type dummy> 
  642.   void populate_##NAME (NAME *s, const MysqlRow &row) { 
  643.     s->##I1 = row[ O1 ];
  644.     s->##I2 = row[ O2 ];
  645.     s->##I3 = row[ O3 ];
  646.     s->##I4 = row[ O4 ];
  647.     s->##I5 = row[ O5 ];
  648.     s->##I6 = row[ O6 ];
  649.     s->##I7 = row[ O7 ];
  650.     s->##I8 = row[ O8 ];
  651.     s->##I9 = row[ O9 ];
  652.     s->##I10 = row[ O10 ];
  653.     s->##I11 = row[ O11 ];
  654.     s->##I12 = row[ O12 ];
  655.     s->##I13 = row[ O13 ];
  656.     s->##I14 = row[ O14 ];
  657.     s->##I15 = row[ O15 ];
  658.     s->##I16 = row[ O16 ];
  659.     s->##I17 = row[ O17 ];
  660.     s->##I18 = row[ O18 ];
  661.     s->##I19 = row[ O19 ];
  662.     s->##I20 = row[ O20 ];
  663.     s->##I21 = row[ O21 ];
  664.     s->##I22 = row[ O22 ];
  665.   } 
  666.   inline NAME##::##NAME (const MysqlRow &row) 
  667.                                         {populate_##NAME##<sql_dummy>(this, row);}
  668.   inline void NAME##::set (const MysqlRow &row)
  669.                                         {populate_##NAME##<sql_dummy>(this, row);}
  670.   sql_COMPARE__##CMP##(NAME, I1, I2, I3, I4, I5, I6, I7, I8, I9, I10, I11, I12, I13, I14, I15, I16, I17, I18, I19, I20, I21, I22, 0, 0, 0, 0 )
  671. #define sql_create_basic_22(NAME, CMP, CONTR, T1, I1, T2, I2, T3, I3, T4, I4, T5, I5, T6, I6, T7, I7, T8, I8, T9, I9, T10, I10, T11, I11, T12, I12, T13, I13, T14, I14, T15, I15, T16, I16, T17, I17, T18, I18, T19, I19, T20, I20, T21, I21, T22, I22) 
  672.   sql_create_basic_c_order_22(NAME, CMP, CONTR, T1, I1, 0, T2, I2, 1, T3, I3, 2, T4, I4, 3, T5, I5, 4, T6, I6, 5, T7, I7, 6, T8, I8, 7, T9, I9, 8, T10, I10, 9, T11, I11, 10, T12, I12, 11, T13, I13, 12, T14, I14, 13, T15, I15, 14, T16, I16, 15, T17, I17, 16, T18, I18, 17, T19, I19, 18, T20, I20, 19, T21, I21, 20, T22, I22, 21)
  673. #define sql_create_22(NAME, CMP, CONTR, T1, I1, T2, I2, T3, I3, T4, I4, T5, I5, T6, I6, T7, I7, T8, I8, T9, I9, T10, I10, T11, I11, T12, I12, T13, I13, T14, I14, T15, I15, T16, I16, T17, I17, T18, I18, T19, I19, T20, I20, T21, I21, T22, I22) 
  674.   sql_create_complete_22(NAME, CMP, CONTR, T1, I1, #I1, 0, T2, I2, #I2, 1, T3, I3, #I3, 2, T4, I4, #I4, 3, T5, I5, #I5, 4, T6, I6, #I6, 5, T7, I7, #I7, 6, T8, I8, #I8, 7, T9, I9, #I9, 8, T10, I10, #I10, 9, T11, I11, #I11, 10, T12, I12, #I12, 11, T13, I13, #I13, 12, T14, I14, #I14, 13, T15, I15, #I15, 14, T16, I16, #I16, 15, T17, I17, #I17, 16, T18, I18, #I18, 17, T19, I19, #I19, 18, T20, I20, #I20, 19, T21, I21, #I21, 20, T22, I22, #I22, 21) 
  675. #define sql_create_c_order_22(NAME, CMP, CONTR, T1, I1, O1, T2, I2, O2, T3, I3, O3, T4, I4, O4, T5, I5, O5, T6, I6, O6, T7, I7, O7, T8, I8, O8, T9, I9, O9, T10, I10, O10, T11, I11, O11, T12, I12, O12, T13, I13, O13, T14, I14, O14, T15, I15, O15, T16, I16, O16, T17, I17, O17, T18, I18, O18, T19, I19, O19, T20, I20, O20, T21, I21, O21, T22, I22, O22) 
  676.   sql_create_complete_22(NAME, CMP, CONTR, T1, I1, #I1, O1, T2, I2, #I2, O2, T3, I3, #I3, O3, T4, I4, #I4, O4, T5, I5, #I5, O5, T6, I6, #I6, O6, T7, I7, #I7, O7, T8, I8, #I8, O8, T9, I9, #I9, O9, T10, I10, #I10, O10, T11, I11, #I11, O11, T12, I12, #I12, O12, T13, I13, #I13, O13, T14, I14, #I14, O14, T15, I15, #I15, O15, T16, I16, #I16, O16, T17, I17, #I17, O17, T18, I18, #I18, O18, T19, I19, #I19, O19, T20, I20, #I20, O20, T21, I21, #I21, O21, T22, I22, #I22, O22)
  677. #define sql_create_c_names_22(NAME, CMP, CONTR, T1, I1, N1, T2, I2, N2, T3, I3, N3, T4, I4, N4, T5, I5, N5, T6, I6, N6, T7, I7, N7, T8, I8, N8, T9, I9, N9, T10, I10, N10, T11, I11, N11, T12, I12, N12, T13, I13, N13, T14, I14, N14, T15, I15, N15, T16, I16, N16, T17, I17, N17, T18, I18, N18, T19, I19, N19, T20, I20, N20, T21, I21, N21, T22, I22, N22) 
  678.   sql_create_complete_22(NAME, CMP, CONTR, T1, I1, N1, 0, T2, I2, N2, 1, T3, I3, N3, 2, T4, I4, N4, 3, T5, I5, N5, 4, T6, I6, N6, 5, T7, I7, N7, 6, T8, I8, N8, 7, T9, I9, N9, 8, T10, I10, N10, 9, T11, I11, N11, 10, T12, I12, N12, 11, T13, I13, N13, 12, T14, I14, N14, 13, T15, I15, N15, 14, T16, I16, N16, 15, T17, I17, N17, 16, T18, I18, N18, 17, T19, I19, N19, 18, T20, I20, N20, 19, T21, I21, N21, 20, T22, I22, N22, 21)
  679. // ---------------------------------------------------
  680. //                  End Create 22
  681. // ---------------------------------------------------
  682. // ---------------------------------------------------
  683. //                  Begin Create 23
  684. // ---------------------------------------------------
  685. #define sql_create_basic_c_order_23(NAME, CMP, CONTR, T1, I1, O1, T2, I2, O2, T3, I3, O3, T4, I4, O4, T5, I5, O5, T6, I6, O6, T7, I7, O7, T8, I8, O8, T9, I9, O9, T10, I10, O10, T11, I11, O11, T12, I12, O12, T13, I13, O13, T14, I14, O14, T15, I15, O15, T16, I16, O16, T17, I17, O17, T18, I18, O18, T19, I19, O19, T20, I20, O20, T21, I21, O21, T22, I22, O22, T23, I23, O23)
  686.   struct NAME; 
  687.   template <sql_dummy_type dummy> int sql_compare_##NAME (const NAME &, const NAME &);
  688.   struct NAME { 
  689.     T1 I1;
  690.     T2 I2;
  691.     T3 I3;
  692.     T4 I4;
  693.     T5 I5;
  694.     T6 I6;
  695.     T7 I7;
  696.     T8 I8;
  697.     T9 I9;
  698.     T10 I10;
  699.     T11 I11;
  700.     T12 I12;
  701.     T13 I13;
  702.     T14 I14;
  703.     T15 I15;
  704.     T16 I16;
  705.     T17 I17;
  706.     T18 I18;
  707.     T19 I19;
  708.     T20 I20;
  709.     T21 I21;
  710.     T22 I22;
  711.     T23 I23; 
  712.     NAME () {} 
  713.     NAME (const MysqlRow &row);
  714.     sql_compare_define_##CMP(NAME, T1, I1, T2, I2, T3, I3, T4, I4, T5, I5, T6, I6, T7, I7, T8, I8, T9, I9, T10, I10, T11, I11, T12, I12, T13, I13, T14, I14, T15, I15, T16, I16, T17, I17, T18, I18, T19, I19, T20, I20, T21, I21, T22, I22, T23, I23, 0, 0, 0, 0, 0, 0)
  715.   }; 
  716.   template <sql_dummy_type dummy> 
  717.     void populate_##NAME (NAME *s, const MysqlRow &row) { 
  718.     s->##I1 = row[ O1 ];
  719.     s->##I2 = row[ O2 ];
  720.     s->##I3 = row[ O3 ];
  721.     s->##I4 = row[ O4 ];
  722.     s->##I5 = row[ O5 ];
  723.     s->##I6 = row[ O6 ];
  724.     s->##I7 = row[ O7 ];
  725.     s->##I8 = row[ O8 ];
  726.     s->##I9 = row[ O9 ];
  727.     s->##I10 = row[ O10 ];
  728.     s->##I11 = row[ O11 ];
  729.     s->##I12 = row[ O12 ];
  730.     s->##I13 = row[ O13 ];
  731.     s->##I14 = row[ O14 ];
  732.     s->##I15 = row[ O15 ];
  733.     s->##I16 = row[ O16 ];
  734.     s->##I17 = row[ O17 ];
  735.     s->##I18 = row[ O18 ];
  736.     s->##I19 = row[ O19 ];
  737.     s->##I20 = row[ O20 ];
  738.     s->##I21 = row[ O21 ];
  739.     s->##I22 = row[ O22 ];
  740.     s->##I23 = row[ O23 ]; 
  741.   } 
  742.   inline NAME##::##NAME (const MysqlRow &row) 
  743.     {populate_##NAME##<sql_dummy>(this, row);} 
  744.   sql_COMPARE__##CMP##(NAME, I1, I2, I3, I4, I5, I6, I7, I8, I9, I10, I11, I12, I13, I14, I15, I16, I17, I18, I19, I20, I21, I22, I23, 0, 0, 0 )
  745. #define sql_create_complete_23(NAME, CMP, CONTR, T1, I1, N1, O1, T2, I2, N2, O2, T3, I3, N3, O3, T4, I4, N4, O4, T5, I5, N5, O5, T6, I6, N6, O6, T7, I7, N7, O7, T8, I8, N8, O8, T9, I9, N9, O9, T10, I10, N10, O10, T11, I11, N11, O11, T12, I12, N12, O12, T13, I13, N13, O13, T14, I14, N14, O14, T15, I15, N15, O15, T16, I16, N16, O16, T17, I17, N17, O17, T18, I18, N18, O18, T19, I19, N19, O19, T20, I20, N20, O20, T21, I21, N21, O21, T22, I22, N22, O22, T23, I23, N23, O23) 
  746.   struct NAME; 
  747.   enum NAME##_enum { 
  748.     NAME##_##I1,
  749.     NAME##_##I2,
  750.     NAME##_##I3,
  751.     NAME##_##I4,
  752.     NAME##_##I5,
  753.     NAME##_##I6,
  754.     NAME##_##I7,
  755.     NAME##_##I8,
  756.     NAME##_##I9,
  757.     NAME##_##I10,
  758.     NAME##_##I11,
  759.     NAME##_##I12,
  760.     NAME##_##I13,
  761.     NAME##_##I14,
  762.     NAME##_##I15,
  763.     NAME##_##I16,
  764.     NAME##_##I17,
  765.     NAME##_##I18,
  766.     NAME##_##I19,
  767.     NAME##_##I20,
  768.     NAME##_##I21,
  769.     NAME##_##I22,
  770.     NAME##_##I23 
  771.     ,NAME##_NULL 
  772.   }; 
  773.   template <class Manip>
  774.   class NAME##_value_list { 
  775.   /*friend ostream& operator << <> (ostream&, const NAME##_value_list&); */
  776.   public: 
  777.     const NAME *obj;
  778.     cchar *delem;
  779.     Manip manip;
  780.   public: 
  781.     NAME##_value_list (const NAME *o, cchar *d, Manip m) 
  782.       : obj(o), delem(d), manip(m) {} 
  783.   };
  784.   template <class Manip>
  785.   class NAME##_##field_list {
  786.   /* friend ostream& operator << <> (ostream&, const NAME##_field_list&); */
  787.   public: 
  788.     const NAME *obj; 
  789.     cchar *delem;
  790.     Manip manip;
  791.   public: 
  792.     NAME##_field_list (const NAME *o, cchar *d, Manip m) 
  793.       : obj(o), delem(d), manip(m) {} 
  794.   };
  795.   template <class Manip>
  796.   class NAME##_equal_list { 
  797.   /* friend ostream& operator << <> (ostream&, const NAME##_equal_list&); */
  798.   public: 
  799.     const NAME *obj;
  800.     cchar *delem;
  801.     cchar *comp;
  802.     Manip manip;
  803.   public: 
  804.     NAME##_equal_list (const NAME *o, cchar *d, cchar *c, Manip m) 
  805.       : obj(o), delem(d), comp(c), manip(m) {}
  806.   };
  807.   template <class Manip>
  808.   class NAME##_cus_value_list {
  809.   /* friend ostream& operator << <> (ostream&, 
  810.      const NAME##_cus_value_list<Manip>&); */
  811.   public:
  812.     const NAME *obj;
  813.     cchar *delem;
  814.     Manip manip;
  815.     vector<bool> *include;
  816.     bool del_vector;
  817.   public: 
  818.     ~##NAME##_cus_value_list () {if (del_vector) delete include;} 
  819.     NAME##_cus_value_list (const NAME *o, cchar *d, Manip m, bool i1, bool i2, bool i3, bool i4, bool i5, bool i6, bool i7, bool i8, bool i9, bool i10, bool i11, bool i12, bool i13, bool i14, bool i15, bool i16, bool i17, bool i18, bool i19, bool i20, bool i21, bool i22, bool i23);
  820.     NAME##_cus_value_list (const NAME *o, cchar *d, Manip m, ##NAME##_enum i1, ##NAME##_enum i2, ##NAME##_enum i3, ##NAME##_enum i4, ##NAME##_enum i5, ##NAME##_enum i6, ##NAME##_enum i7, ##NAME##_enum i8, ##NAME##_enum i9, ##NAME##_enum i10, ##NAME##_enum i11, ##NAME##_enum i12, ##NAME##_enum i13, ##NAME##_enum i14, ##NAME##_enum i15, ##NAME##_enum i16, ##NAME##_enum i17, ##NAME##_enum i18, ##NAME##_enum i19, ##NAME##_enum i20, ##NAME##_enum i21, ##NAME##_enum i22, ##NAME##_enum i23); 
  821.     NAME##_cus_value_list (const NAME *o, cchar *d, Manip m ,vector<bool>)
  822.       : obj(o), include(i), del_vector(false), delem(d), manip(m) {}
  823.   };
  824.   template <class Manip>
  825.   class NAME##_cus_field_list { 
  826.   /* friend ostream& operator << <> (ostream&, 
  827.         const NAME##_cus_field_list<Manip>&); */
  828.   public:
  829.     const NAME *obj; 
  830.     cchar *delem;
  831.     Manip manip;
  832.     vector<bool> *include; 
  833.     bool del_vector; 
  834.   public: 
  835.     ~##NAME##_cus_field_list () {if (del_vector) delete include;} 
  836.     NAME##_cus_field_list (const NAME *o, cchar *d, Manip m, bool i1, bool i2, bool i3, bool i4, bool i5, bool i6, bool i7, bool i8, bool i9, bool i10, bool i11, bool i12, bool i13, bool i14, bool i15, bool i16, bool i17, bool i18, bool i19, bool i20, bool i21, bool i22, bool i23); 
  837.     NAME##_cus_field_list (const NAME *o, cchar *d, Manip m, ##NAME##_enum i1, ##NAME##_enum i2, ##NAME##_enum i3, ##NAME##_enum i4, ##NAME##_enum i5, ##NAME##_enum i6, ##NAME##_enum i7, ##NAME##_enum i8, ##NAME##_enum i9, ##NAME##_enum i10, ##NAME##_enum i11, ##NAME##_enum i12, ##NAME##_enum i13, ##NAME##_enum i14, ##NAME##_enum i15, ##NAME##_enum i16, ##NAME##_enum i17, ##NAME##_enum i18, ##NAME##_enum i19, ##NAME##_enum i20, ##NAME##_enum i21, ##NAME##_enum i22, ##NAME##_enum i23); 
  838.     NAME##_cus_field_list (const NAME *o, cchar *d, Manip m, vector<bool> *i) 
  839.       : obj(o), include(i), del_vector(false), delem(d), manip(m) {}
  840.   };
  841.  template <class Manip>
  842.  class NAME##_cus_equal_list {
  843.  /* friend ostream& operator << <> (ostream&, 
  844.   const NAME##_cus_equal_list<Manip>&); */
  845.   public:
  846.     const NAME *obj;
  847.     vector<bool> *include;
  848.     bool del_vector;
  849.     cchar *delem;
  850.     cchar *comp;
  851.     Manip manip;
  852.   public:
  853.     ~##NAME##_##cus_equal_list () {if (del_vector) delete include;}
  854.     NAME##_##cus_equal_list (const NAME *o, cchar *d, cchar *c, Manip m, bool i1, bool i2, bool i3, bool i4, bool i5, bool i6, bool i7, bool i8, bool i9, bool i10, bool i11, bool i12, bool i13, bool i14, bool i15, bool i16, bool i17, bool i18, bool i19, bool i20, bool i21, bool i22, bool i23); 
  855.     NAME##_##cus_equal_list (const NAME *o, cchar *d, cchar *c, Manip m, ##NAME##_enum i1, ##NAME##_enum i2, ##NAME##_enum i3, ##NAME##_enum i4, ##NAME##_enum i5, ##NAME##_enum i6, ##NAME##_enum i7, ##NAME##_enum i8, ##NAME##_enum i9, ##NAME##_enum i10, ##NAME##_enum i11, ##NAME##_enum i12, ##NAME##_enum i13, ##NAME##_enum i14, ##NAME##_enum i15, ##NAME##_enum i16, ##NAME##_enum i17, ##NAME##_enum i18, ##NAME##_enum i19, ##NAME##_enum i20, ##NAME##_enum i21, ##NAME##_enum i22, ##NAME##_enum i23); 
  856.     NAME##_##cus_equal_list (const NAME *o, cchar *d, cchar *c, Manip m, vector<bool> *i) 
  857.       : obj(o), include(i), del_vector(false), delem(d), comp(c), manip(m) {}
  858.   };
  859.   template <sql_dummy_type dummy> int sql_compare_##NAME (const NAME &, const NAME &);
  860.   struct NAME { 
  861.     T1 I1;
  862.     T2 I2;
  863.     T3 I3;
  864.     T4 I4;
  865.     T5 I5;
  866.     T6 I6;
  867.     T7 I7;
  868.     T8 I8;
  869.     T9 I9;
  870.     T10 I10;
  871.     T11 I11;
  872.     T12 I12;
  873.     T13 I13;
  874.     T14 I14;
  875.     T15 I15;
  876.     T16 I16;
  877.     T17 I17;
  878.     T18 I18;
  879.     T19 I19;
  880.     T20 I20;
  881.     T21 I21;
  882.     T22 I22;
  883.     T23 I23; 
  884.     NAME () {} 
  885.     NAME (const MysqlRow &row);
  886.     void set (const MysqlRow &row);
  887.     sql_compare_define_##CMP(NAME, T1, I1, T2, I2, T3, I3, T4, I4, T5, I5, T6, I6, T7, I7, T8, I8, T9, I9, T10, I10, T11, I11, T12, I12, T13, I13, T14, I14, T15, I15, T16, I16, T17, I17, T18, I18, T19, I19, T20, I20, T21, I21, T22, I22, T23, I23, 0, 0, 0, 0, 0, 0)
  888.     sql_construct_define_##CONTR(NAME, T1, I1, T2, I2, T3, I3, T4, I4, T5, I5, T6, I6, T7, I7, T8, I8, T9, I9, T10, I10, T11, I11, T12, I12, T13, I13, T14, I14, T15, I15, T16, I16, T17, I17, T18, I18, T19, I19, T20, I20, T21, I21, T22, I22, T23, I23, 0, 0, 0, 0, 0, 0)
  889.     static char *names[];
  890.     static char *_table;
  891.     static char *& table() {return _table;}
  892.     /* cus_data */
  893.     NAME##_cus_value_list<quote_type0> value_list(bool i1, bool i2 = false, bool i3 = false, bool i4 = false, bool i5 = false, bool i6 = false, bool i7 = false, bool i8 = false, bool i9 = false, bool i10 = false, bool i11 = false, bool i12 = false, bool i13 = false, bool i14 = false, bool i15 = false, bool i16 = false, bool i17 = false, bool i18 = false, bool i19 = false, bool i20 = false, bool i21 = false, bool i22 = false, bool i23 = false) const {
  894.       return value_list(",", mysql_quote, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23);
  895.     }
  896.     NAME##_cus_value_list<quote_type0> value_list(##NAME##_enum i1, ##NAME##_enum i2 = ##NAME##_NULL, ##NAME##_enum i3 = ##NAME##_NULL, ##NAME##_enum i4 = ##NAME##_NULL, ##NAME##_enum i5 = ##NAME##_NULL, ##NAME##_enum i6 = ##NAME##_NULL, ##NAME##_enum i7 = ##NAME##_NULL, ##NAME##_enum i8 = ##NAME##_NULL, ##NAME##_enum i9 = ##NAME##_NULL, ##NAME##_enum i10 = ##NAME##_NULL, ##NAME##_enum i11 = ##NAME##_NULL, ##NAME##_enum i12 = ##NAME##_NULL, ##NAME##_enum i13 = ##NAME##_NULL, ##NAME##_enum i14 = ##NAME##_NULL, ##NAME##_enum i15 = ##NAME##_NULL, ##NAME##_enum i16 = ##NAME##_NULL, ##NAME##_enum i17 = ##NAME##_NULL, ##NAME##_enum i18 = ##NAME##_NULL, ##NAME##_enum i19 = ##NAME##_NULL, ##NAME##_enum i20 = ##NAME##_NULL, ##NAME##_enum i21 = ##NAME##_NULL, ##NAME##_enum i22 = ##NAME##_NULL, ##NAME##_enum i23 = ##NAME##_NULL) const {
  897.       return value_list(",", mysql_quote, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23);
  898.     }
  899.     NAME##_cus_value_list<quote_type0> value_list(vector<bool> *i) const {
  900.       return value_list(",", mysql_quote, i);
  901.     }
  902.     NAME##_cus_value_list<quote_type0> value_list(sql_cmp_type sc) const {
  903.       return value_list(",", mysql_quote, sc);
  904.     }
  905.     NAME##_cus_value_list<quote_type0> value_list(cchar *d, bool i1, bool i2 = false, bool i3 = false, bool i4 = false, bool i5 = false, bool i6 = false, bool i7 = false, bool i8 = false, bool i9 = false, bool i10 = false, bool i11 = false, bool i12 = false, bool i13 = false, bool i14 = false, bool i15 = false, bool i16 = false, bool i17 = false, bool i18 = false, bool i19 = false, bool i20 = false, bool i21 = false, bool i22 = false, bool i23 = false) const {
  906.       return value_list(d, mysql_quote, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23);
  907.     }
  908.     NAME##_cus_value_list<quote_type0> value_list(cchar *d, ##NAME##_enum i1, ##NAME##_enum i2 = ##NAME##_NULL, ##NAME##_enum i3 = ##NAME##_NULL, ##NAME##_enum i4 = ##NAME##_NULL, ##NAME##_enum i5 = ##NAME##_NULL, ##NAME##_enum i6 = ##NAME##_NULL, ##NAME##_enum i7 = ##NAME##_NULL, ##NAME##_enum i8 = ##NAME##_NULL, ##NAME##_enum i9 = ##NAME##_NULL, ##NAME##_enum i10 = ##NAME##_NULL, ##NAME##_enum i11 = ##NAME##_NULL, ##NAME##_enum i12 = ##NAME##_NULL, ##NAME##_enum i13 = ##NAME##_NULL, ##NAME##_enum i14 = ##NAME##_NULL, ##NAME##_enum i15 = ##NAME##_NULL, ##NAME##_enum i16 = ##NAME##_NULL, ##NAME##_enum i17 = ##NAME##_NULL, ##NAME##_enum i18 = ##NAME##_NULL, ##NAME##_enum i19 = ##NAME##_NULL, ##NAME##_enum i20 = ##NAME##_NULL, ##NAME##_enum i21 = ##NAME##_NULL, ##NAME##_enum i22 = ##NAME##_NULL, ##NAME##_enum i23 = ##NAME##_NULL) const {
  909.       return value_list(d, mysql_quote, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23);
  910.     }
  911.     NAME##_cus_value_list<quote_type0> value_list(cchar *d, 
  912. vector<bool> *i) const {
  913.       return value_list(d, mysql_quote, i);
  914.     }
  915.     NAME##_cus_value_list<quote_type0> value_list(cchar *d, 
  916. sql_cmp_type sc) const {
  917.       return value_list(d, mysql_quote, sc);
  918.     }
  919.     template <class Manip>
  920.     NAME##_cus_value_list<Manip> value_list(cchar *d, Manip m,
  921.   bool i1, bool i2 = false, bool i3 = false, bool i4 = false, bool i5 = false, bool i6 = false, bool i7 = false, bool i8 = false, bool i9 = false, bool i10 = false, bool i11 = false, bool i12 = false, bool i13 = false, bool i14 = false, bool i15 = false, bool i16 = false, bool i17 = false, bool i18 = false, bool i19 = false, bool i20 = false, bool i21 = false, bool i22 = false, bool i23 = false) const; 
  922.     template <class Manip>
  923.     NAME##_cus_value_list<Manip> value_list(cchar *d, Manip m,
  924.   ##NAME##_enum i1, ##NAME##_enum i2 = ##NAME##_NULL, ##NAME##_enum i3 = ##NAME##_NULL, ##NAME##_enum i4 = ##NAME##_NULL, ##NAME##_enum i5 = ##NAME##_NULL, ##NAME##_enum i6 = ##NAME##_NULL, ##NAME##_enum i7 = ##NAME##_NULL, ##NAME##_enum i8 = ##NAME##_NULL, ##NAME##_enum i9 = ##NAME##_NULL, ##NAME##_enum i10 = ##NAME##_NULL, ##NAME##_enum i11 = ##NAME##_NULL, ##NAME##_enum i12 = ##NAME##_NULL, ##NAME##_enum i13 = ##NAME##_NULL, ##NAME##_enum i14 = ##NAME##_NULL, ##NAME##_enum i15 = ##NAME##_NULL, ##NAME##_enum i16 = ##NAME##_NULL, ##NAME##_enum i17 = ##NAME##_NULL, ##NAME##_enum i18 = ##NAME##_NULL, ##NAME##_enum i19 = ##NAME##_NULL, ##NAME##_enum i20 = ##NAME##_NULL, ##NAME##_enum i21 = ##NAME##_NULL, ##NAME##_enum i22 = ##NAME##_NULL, ##NAME##_enum i23 = ##NAME##_NULL) const; 
  925.     template <class Manip>
  926.     NAME##_cus_value_list<Manip> value_list(cchar *d, Manip m, 
  927.   vector<bool> *i) const;
  928.     template <class Manip>
  929.     NAME##_cus_value_list<Manip> value_list(cchar *d, Manip m, 
  930.   sql_cmp_type sc) const;
  931.     /* cus field */
  932.     NAME##_cus_field_list<do_nothing_type0> field_list(bool i1, bool i2 = false, bool i3 = false, bool i4 = false, bool i5 = false, bool i6 = false, bool i7 = false, bool i8 = false, bool i9 = false, bool i10 = false, bool i11 = false, bool i12 = false, bool i13 = false, bool i14 = false, bool i15 = false, bool i16 = false, bool i17 = false, bool i18 = false, bool i19 = false, bool i20 = false, bool i21 = false, bool i22 = false, bool i23 = false) const {
  933.       return field_list(",", mysql_do_nothing, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23);
  934.     }
  935.     NAME##_cus_field_list<do_nothing_type0> field_list(##NAME##_enum i1, ##NAME##_enum i2 = ##NAME##_NULL, ##NAME##_enum i3 = ##NAME##_NULL, ##NAME##_enum i4 = ##NAME##_NULL, ##NAME##_enum i5 = ##NAME##_NULL, ##NAME##_enum i6 = ##NAME##_NULL, ##NAME##_enum i7 = ##NAME##_NULL, ##NAME##_enum i8 = ##NAME##_NULL, ##NAME##_enum i9 = ##NAME##_NULL, ##NAME##_enum i10 = ##NAME##_NULL, ##NAME##_enum i11 = ##NAME##_NULL, ##NAME##_enum i12 = ##NAME##_NULL, ##NAME##_enum i13 = ##NAME##_NULL, ##NAME##_enum i14 = ##NAME##_NULL, ##NAME##_enum i15 = ##NAME##_NULL, ##NAME##_enum i16 = ##NAME##_NULL, ##NAME##_enum i17 = ##NAME##_NULL, ##NAME##_enum i18 = ##NAME##_NULL, ##NAME##_enum i19 = ##NAME##_NULL, ##NAME##_enum i20 = ##NAME##_NULL, ##NAME##_enum i21 = ##NAME##_NULL, ##NAME##_enum i22 = ##NAME##_NULL, ##NAME##_enum i23 = ##NAME##_NULL) const {
  936.       return field_list(",", mysql_do_nothing, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23);
  937.     }
  938.     NAME##_cus_field_list<do_nothing_type0> field_list(vector<bool> *i) const {
  939.       return field_list(",", mysql_do_nothing, i);
  940.     }
  941.     NAME##_cus_field_list<do_nothing_type0> field_list(sql_cmp_type sc) const
  942.     {
  943.       return field_list(",", mysql_do_nothing, sc);
  944.     }
  945.     NAME##_cus_field_list<do_nothing_type0> field_list(cchar *d, 
  946.        bool i1, bool i2 = false, bool i3 = false, bool i4 = false, bool i5 = false, bool i6 = false, bool i7 = false, bool i8 = false, bool i9 = false, bool i10 = false, bool i11 = false, bool i12 = false, bool i13 = false, bool i14 = false, bool i15 = false, bool i16 = false, bool i17 = false, bool i18 = false, bool i19 = false, bool i20 = false, bool i21 = false, bool i22 = false, bool i23 = false) const {
  947.       return field_list(d, mysql_do_nothing, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23);
  948.     }
  949.     NAME##_cus_field_list<do_nothing_type0> field_list(cchar *d,
  950.        ##NAME##_enum i1, ##NAME##_enum i2 = ##NAME##_NULL, ##NAME##_enum i3 = ##NAME##_NULL, ##NAME##_enum i4 = ##NAME##_NULL, ##NAME##_enum i5 = ##NAME##_NULL, ##NAME##_enum i6 = ##NAME##_NULL, ##NAME##_enum i7 = ##NAME##_NULL, ##NAME##_enum i8 = ##NAME##_NULL, ##NAME##_enum i9 = ##NAME##_NULL, ##NAME##_enum i10 = ##NAME##_NULL, ##NAME##_enum i11 = ##NAME##_NULL, ##NAME##_enum i12 = ##NAME##_NULL, ##NAME##_enum i13 = ##NAME##_NULL, ##NAME##_enum i14 = ##NAME##_NULL, ##NAME##_enum i15 = ##NAME##_NULL, ##NAME##_enum i16 = ##NAME##_NULL, ##NAME##_enum i17 = ##NAME##_NULL, ##NAME##_enum i18 = ##NAME##_NULL, ##NAME##_enum i19 = ##NAME##_NULL, ##NAME##_enum i20 = ##NAME##_NULL, ##NAME##_enum i21 = ##NAME##_NULL, ##NAME##_enum i22 = ##NAME##_NULL, ##NAME##_enum i23 = ##NAME##_NULL) const {
  951.       return field_list(d, mysql_do_nothing, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23);
  952.     }
  953.     NAME##_cus_field_list<do_nothing_type0> field_list(cchar *d, 
  954. vector<bool> *i) const {
  955.       return field_list(d, mysql_do_nothing, i);
  956.     }
  957.     NAME##_cus_field_list<do_nothing_type0> field_list(cchar *d, 
  958. sql_cmp_type sc) const {
  959.       return field_list(d, mysql_do_nothing, sc);
  960.     }
  961.     template <class Manip>
  962.     NAME##_cus_field_list<Manip> field_list(cchar *d, Manip m,
  963.     bool i1, bool i2 = false, bool i3 = false, bool i4 = false, bool i5 = false, bool i6 = false, bool i7 = false, bool i8 = false, bool i9 = false, bool i10 = false, bool i11 = false, bool i12 = false, bool i13 = false, bool i14 = false, bool i15 = false, bool i16 = false, bool i17 = false, bool i18 = false, bool i19 = false, bool i20 = false, bool i21 = false, bool i22 = false, bool i23 = false) const; 
  964.     template <class Manip>
  965.     NAME##_cus_field_list<Manip> field_list(cchar *d, Manip m,
  966.     ##NAME##_enum i1, ##NAME##_enum i2 = ##NAME##_NULL, ##NAME##_enum i3 = ##NAME##_NULL, ##NAME##_enum i4 = ##NAME##_NULL, ##NAME##_enum i5 = ##NAME##_NULL, ##NAME##_enum i6 = ##NAME##_NULL, ##NAME##_enum i7 = ##NAME##_NULL, ##NAME##_enum i8 = ##NAME##_NULL, ##NAME##_enum i9 = ##NAME##_NULL, ##NAME##_enum i10 = ##NAME##_NULL, ##NAME##_enum i11 = ##NAME##_NULL, ##NAME##_enum i12 = ##NAME##_NULL, ##NAME##_enum i13 = ##NAME##_NULL, ##NAME##_enum i14 = ##NAME##_NULL, ##NAME##_enum i15 = ##NAME##_NULL, ##NAME##_enum i16 = ##NAME##_NULL, ##NAME##_enum i17 = ##NAME##_NULL, ##NAME##_enum i18 = ##NAME##_NULL, ##NAME##_enum i19 = ##NAME##_NULL, ##NAME##_enum i20 = ##NAME##_NULL, ##NAME##_enum i21 = ##NAME##_NULL, ##NAME##_enum i22 = ##NAME##_NULL, ##NAME##_enum i23 = ##NAME##_NULL) const; 
  967.     template <class Manip>
  968.     NAME##_cus_field_list<Manip> field_list(cchar *d, Manip m,
  969.     vector<bool> *i) const;
  970.     template <class Manip>
  971.     NAME##_cus_field_list<Manip> field_list(cchar *d, Manip m, 
  972.     sql_cmp_type sc) const;
  973.     /* cus equal */
  974.     NAME##_cus_equal_list<quote_type0> equal_list(bool i1, bool i2 = false, bool i3 = false, bool i4 = false, bool i5 = false, bool i6 = false, bool i7 = false, bool i8 = false, bool i9 = false, bool i10 = false, bool i11 = false, bool i12 = false, bool i13 = false, bool i14 = false, bool i15 = false, bool i16 = false, bool i17 = false, bool i18 = false, bool i19 = false, bool i20 = false, bool i21 = false, bool i22 = false, bool i23 = false) const {
  975.       return equal_list(",", " = ", mysql_quote, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23);
  976.     }
  977.     NAME##_cus_equal_list<quote_type0> equal_list(##NAME##_enum i1, ##NAME##_enum i2 = ##NAME##_NULL, ##NAME##_enum i3 = ##NAME##_NULL, ##NAME##_enum i4 = ##NAME##_NULL, ##NAME##_enum i5 = ##NAME##_NULL, ##NAME##_enum i6 = ##NAME##_NULL, ##NAME##_enum i7 = ##NAME##_NULL, ##NAME##_enum i8 = ##NAME##_NULL, ##NAME##_enum i9 = ##NAME##_NULL, ##NAME##_enum i10 = ##NAME##_NULL, ##NAME##_enum i11 = ##NAME##_NULL, ##NAME##_enum i12 = ##NAME##_NULL, ##NAME##_enum i13 = ##NAME##_NULL, ##NAME##_enum i14 = ##NAME##_NULL, ##NAME##_enum i15 = ##NAME##_NULL, ##NAME##_enum i16 = ##NAME##_NULL, ##NAME##_enum i17 = ##NAME##_NULL, ##NAME##_enum i18 = ##NAME##_NULL, ##NAME##_enum i19 = ##NAME##_NULL, ##NAME##_enum i20 = ##NAME##_NULL, ##NAME##_enum i21 = ##NAME##_NULL, ##NAME##_enum i22 = ##NAME##_NULL, ##NAME##_enum i23 = ##NAME##_NULL) const {
  978.       return equal_list(",", " = ", mysql_quote, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23);
  979.     }
  980.     NAME##_cus_equal_list<quote_type0> equal_list(vector<bool> *i) const {
  981.       return equal_list(",", " = ", mysql_quote, i);
  982.     }
  983.     NAME##_cus_equal_list<quote_type0> equal_list(sql_cmp_type sc) const {
  984.       return equal_list(",", " = ", mysql_quote, sc);
  985.     }
  986.     NAME##_cus_equal_list<quote_type0> equal_list(cchar *d, bool i1, bool i2 = false, bool i3 = false, bool i4 = false, bool i5 = false, bool i6 = false, bool i7 = false, bool i8 = false, bool i9 = false, bool i10 = false, bool i11 = false, bool i12 = false, bool i13 = false, bool i14 = false, bool i15 = false, bool i16 = false, bool i17 = false, bool i18 = false, bool i19 = false, bool i20 = false, bool i21 = false, bool i22 = false, bool i23 = false) const {
  987.       return equal_list(d, " = ", mysql_quote, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23);
  988.     }
  989.     NAME##_cus_equal_list<quote_type0> equal_list(cchar *d, ##NAME##_enum i1, ##NAME##_enum i2 = ##NAME##_NULL, ##NAME##_enum i3 = ##NAME##_NULL, ##NAME##_enum i4 = ##NAME##_NULL, ##NAME##_enum i5 = ##NAME##_NULL, ##NAME##_enum i6 = ##NAME##_NULL, ##NAME##_enum i7 = ##NAME##_NULL, ##NAME##_enum i8 = ##NAME##_NULL, ##NAME##_enum i9 = ##NAME##_NULL, ##NAME##_enum i10 = ##NAME##_NULL, ##NAME##_enum i11 = ##NAME##_NULL, ##NAME##_enum i12 = ##NAME##_NULL, ##NAME##_enum i13 = ##NAME##_NULL, ##NAME##_enum i14 = ##NAME##_NULL, ##NAME##_enum i15 = ##NAME##_NULL, ##NAME##_enum i16 = ##NAME##_NULL, ##NAME##_enum i17 = ##NAME##_NULL, ##NAME##_enum i18 = ##NAME##_NULL, ##NAME##_enum i19 = ##NAME##_NULL, ##NAME##_enum i20 = ##NAME##_NULL, ##NAME##_enum i21 = ##NAME##_NULL, ##NAME##_enum i22 = ##NAME##_NULL, ##NAME##_enum i23 = ##NAME##_NULL) const {
  990.       return equal_list(d, " = ", mysql_quote, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23);
  991.     }
  992.     NAME##_cus_equal_list<quote_type0> equal_list(cchar *d, 
  993. vector<bool> *i) const {
  994.       return equal_list(d, " = ", mysql_quote, i);
  995.     }
  996.     NAME##_cus_equal_list<quote_type0> equal_list(cchar *d, 
  997. sql_cmp_type sc) const {
  998.       return equal_list(d, " = ", mysql_quote, sc);
  999.     }
  1000.     NAME##_cus_equal_list<quote_type0> equal_list(cchar *d, cchar *c,
  1001.                                                 bool i1, bool i2 = false, bool i3 = false, bool i4 = false, bool i5 = false, bool i6 = false, bool i7 = false, bool i8 = false, bool i9 = false, bool i10 = false, bool i11 = false, bool i12 = false, bool i13 = false, bool i14 = false, bool i15 = false, bool i16 = false, bool i17 = false, bool i18 = false, bool i19 = false, bool i20 = false, bool i21 = false, bool i22 = false, bool i23 = false) const {
  1002.       return equal_list(d, c, mysql_quote, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23);
  1003.     }
  1004.     NAME##_cus_equal_list<quote_type0> equal_list(cchar *d, cchar *c,
  1005.                                                 ##NAME##_enum i1, ##NAME##_enum i2 = ##NAME##_NULL, ##NAME##_enum i3 = ##NAME##_NULL, ##NAME##_enum i4 = ##NAME##_NULL, ##NAME##_enum i5 = ##NAME##_NULL, ##NAME##_enum i6 = ##NAME##_NULL, ##NAME##_enum i7 = ##NAME##_NULL, ##NAME##_enum i8 = ##NAME##_NULL, ##NAME##_enum i9 = ##NAME##_NULL, ##NAME##_enum i10 = ##NAME##_NULL, ##NAME##_enum i11 = ##NAME##_NULL, ##NAME##_enum i12 = ##NAME##_NULL, ##NAME##_enum i13 = ##NAME##_NULL, ##NAME##_enum i14 = ##NAME##_NULL, ##NAME##_enum i15 = ##NAME##_NULL, ##NAME##_enum i16 = ##NAME##_NULL, ##NAME##_enum i17 = ##NAME##_NULL, ##NAME##_enum i18 = ##NAME##_NULL, ##NAME##_enum i19 = ##NAME##_NULL, ##NAME##_enum i20 = ##NAME##_NULL, ##NAME##_enum i21 = ##NAME##_NULL, ##NAME##_enum i22 = ##NAME##_NULL, ##NAME##_enum i23 = ##NAME##_NULL) const {
  1006.       return equal_list(d, c, mysql_quote, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23);
  1007.     }
  1008.     NAME##_cus_equal_list<quote_type0> equal_list(cchar *d, cchar *c,
  1009. vector<bool> *i) const {
  1010.       return equal_list(d, c, mysql_quote, i);
  1011.     }
  1012.     NAME##_cus_equal_list<quote_type0> equal_list(cchar *d, cchar *c,
  1013. sql_cmp_type sc) const {
  1014.       return equal_list(d, c, mysql_quote, sc);
  1015.     }
  1016.     template <class Manip>
  1017.     NAME##_cus_equal_list<Manip> equal_list(cchar *d, cchar *c, Manip m, 
  1018.     bool i1, bool i2 = false, bool i3 = false, bool i4 = false, bool i5 = false, bool i6 = false, bool i7 = false, bool i8 = false, bool i9 = false, bool i10 = false, bool i11 = false, bool i12 = false, bool i13 = false, bool i14 = false, bool i15 = false, bool i16 = false, bool i17 = false, bool i18 = false, bool i19 = false, bool i20 = false, bool i21 = false, bool i22 = false, bool i23 = false) const; 
  1019.     template <class Manip>
  1020.     NAME##_cus_equal_list<Manip> equal_list(cchar *d, cchar *c, Manip m, 
  1021.     ##NAME##_enum i1, ##NAME##_enum i2 = ##NAME##_NULL, ##NAME##_enum i3 = ##NAME##_NULL, ##NAME##_enum i4 = ##NAME##_NULL, ##NAME##_enum i5 = ##NAME##_NULL, ##NAME##_enum i6 = ##NAME##_NULL, ##NAME##_enum i7 = ##NAME##_NULL, ##NAME##_enum i8 = ##NAME##_NULL, ##NAME##_enum i9 = ##NAME##_NULL, ##NAME##_enum i10 = ##NAME##_NULL, ##NAME##_enum i11 = ##NAME##_NULL, ##NAME##_enum i12 = ##NAME##_NULL, ##NAME##_enum i13 = ##NAME##_NULL, ##NAME##_enum i14 = ##NAME##_NULL, ##NAME##_enum i15 = ##NAME##_NULL, ##NAME##_enum i16 = ##NAME##_NULL, ##NAME##_enum i17 = ##NAME##_NULL, ##NAME##_enum i18 = ##NAME##_NULL, ##NAME##_enum i19 = ##NAME##_NULL, ##NAME##_enum i20 = ##NAME##_NULL, ##NAME##_enum i21 = ##NAME##_NULL, ##NAME##_enum i22 = ##NAME##_NULL, ##NAME##_enum i23 = ##NAME##_NULL) const; 
  1022.     template <class Manip>
  1023.     NAME##_cus_equal_list<Manip> equal_list(cchar *d, cchar *c, Manip m, 
  1024.     vector<bool> *i) const;
  1025.     template <class Manip>
  1026.     NAME##_cus_equal_list<Manip> equal_list(cchar *d, cchar *c, Manip m, 
  1027.     sql_cmp_type sc) const;
  1028.     NAME##_value_list<quote_type0> value_list() const {
  1029.       return value_list(",", mysql_quote);}
  1030.     NAME##_value_list<quote_type0> value_list(cchar *d) const {
  1031.       return value_list(d, mysql_quote);}
  1032.     template <class Manip> 
  1033.     NAME##_value_list<Manip> value_list(cchar *d, Manip m) const; 
  1034.     NAME##_field_list<do_nothing_type0> field_list() const {
  1035.       return field_list(",", mysql_do_nothing);}
  1036.     NAME##_field_list<do_nothing_type0> field_list(cchar *d) const {
  1037.       return field_list(d, mysql_do_nothing);}
  1038.     template <class Manip>
  1039.     NAME##_field_list<Manip> field_list(cchar *d, Manip m) const; 
  1040.     NAME##_equal_list<quote_type0> equal_list(cchar *d = ",", 
  1041.                                               cchar *c = " = ") const{
  1042.       return equal_list(d, c, mysql_quote);}
  1043.     template <class Manip>
  1044.     NAME##_equal_list<Manip> equal_list(cchar *d, cchar *c, Manip m) const; 
  1045.   }; 
  1046.   char *##NAME##::names[] = { 
  1047.     N1 ,
  1048.     N2 ,
  1049.     N3 ,
  1050.     N4 ,
  1051.     N5 ,
  1052.     N6 ,
  1053.     N7 ,
  1054.     N8 ,
  1055.     N9 ,
  1056.     N10 ,
  1057.     N11 ,
  1058.     N12 ,
  1059.     N13 ,
  1060.     N14 ,
  1061.     N15 ,
  1062.     N16 ,
  1063.     N17 ,
  1064.     N18 ,
  1065.     N19 ,
  1066.     N20 ,
  1067.     N21 ,
  1068.     N22 ,
  1069.     N23  
  1070.   }; 
  1071.   char *##NAME##::_table = #NAME ;  
  1072.   template <class Manip>
  1073.   NAME##_cus_value_list<Manip>::NAME##_cus_value_list
  1074.   (const NAME *o, cchar *d, Manip m, bool i1, bool i2, bool i3, bool i4, bool i5, bool i6, bool i7, bool i8, bool i9, bool i10, bool i11, bool i12, bool i13, bool i14, bool i15, bool i16, bool i17, bool i18, bool i19, bool i20, bool i21, bool i22, bool i23) 
  1075.   { 
  1076.     delem = d;
  1077.     manip = m;
  1078.     del_vector = true;
  1079.     obj = o; 
  1080.     include = new vector<bool>(23, false);
  1081.     if (i1) (*include)[0]=true;
  1082.     if (i2) (*include)[1]=true;
  1083.     if (i3) (*include)[2]=true;
  1084.     if (i4) (*include)[3]=true;
  1085.     if (i5) (*include)[4]=true;
  1086.     if (i6) (*include)[5]=true;
  1087.     if (i7) (*include)[6]=true;
  1088.     if (i8) (*include)[7]=true;
  1089.     if (i9) (*include)[8]=true;
  1090.     if (i10) (*include)[9]=true;
  1091.     if (i11) (*include)[10]=true;
  1092.     if (i12) (*include)[11]=true;
  1093.     if (i13) (*include)[12]=true;
  1094.     if (i14) (*include)[13]=true;
  1095.     if (i15) (*include)[14]=true;
  1096.     if (i16) (*include)[15]=true;
  1097.     if (i17) (*include)[16]=true;
  1098.     if (i18) (*include)[17]=true;
  1099.     if (i19) (*include)[18]=true;
  1100.     if (i20) (*include)[19]=true;
  1101.     if (i21) (*include)[20]=true;
  1102.     if (i22) (*include)[21]=true;
  1103.     if (i23) (*include)[22]=true;
  1104.   } 
  1105.   template <class Manip>
  1106.   NAME##_cus_value_list<Manip>::NAME##_cus_value_list
  1107.   (const NAME *o, cchar *d, Manip m, ##NAME##_enum i1, ##NAME##_enum i2, ##NAME##_enum i3, ##NAME##_enum i4, ##NAME##_enum i5, ##NAME##_enum i6, ##NAME##_enum i7, ##NAME##_enum i8, ##NAME##_enum i9, ##NAME##_enum i10, ##NAME##_enum i11, ##NAME##_enum i12, ##NAME##_enum i13, ##NAME##_enum i14, ##NAME##_enum i15, ##NAME##_enum i16, ##NAME##_enum i17, ##NAME##_enum i18, ##NAME##_enum i19, ##NAME##_enum i20, ##NAME##_enum i21, ##NAME##_enum i22, ##NAME##_enum i23) { 
  1108.     delem = d;
  1109.     manip = m;
  1110.     del_vector = true; 
  1111.     obj = o; 
  1112.     include = new vector<bool>(23, false); 
  1113.     if (i1 == NAME##_NULL) return;
  1114.     (*include)[i1]=true;
  1115.     if (i2 == NAME##_NULL) return;
  1116.     (*include)[i2]=true;
  1117.     if (i3 == NAME##_NULL) return;
  1118.     (*include)[i3]=true;
  1119.     if (i4 == NAME##_NULL) return;
  1120.     (*include)[i4]=true;
  1121.     if (i5 == NAME##_NULL) return;
  1122.     (*include)[i5]=true;
  1123.     if (i6 == NAME##_NULL) return;
  1124.     (*include)[i6]=true;
  1125.     if (i7 == NAME##_NULL) return;
  1126.     (*include)[i7]=true;
  1127.     if (i8 == NAME##_NULL) return;
  1128.     (*include)[i8]=true;
  1129.     if (i9 == NAME##_NULL) return;
  1130.     (*include)[i9]=true;
  1131.     if (i10 == NAME##_NULL) return;
  1132.     (*include)[i10]=true;
  1133.     if (i11 == NAME##_NULL) return;
  1134.     (*include)[i11]=true;
  1135.     if (i12 == NAME##_NULL) return;
  1136.     (*include)[i12]=true;
  1137.     if (i13 == NAME##_NULL) return;
  1138.     (*include)[i13]=true;
  1139.     if (i14 == NAME##_NULL) return;
  1140.     (*include)[i14]=true;
  1141.     if (i15 == NAME##_NULL) return;
  1142.     (*include)[i15]=true;
  1143.     if (i16 == NAME##_NULL) return;
  1144.     (*include)[i16]=true;
  1145.     if (i17 == NAME##_NULL) return;
  1146.     (*include)[i17]=true;
  1147.     if (i18 == NAME##_NULL) return;
  1148.     (*include)[i18]=true;
  1149.     if (i19 == NAME##_NULL) return;
  1150.     (*include)[i19]=true;
  1151.     if (i20 == NAME##_NULL) return;
  1152.     (*include)[i20]=true;
  1153.     if (i21 == NAME##_NULL) return;
  1154.     (*include)[i21]=true;
  1155.     if (i22 == NAME##_NULL) return;
  1156.     (*include)[i22]=true;
  1157.     if (i23 == NAME##_NULL) return;
  1158.     (*include)[i23]=true;
  1159.   }
  1160.   template <class Manip>
  1161.   NAME##_cus_field_list<Manip>::NAME##_cus_field_list
  1162.   (const NAME *o, cchar *d, Manip m, bool i1, bool i2, bool i3, bool i4, bool i5, bool i6, bool i7, bool i8, bool i9, bool i10, bool i11, bool i12, bool i13, bool i14, bool i15, bool i16, bool i17, bool i18, bool i19, bool i20, bool i21, bool i22, bool i23) {
  1163.     delem = d;
  1164.     manip = m;
  1165.     del_vector = true; 
  1166.     obj = o; 
  1167.     include = new vector<bool>(23, false); 
  1168.     if (i1) (*include)[0]=true;
  1169.     if (i2) (*include)[1]=true;
  1170.     if (i3) (*include)[2]=true;
  1171.     if (i4) (*include)[3]=true;
  1172.     if (i5) (*include)[4]=true;
  1173.     if (i6) (*include)[5]=true;
  1174.     if (i7) (*include)[6]=true;
  1175.     if (i8) (*include)[7]=true;
  1176.     if (i9) (*include)[8]=true;
  1177.     if (i10) (*include)[9]=true;
  1178.     if (i11) (*include)[10]=true;
  1179.     if (i12) (*include)[11]=true;
  1180.     if (i13) (*include)[12]=true;
  1181.     if (i14) (*include)[13]=true;
  1182.     if (i15) (*include)[14]=true;
  1183.     if (i16) (*include)[15]=true;
  1184.     if (i17) (*include)[16]=true;
  1185.     if (i18) (*include)[17]=true;
  1186.     if (i19) (*include)[18]=true;
  1187.     if (i20) (*include)[19]=true;
  1188.     if (i21) (*include)[20]=true;
  1189.     if (i22) (*include)[21]=true;
  1190.     if (i23) (*include)[22]=true;
  1191.   } 
  1192.   template <class Manip>
  1193.   NAME##_cus_field_list<Manip>::NAME##_cus_field_list
  1194.   (const NAME *o, cchar *d, Manip m, ##NAME##_enum i1, ##NAME##_enum i2, ##NAME##_enum i3, ##NAME##_enum i4, ##NAME##_enum i5, ##NAME##_enum i6, ##NAME##_enum i7, ##NAME##_enum i8, ##NAME##_enum i9, ##NAME##_enum i10, ##NAME##_enum i11, ##NAME##_enum i12, ##NAME##_enum i13, ##NAME##_enum i14, ##NAME##_enum i15, ##NAME##_enum i16, ##NAME##_enum i17, ##NAME##_enum i18, ##NAME##_enum i19, ##NAME##_enum i20, ##NAME##_enum i21, ##NAME##_enum i22, ##NAME##_enum i23) { 
  1195.     delem = d;
  1196.     manip = m;
  1197.     del_vector = true; 
  1198.     obj = o; 
  1199.     include = new vector<bool>(23, false); 
  1200.     if (i1 == NAME##_NULL) return;
  1201.     (*include)[i1]=true;
  1202.     if (i2 == NAME##_NULL) return;
  1203.     (*include)[i2]=true;
  1204.     if (i3 == NAME##_NULL) return;
  1205.     (*include)[i3]=true;
  1206.     if (i4 == NAME##_NULL) return;
  1207.     (*include)[i4]=true;
  1208.     if (i5 == NAME##_NULL) return;
  1209.     (*include)[i5]=true;
  1210.     if (i6 == NAME##_NULL) return;
  1211.     (*include)[i6]=true;
  1212.     if (i7 == NAME##_NULL) return;
  1213.     (*include)[i7]=true;
  1214.     if (i8 == NAME##_NULL) return;
  1215.     (*include)[i8]=true;
  1216.     if (i9 == NAME##_NULL) return;
  1217.     (*include)[i9]=true;
  1218.     if (i10 == NAME##_NULL) return;
  1219.     (*include)[i10]=true;
  1220.     if (i11 == NAME##_NULL) return;
  1221.     (*include)[i11]=true;
  1222.     if (i12 == NAME##_NULL) return;
  1223.     (*include)[i12]=true;
  1224.     if (i13 == NAME##_NULL) return;
  1225.     (*include)[i13]=true;
  1226.     if (i14 == NAME##_NULL) return;
  1227.     (*include)[i14]=true;
  1228.     if (i15 == NAME##_NULL) return;
  1229.     (*include)[i15]=true;
  1230.     if (i16 == NAME##_NULL) return;
  1231.     (*include)[i16]=true;
  1232.     if (i17 == NAME##_NULL) return;
  1233.     (*include)[i17]=true;
  1234.     if (i18 == NAME##_NULL) return;
  1235.     (*include)[i18]=true;
  1236.     if (i19 == NAME##_NULL) return;
  1237.     (*include)[i19]=true;
  1238.     if (i20 == NAME##_NULL) return;
  1239.     (*include)[i20]=true;
  1240.     if (i21 == NAME##_NULL) return;
  1241.     (*include)[i21]=true;
  1242.     if (i22 == NAME##_NULL) return;
  1243.     (*include)[i22]=true;
  1244.     if (i23 == NAME##_NULL) return;
  1245.     (*include)[i23]=true;
  1246.   }
  1247.   template <class Manip>
  1248.   NAME##_cus_equal_list<Manip>::NAME##_cus_equal_list
  1249.   (const NAME *o, cchar *d, cchar *c, Manip m, bool i1, bool i2, bool i3, bool i4, bool i5, bool i6, bool i7, bool i8, bool i9, bool i10, bool i11, bool i12, bool i13, bool i14, bool i15, bool i16, bool i17, bool i18, bool i19, bool i20, bool i21, bool i22, bool i23) { 
  1250.     delem = d;
  1251.     comp = c;
  1252.     manip = m;
  1253.     del_vector = true; 
  1254.     obj = o; 
  1255.     include = new vector<bool>(23, false); 
  1256.     if (i1) (*include)[0]=true;
  1257.     if (i2) (*include)[1]=true;
  1258.     if (i3) (*include)[2]=true;
  1259.     if (i4) (*include)[3]=true;
  1260.     if (i5) (*include)[4]=true;
  1261.     if (i6) (*include)[5]=true;
  1262.     if (i7) (*include)[6]=true;
  1263.     if (i8) (*include)[7]=true;
  1264.     if (i9) (*include)[8]=true;
  1265.     if (i10) (*include)[9]=true;
  1266.     if (i11) (*include)[10]=true;
  1267.     if (i12) (*include)[11]=true;
  1268.     if (i13) (*include)[12]=true;
  1269.     if (i14) (*include)[13]=true;
  1270.     if (i15) (*include)[14]=true;
  1271.     if (i16) (*include)[15]=true;
  1272.     if (i17) (*include)[16]=true;
  1273.     if (i18) (*include)[17]=true;
  1274.     if (i19) (*include)[18]=true;
  1275.     if (i20) (*include)[19]=true;
  1276.     if (i21) (*include)[20]=true;
  1277.     if (i22) (*include)[21]=true;
  1278.     if (i23) (*include)[22]=true;
  1279.   } 
  1280.   template <class Manip>
  1281.   NAME##_cus_equal_list<Manip>::NAME##_cus_equal_list
  1282.   (const NAME *o, cchar *d, cchar *c, Manip m, ##NAME##_enum i1, ##NAME##_enum i2, ##NAME##_enum i3, ##NAME##_enum i4, ##NAME##_enum i5, ##NAME##_enum i6, ##NAME##_enum i7, ##NAME##_enum i8, ##NAME##_enum i9, ##NAME##_enum i10, ##NAME##_enum i11, ##NAME##_enum i12, ##NAME##_enum i13, ##NAME##_enum i14, ##NAME##_enum i15, ##NAME##_enum i16, ##NAME##_enum i17, ##NAME##_enum i18, ##NAME##_enum i19, ##NAME##_enum i20, ##NAME##_enum i21, ##NAME##_enum i22, ##NAME##_enum i23) { 
  1283.     delem = d;
  1284.     comp = c;
  1285.     manip = m;
  1286.     del_vector = true; 
  1287.     obj = o; 
  1288.     include = new vector<bool>(23, false); 
  1289.     if (i1 == NAME##_NULL) return;
  1290.     (*include)[i1]=true;
  1291.     if (i2 == NAME##_NULL) return;
  1292.     (*include)[i2]=true;
  1293.     if (i3 == NAME##_NULL) return;
  1294.     (*include)[i3]=true;
  1295.     if (i4 == NAME##_NULL) return;
  1296.     (*include)[i4]=true;
  1297.     if (i5 == NAME##_NULL) return;
  1298.     (*include)[i5]=true;
  1299.     if (i6 == NAME##_NULL) return;
  1300.     (*include)[i6]=true;
  1301.     if (i7 == NAME##_NULL) return;
  1302.     (*include)[i7]=true;
  1303.     if (i8 == NAME##_NULL) return;
  1304.     (*include)[i8]=true;
  1305.     if (i9 == NAME##_NULL) return;
  1306.     (*include)[i9]=true;
  1307.     if (i10 == NAME##_NULL) return;
  1308.     (*include)[i10]=true;
  1309.     if (i11 == NAME##_NULL) return;
  1310.     (*include)[i11]=true;
  1311.     if (i12 == NAME##_NULL) return;
  1312.     (*include)[i12]=true;
  1313.     if (i13 == NAME##_NULL) return;
  1314.     (*include)[i13]=true;
  1315.     if (i14 == NAME##_NULL) return;
  1316.     (*include)[i14]=true;
  1317.     if (i15 == NAME##_NULL) return;
  1318.     (*include)[i15]=true;
  1319.     if (i16 == NAME##_NULL) return;
  1320.     (*include)[i16]=true;
  1321.     if (i17 == NAME##_NULL) return;
  1322.     (*include)[i17]=true;
  1323.     if (i18 == NAME##_NULL) return;
  1324.     (*include)[i18]=true;
  1325.     if (i19 == NAME##_NULL) return;
  1326.     (*include)[i19]=true;
  1327.     if (i20 == NAME##_NULL) return;
  1328.     (*include)[i20]=true;
  1329.     if (i21 == NAME##_NULL) return;
  1330.     (*include)[i21]=true;
  1331.     if (i22 == NAME##_NULL) return;
  1332.     (*include)[i22]=true;
  1333.     if (i23 == NAME##_NULL) return;
  1334.     (*include)[i23]=true;
  1335.   }
  1336.   template <class Manip>
  1337.   ostream& operator << (ostream& s, const NAME##_value_list<Manip>& obj) { 
  1338.     s << obj.manip << obj.obj->##I1 << obj.delem;
  1339.     s << obj.manip << obj.obj->##I2 << obj.delem;
  1340.     s << obj.manip << obj.obj->##I3 << obj.delem;
  1341.     s << obj.manip << obj.obj->##I4 << obj.delem;
  1342.     s << obj.manip << obj.obj->##I5 << obj.delem;
  1343.     s << obj.manip << obj.obj->##I6 << obj.delem;
  1344.     s << obj.manip << obj.obj->##I7 << obj.delem;
  1345.     s << obj.manip << obj.obj->##I8 << obj.delem;
  1346.     s << obj.manip << obj.obj->##I9 << obj.delem;
  1347.     s << obj.manip << obj.obj->##I10 << obj.delem;
  1348.     s << obj.manip << obj.obj->##I11 << obj.delem;
  1349.     s << obj.manip << obj.obj->##I12 << obj.delem;
  1350.     s << obj.manip << obj.obj->##I13 << obj.delem;
  1351.     s << obj.manip << obj.obj->##I14 << obj.delem;
  1352.     s << obj.manip << obj.obj->##I15 << obj.delem;
  1353.     s << obj.manip << obj.obj->##I16 << obj.delem;
  1354.     s << obj.manip << obj.obj->##I17 << obj.delem;
  1355.     s << obj.manip << obj.obj->##I18 << obj.delem;
  1356.     s << obj.manip << obj.obj->##I19 << obj.delem;
  1357.     s << obj.manip << obj.obj->##I20 << obj.delem;
  1358.     s << obj.manip << obj.obj->##I21 << obj.delem;
  1359.     s << obj.manip << obj.obj->##I22 << obj.delem;
  1360.     s << obj.manip << obj.obj->##I23; 
  1361.     return s; 
  1362.   } 
  1363.   template <class Manip>
  1364.   ostream& operator << (ostream& s, const NAME##_field_list<Manip>& obj) { 
  1365.     s << obj.manip << obj.obj->names[0] << obj.delem;
  1366.     s << obj.manip << obj.obj->names[1] << obj.delem;
  1367.     s << obj.manip << obj.obj->names[2] << obj.delem;
  1368.     s << obj.manip << obj.obj->names[3] << obj.delem;
  1369.     s << obj.manip << obj.obj->names[4] << obj.delem;
  1370.     s << obj.manip << obj.obj->names[5] << obj.delem;
  1371.     s << obj.manip << obj.obj->names[6] << obj.delem;
  1372.     s << obj.manip << obj.obj->names[7] << obj.delem;
  1373.     s << obj.manip << obj.obj->names[8] << obj.delem;
  1374.     s << obj.manip << obj.obj->names[9] << obj.delem;
  1375.     s << obj.manip << obj.obj->names[10] << obj.delem;
  1376.     s << obj.manip << obj.obj->names[11] << obj.delem;
  1377.     s << obj.manip << obj.obj->names[12] << obj.delem;
  1378.     s << obj.manip << obj.obj->names[13] << obj.delem;
  1379.     s << obj.manip << obj.obj->names[14] << obj.delem;
  1380.     s << obj.manip << obj.obj->names[15] << obj.delem;
  1381.     s << obj.manip << obj.obj->names[16] << obj.delem;
  1382.     s << obj.manip << obj.obj->names[17] << obj.delem;
  1383.     s << obj.manip << obj.obj->names[18] << obj.delem;
  1384.     s << obj.manip << obj.obj->names[19] << obj.delem;
  1385.     s << obj.manip << obj.obj->names[20] << obj.delem;
  1386.     s << obj.manip << obj.obj->names[21] << obj.delem;
  1387.     s << obj.manip << obj.obj->names[22]; 
  1388.     return s; 
  1389.   } 
  1390.   template <class Manip>
  1391.   ostream& operator << (ostream& s, const NAME##_equal_list<Manip>& obj) { 
  1392.     s << obj.obj->names[0] << obj.comp << obj.manip << obj.obj->##I1 << obj.delem;
  1393.     s << obj.obj->names[1] << obj.comp << obj.manip << obj.obj->##I2 << obj.delem;
  1394.     s << obj.obj->names[2] << obj.comp << obj.manip << obj.obj->##I3 << obj.delem;
  1395.     s << obj.obj->names[3] << obj.comp << obj.manip << obj.obj->##I4 << obj.delem;
  1396.     s << obj.obj->names[4] << obj.comp << obj.manip << obj.obj->##I5 << obj.delem;
  1397.     s << obj.obj->names[5] << obj.comp << obj.manip << obj.obj->##I6 << obj.delem;
  1398.     s << obj.obj->names[6] << obj.comp << obj.manip << obj.obj->##I7 << obj.delem;
  1399.     s << obj.obj->names[7] << obj.comp << obj.manip << obj.obj->##I8 << obj.delem;
  1400.     s << obj.obj->names[8] << obj.comp << obj.manip << obj.obj->##I9 << obj.delem;
  1401.     s << obj.obj->names[9] << obj.comp << obj.manip << obj.obj->##I10 << obj.delem;
  1402.     s << obj.obj->names[10] << obj.comp << obj.manip << obj.obj->##I11 << obj.delem;
  1403.     s << obj.obj->names[11] << obj.comp << obj.manip << obj.obj->##I12 << obj.delem;
  1404.     s << obj.obj->names[12] << obj.comp << obj.manip << obj.obj->##I13 << obj.delem;
  1405.     s << obj.obj->names[13] << obj.comp << obj.manip << obj.obj->##I14 << obj.delem;
  1406.     s << obj.obj->names[14] << obj.comp << obj.manip << obj.obj->##I15 << obj.delem;
  1407.     s << obj.obj->names[15] << obj.comp << obj.manip << obj.obj->##I16 << obj.delem;
  1408.     s << obj.obj->names[16] << obj.comp << obj.manip << obj.obj->##I17 << obj.delem;
  1409.     s << obj.obj->names[17] << obj.comp << obj.manip << obj.obj->##I18 << obj.delem;
  1410.     s << obj.obj->names[18] << obj.comp << obj.manip << obj.obj->##I19 << obj.delem;
  1411.     s << obj.obj->names[19] << obj.comp << obj.manip << obj.obj->##I20 << obj.delem;
  1412.     s << obj.obj->names[20] << obj.comp << obj.manip << obj.obj->##I21 << obj.delem;
  1413.     s << obj.obj->names[21] << obj.comp << obj.manip << obj.obj->##I22 << obj.delem;
  1414.     s << obj.obj->names[22] << obj.comp << obj.manip << obj.obj->##I23; 
  1415.     return s; 
  1416.   } 
  1417.   template <class Manip>
  1418.   ostream& operator << (ostream& s, const NAME##_cus_value_list<Manip>& obj) { 
  1419.     bool before = false; 
  1420.     if ((*obj.include)[0]) { 
  1421.       s << obj.manip << obj.obj->##I1;
  1422.       before = true; 
  1423.      } 
  1424.     if ((*obj.include)[1]) { 
  1425.       if (before) s << obj.delem;
  1426.       s << obj.manip << obj.obj->##I2;
  1427.       before = true; 
  1428.      } 
  1429.     if ((*obj.include)[2]) { 
  1430.       if (before) s << obj.delem;
  1431.       s << obj.manip << obj.obj->##I3;
  1432.       before = true; 
  1433.      } 
  1434.     if ((*obj.include)[3]) { 
  1435.       if (before) s << obj.delem;
  1436.       s << obj.manip << obj.obj->##I4;
  1437.       before = true; 
  1438.      } 
  1439.     if ((*obj.include)[4]) { 
  1440.       if (before) s << obj.delem;
  1441.       s << obj.manip << obj.obj->##I5;
  1442.       before = true; 
  1443.      } 
  1444.     if ((*obj.include)[5]) { 
  1445.       if (before) s << obj.delem;
  1446.       s << obj.manip << obj.obj->##I6;
  1447.       before = true; 
  1448.      } 
  1449.     if ((*obj.include)[6]) { 
  1450.       if (before) s << obj.delem;
  1451.       s << obj.manip << obj.obj->##I7;
  1452.       before = true; 
  1453.      } 
  1454.     if ((*obj.include)[7]) { 
  1455.       if (before) s << obj.delem;
  1456.       s << obj.manip << obj.obj->##I8;
  1457.       before = true; 
  1458.      } 
  1459.     if ((*obj.include)[8]) { 
  1460.       if (before) s << obj.delem;
  1461.       s << obj.manip << obj.obj->##I9;
  1462.       before = true; 
  1463.      } 
  1464.     if ((*obj.include)[9]) { 
  1465.       if (before) s << obj.delem;
  1466.       s << obj.manip << obj.obj->##I10;
  1467.       before = true; 
  1468.      } 
  1469.     if ((*obj.include)[10]) { 
  1470.       if (before) s << obj.delem;
  1471.       s << obj.manip << obj.obj->##I11;
  1472.       before = true; 
  1473.      } 
  1474.     if ((*obj.include)[11]) { 
  1475.       if (before) s << obj.delem;
  1476.       s << obj.manip << obj.obj->##I12;
  1477.       before = true; 
  1478.      } 
  1479.     if ((*obj.include)[12]) { 
  1480.       if (before) s << obj.delem;
  1481.       s << obj.manip << obj.obj->##I13;
  1482.       before = true; 
  1483.      } 
  1484.     if ((*obj.include)[13]) { 
  1485.       if (before) s << obj.delem;
  1486.       s << obj.manip << obj.obj->##I14;
  1487.       before = true; 
  1488.      } 
  1489.     if ((*obj.include)[14]) { 
  1490.       if (before) s << obj.delem;
  1491.       s << obj.manip << obj.obj->##I15;
  1492.       before = true; 
  1493.      } 
  1494.     if ((*obj.include)[15]) { 
  1495.       if (before) s << obj.delem;
  1496.       s << obj.manip << obj.obj->##I16;
  1497.       before = true; 
  1498.      } 
  1499.     if ((*obj.include)[16]) { 
  1500.       if (before) s << obj.delem;
  1501.       s << obj.manip << obj.obj->##I17;
  1502.       before = true; 
  1503.      } 
  1504.     if ((*obj.include)[17]) { 
  1505.       if (before) s << obj.delem;
  1506.       s << obj.manip << obj.obj->##I18;
  1507.       before = true; 
  1508.      } 
  1509.     if ((*obj.include)[18]) { 
  1510.       if (before) s << obj.delem;
  1511.       s << obj.manip << obj.obj->##I19;
  1512.       before = true; 
  1513.      } 
  1514.     if ((*obj.include)[19]) { 
  1515.       if (before) s << obj.delem;
  1516.       s << obj.manip << obj.obj->##I20;
  1517.       before = true; 
  1518.      } 
  1519.     if ((*obj.include)[20]) { 
  1520.       if (before) s << obj.delem;
  1521.       s << obj.manip << obj.obj->##I21;
  1522.       before = true; 
  1523.      } 
  1524.     if ((*obj.include)[21]) { 
  1525.       if (before) s << obj.delem;
  1526.       s << obj.manip << obj.obj->##I22;
  1527.       before = true; 
  1528.      } 
  1529.     if ((*obj.include)[22]) { 
  1530.       if (before) s << obj.delem;
  1531.       s << obj.manip << obj.obj->##I23;
  1532.      } 
  1533.     return s; 
  1534.   } 
  1535.   template <class Manip>
  1536.   ostream& operator << (ostream& s, const NAME##_cus_field_list<Manip>& obj) { 
  1537.     bool before = false; 
  1538.     if ((*obj.include)[0]) { 
  1539.       s << obj.manip << obj.obj->names[0];
  1540.       before = true; 
  1541.      } 
  1542.     if ((*obj.include)[1]) { 
  1543.       if (before) s << obj.delem;
  1544.       s << obj.manip << obj.obj->names[1];
  1545.       before = true; 
  1546.      } 
  1547.     if ((*obj.include)[2]) { 
  1548.       if (before) s << obj.delem;
  1549.       s << obj.manip << obj.obj->names[2];
  1550.       before = true; 
  1551.      } 
  1552.     if ((*obj.include)[3]) { 
  1553.       if (before) s << obj.delem;
  1554.       s << obj.manip << obj.obj->names[3];
  1555.       before = true; 
  1556.      } 
  1557.     if ((*obj.include)[4]) { 
  1558.       if (before) s << obj.delem;
  1559.       s << obj.manip << obj.obj->names[4];
  1560.       before = true; 
  1561.      } 
  1562.     if ((*obj.include)[5]) { 
  1563.       if (before) s << obj.delem;
  1564.       s << obj.manip << obj.obj->names[5];
  1565.       before = true; 
  1566.      } 
  1567.     if ((*obj.include)[6]) { 
  1568.       if (before) s << obj.delem;
  1569.       s << obj.manip << obj.obj->names[6];
  1570.       before = true; 
  1571.      } 
  1572.     if ((*obj.include)[7]) { 
  1573.       if (before) s << obj.delem;
  1574.       s << obj.manip << obj.obj->names[7];
  1575.       before = true; 
  1576.      } 
  1577.     if ((*obj.include)[8]) { 
  1578.       if (before) s << obj.delem;
  1579.       s << obj.manip << obj.obj->names[8];
  1580.       before = true; 
  1581.      } 
  1582.     if ((*obj.include)[9]) { 
  1583.       if (before) s << obj.delem;
  1584.       s << obj.manip << obj.obj->names[9];
  1585.       before = true; 
  1586.      } 
  1587.     if ((*obj.include)[10]) { 
  1588.       if (before) s << obj.delem;
  1589.       s << obj.manip << obj.obj->names[10];
  1590.       before = true; 
  1591.      } 
  1592.     if ((*obj.include)[11]) { 
  1593.       if (before) s << obj.delem;
  1594.       s << obj.manip << obj.obj->names[11];
  1595.       before = true; 
  1596.      } 
  1597.     if ((*obj.include)[12]) { 
  1598.       if (before) s << obj.delem;
  1599.       s << obj.manip << obj.obj->names[12];
  1600.       before = true; 
  1601.      } 
  1602.     if ((*obj.include)[13]) { 
  1603.       if (before) s << obj.delem;
  1604.       s << obj.manip << obj.obj->names[13];
  1605.       before = true; 
  1606.      } 
  1607.     if ((*obj.include)[14]) { 
  1608.       if (before) s << obj.delem;
  1609.       s << obj.manip << obj.obj->names[14];
  1610.       before = true; 
  1611.      } 
  1612.     if ((*obj.include)[15]) { 
  1613.       if (before) s << obj.delem;
  1614.       s << obj.manip << obj.obj->names[15];
  1615.       before = true; 
  1616.      } 
  1617.     if ((*obj.include)[16]) { 
  1618.       if (before) s << obj.delem;
  1619.       s << obj.manip << obj.obj->names[16];
  1620.       before = true; 
  1621.      } 
  1622.     if ((*obj.include)[17]) { 
  1623.       if (before) s << obj.delem;
  1624.       s << obj.manip << obj.obj->names[17];
  1625.       before = true; 
  1626.      } 
  1627.     if ((*obj.include)[18]) { 
  1628.       if (before) s << obj.delem;
  1629.       s << obj.manip << obj.obj->names[18];
  1630.       before = true; 
  1631.      } 
  1632.     if ((*obj.include)[19]) { 
  1633.       if (before) s << obj.delem;
  1634.       s << obj.manip << obj.obj->names[19];
  1635.       before = true; 
  1636.      } 
  1637.     if ((*obj.include)[20]) { 
  1638.       if (before) s << obj.delem;
  1639.       s << obj.manip << obj.obj->names[20];
  1640.       before = true; 
  1641.      } 
  1642.     if ((*obj.include)[21]) { 
  1643.       if (before) s << obj.delem;
  1644.       s << obj.manip << obj.obj->names[21];
  1645.       before = true; 
  1646.      } 
  1647.     if ((*obj.include)[22]) { 
  1648.       if (before) s << obj.delem;
  1649.       s << obj.manip << obj.obj->names[22];
  1650.      } 
  1651.     return s; 
  1652.   } 
  1653.   template <class Manip>
  1654.   ostream& operator << (ostream& s, const NAME##_cus_equal_list<Manip>& obj) { 
  1655.     bool before = false; 
  1656.     if ((*obj.include)[0]) { 
  1657.       s << obj.obj->names[0] << obj.comp << obj.manip << obj.obj->##I1;
  1658.       before = true; 
  1659.      } 
  1660.     if ((*obj.include)[1]) { 
  1661.       if (before) s << obj.delem;
  1662.       s << obj.obj->names[1] << obj.comp << obj.manip << obj.obj->##I2;
  1663.       before = true; 
  1664.      } 
  1665.     if ((*obj.include)[2]) { 
  1666.       if (before) s << obj.delem;
  1667.       s << obj.obj->names[2] << obj.comp << obj.manip << obj.obj->##I3;
  1668.       before = true; 
  1669.      } 
  1670.     if ((*obj.include)[3]) { 
  1671.       if (before) s << obj.delem;
  1672.       s << obj.obj->names[3] << obj.comp << obj.manip << obj.obj->##I4;
  1673.       before = true; 
  1674.      } 
  1675.     if ((*obj.include)[4]) { 
  1676.       if (before) s << obj.delem;
  1677.       s << obj.obj->names[4] << obj.comp << obj.manip << obj.obj->##I5;
  1678.       before = true; 
  1679.      } 
  1680.     if ((*obj.include)[5]) { 
  1681.       if (before) s << obj.delem;
  1682.       s << obj.obj->names[5] << obj.comp << obj.manip << obj.obj->##I6;
  1683.       before = true; 
  1684.      } 
  1685.     if ((*obj.include)[6]) { 
  1686.       if (before) s << obj.delem;
  1687.       s << obj.obj->names[6] << obj.comp << obj.manip << obj.obj->##I7;
  1688.       before = true; 
  1689.      } 
  1690.     if ((*obj.include)[7]) { 
  1691.       if (before) s << obj.delem;
  1692.       s << obj.obj->names[7] << obj.comp << obj.manip << obj.obj->##I8;
  1693.       before = true; 
  1694.      } 
  1695.     if ((*obj.include)[8]) { 
  1696.       if (before) s << obj.delem;
  1697.       s << obj.obj->names[8] << obj.comp << obj.manip << obj.obj->##I9;
  1698.       before = true; 
  1699.      } 
  1700.     if ((*obj.include)[9]) { 
  1701.       if (before) s << obj.delem;
  1702.       s << obj.obj->names[9] << obj.comp << obj.manip << obj.obj->##I10;
  1703.       before = true; 
  1704.      } 
  1705.     if ((*obj.include)[10]) { 
  1706.       if (before) s << obj.delem;
  1707.       s << obj.obj->names[10] << obj.comp << obj.manip << obj.obj->##I11;
  1708.       before = true; 
  1709.      } 
  1710.     if ((*obj.include)[11]) { 
  1711.       if (before) s << obj.delem;
  1712.       s << obj.obj->names[11] << obj.comp << obj.manip << obj.obj->##I12;
  1713.       before = true; 
  1714.      } 
  1715.     if ((*obj.include)[12]) { 
  1716.       if (before) s << obj.delem;
  1717.       s << obj.obj->names[12] << obj.comp << obj.manip << obj.obj->##I13;
  1718.       before = true; 
  1719.      } 
  1720.     if ((*obj.include)[13]) { 
  1721.       if (before) s << obj.delem;
  1722.       s << obj.obj->names[13] << obj.comp << obj.manip << obj.obj->##I14;
  1723.       before = true; 
  1724.      } 
  1725.     if ((*obj.include)[14]) { 
  1726.       if (before) s << obj.delem;
  1727.       s << obj.obj->names[14] << obj.comp << obj.manip << obj.obj->##I15;
  1728.       before = true; 
  1729.      } 
  1730.     if ((*obj.include)[15]) { 
  1731.       if (before) s << obj.delem;
  1732.       s << obj.obj->names[15] << obj.comp << obj.manip << obj.obj->##I16;
  1733.       before = true; 
  1734.      } 
  1735.     if ((*obj.include)[16]) { 
  1736.       if (before) s << obj.delem;
  1737.       s << obj.obj->names[16] << obj.comp << obj.manip << obj.obj->##I17;
  1738.       before = true; 
  1739.      } 
  1740.     if ((*obj.include)[17]) { 
  1741.       if (before) s << obj.delem;
  1742.       s << obj.obj->names[17] << obj.comp << obj.manip << obj.obj->##I18;
  1743.       before = true; 
  1744.      } 
  1745.     if ((*obj.include)[18]) { 
  1746.       if (before) s << obj.delem;
  1747.       s << obj.obj->names[18] << obj.comp << obj.manip << obj.obj->##I19;
  1748.       before = true; 
  1749.      } 
  1750.     if ((*obj.include)[19]) { 
  1751.       if (before) s << obj.delem;
  1752.       s << obj.obj->names[19] << obj.comp << obj.manip << obj.obj->##I20;
  1753.       before = true; 
  1754.      } 
  1755.     if ((*obj.include)[20]) { 
  1756.       if (before) s << obj.delem;
  1757.       s << obj.obj->names[20] << obj.comp << obj.manip << obj.obj->##I21;
  1758.       before = true; 
  1759.      } 
  1760.     if ((*obj.include)[21]) { 
  1761.       if (before) s << obj.delem;
  1762.       s << obj.obj->names[21] << obj.comp << obj.manip << obj.obj->##I22;
  1763.       before = true; 
  1764.      } 
  1765.     if ((*obj.include)[22]) { 
  1766.       if (before) s << obj.delem;
  1767.       s << obj.obj->names[22] << obj.comp << obj.manip << obj.obj->##I23;
  1768.      } 
  1769.     return s; 
  1770.   } 
  1771.   template <class Manip>
  1772.   inline NAME##_value_list<Manip> NAME##::value_list(cchar *d, Manip m) const { 
  1773.     return NAME##_value_list<Manip> (this, d, m); 
  1774.   } 
  1775.   template <class Manip>
  1776.   inline NAME##_field_list<Manip> NAME##::field_list(cchar *d, Manip m) const { 
  1777.     return NAME##_field_list<Manip> (this, d, m); 
  1778.   } 
  1779.   template <class Manip>
  1780.   inline NAME##_equal_list<Manip> NAME##::equal_list(cchar *d, cchar *c, Manip m) const { 
  1781.     return NAME##_equal_list<Manip> (this, d, c, m); 
  1782.   } 
  1783.   template <class Manip>
  1784.   inline NAME##_cus_value_list<Manip> NAME##::value_list(cchar *d, Manip m,
  1785.        bool i1, bool i2, bool i3, bool i4, bool i5, bool i6, bool i7, bool i8, bool i9, bool i10, bool i11, bool i12, bool i13, bool i14, bool i15, bool i16, bool i17, bool i18, bool i19, bool i20, bool i21, bool i22, bool i23) const {
  1786.     return NAME##_cus_value_list<Manip> (this, d, m, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23); 
  1787.   } 
  1788.   template <class Manip>
  1789.   inline NAME##_cus_field_list<Manip> NAME##::field_list(cchar *d, Manip m,
  1790.  bool i1, bool i2, bool i3, bool i4, bool i5, bool i6, bool i7, bool i8, bool i9, bool i10, bool i11, bool i12, bool i13, bool i14, bool i15, bool i16, bool i17, bool i18, bool i19, bool i20, bool i21, bool i22, bool i23) const { 
  1791.     return NAME##_cus_field_list<Manip> (this, d, m, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23); 
  1792.   } 
  1793.   template <class Manip>
  1794.   inline NAME##_cus_equal_list<Manip> NAME##::equal_list(cchar *d, cchar *c, Manip m,
  1795.  bool i1, bool i2, bool i3, bool i4, bool i5, bool i6, bool i7, bool i8, bool i9, bool i10, bool i11, bool i12, bool i13, bool i14, bool i15, bool i16, bool i17, bool i18, bool i19, bool i20, bool i21, bool i22, bool i23) const { 
  1796.     return NAME##_cus_equal_list<Manip> (this, d, c, m, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23); 
  1797.   } 
  1798.   template <class Manip>
  1799.   inline NAME##_cus_value_list<Manip> NAME##::value_list(cchar *d, Manip m,
  1800.        ##NAME##_enum i1, ##NAME##_enum i2, ##NAME##_enum i3, ##NAME##_enum i4, ##NAME##_enum i5, ##NAME##_enum i6, ##NAME##_enum i7, ##NAME##_enum i8, ##NAME##_enum i9, ##NAME##_enum i10, ##NAME##_enum i11, ##NAME##_enum i12, ##NAME##_enum i13, ##NAME##_enum i14, ##NAME##_enum i15, ##NAME##_enum i16, ##NAME##_enum i17, ##NAME##_enum i18, ##NAME##_enum i19, ##NAME##_enum i20, ##NAME##_enum i21, ##NAME##_enum i22, ##NAME##_enum i23) const { 
  1801.     return NAME##_cus_value_list<Manip> (this, d, m, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23); 
  1802.   } 
  1803.   template <class Manip>
  1804.   inline NAME##_cus_field_list<Manip> NAME##::field_list(cchar *d, Manip m,
  1805.  ##NAME##_enum i1, ##NAME##_enum i2, ##NAME##_enum i3, ##NAME##_enum i4, ##NAME##_enum i5, ##NAME##_enum i6, ##NAME##_enum i7, ##NAME##_enum i8, ##NAME##_enum i9, ##NAME##_enum i10, ##NAME##_enum i11, ##NAME##_enum i12, ##NAME##_enum i13, ##NAME##_enum i14, ##NAME##_enum i15, ##NAME##_enum i16, ##NAME##_enum i17, ##NAME##_enum i18, ##NAME##_enum i19, ##NAME##_enum i20, ##NAME##_enum i21, ##NAME##_enum i22, ##NAME##_enum i23) const {
  1806.     return NAME##_cus_field_list<Manip> (this, d, m, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23); 
  1807.   } 
  1808.   template <class Manip>
  1809.   inline NAME##_cus_equal_list<Manip> NAME##::equal_list(cchar *d, cchar *c, Manip m, 
  1810.  ##NAME##_enum i1, ##NAME##_enum i2, ##NAME##_enum i3, ##NAME##_enum i4, ##NAME##_enum i5, ##NAME##_enum i6, ##NAME##_enum i7, ##NAME##_enum i8, ##NAME##_enum i9, ##NAME##_enum i10, ##NAME##_enum i11, ##NAME##_enum i12, ##NAME##_enum i13, ##NAME##_enum i14, ##NAME##_enum i15, ##NAME##_enum i16, ##NAME##_enum i17, ##NAME##_enum i18, ##NAME##_enum i19, ##NAME##_enum i20, ##NAME##_enum i21, ##NAME##_enum i22, ##NAME##_enum i23) const { 
  1811.     return NAME##_cus_equal_list<Manip> (this, d, c, m, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23); 
  1812.   } 
  1813.   template <class Manip>
  1814.   inline NAME##_cus_value_list<Manip> 
  1815.   NAME##::value_list(cchar *d, Manip m, sql_cmp_type sc) const {
  1816.     sql_compare_type_def_##CMP (NAME, value, NUM);
  1817.   }
  1818.   template <class Manip>
  1819.   inline NAME##_cus_field_list<Manip> 
  1820.   NAME##::field_list(cchar *d, Manip m, sql_cmp_type sc) const {
  1821.     sql_compare_type_def_##CMP (NAME, field, NUM);
  1822.   }
  1823.   template <class Manip>
  1824.   inline NAME##_cus_equal_list<Manip> 
  1825.   NAME##::equal_list(cchar *d, cchar *c, Manip m, sql_cmp_type sc) const {
  1826.     sql_compare_type_defe_##CMP (NAME, equal, NUM);
  1827.   }
  1828.   template <sql_dummy_type dummy> 
  1829.   void populate_##NAME (NAME *s, const MysqlRow &row) { 
  1830.     s->##I1 = row[ O1 ];
  1831.     s->##I2 = row[ O2 ];
  1832.     s->##I3 = row[ O3 ];
  1833.     s->##I4 = row[ O4 ];
  1834.     s->##I5 = row[ O5 ];
  1835.     s->##I6 = row[ O6 ];
  1836.     s->##I7 = row[ O7 ];
  1837.     s->##I8 = row[ O8 ];
  1838.     s->##I9 = row[ O9 ];
  1839.     s->##I10 = row[ O10 ];
  1840.     s->##I11 = row[ O11 ];
  1841.     s->##I12 = row[ O12 ];
  1842.     s->##I13 = row[ O13 ];
  1843.     s->##I14 = row[ O14 ];
  1844.     s->##I15 = row[ O15 ];
  1845.     s->##I16 = row[ O16 ];
  1846.     s->##I17 = row[ O17 ];
  1847.     s->##I18 = row[ O18 ];
  1848.     s->##I19 = row[ O19 ];
  1849.     s->##I20 = row[ O20 ];
  1850.     s->##I21 = row[ O21 ];
  1851.     s->##I22 = row[ O22 ];
  1852.     s->##I23 = row[ O23 ];
  1853.   } 
  1854.   inline NAME##::##NAME (const MysqlRow &row) 
  1855.                                         {populate_##NAME##<sql_dummy>(this, row);}
  1856.   inline void NAME##::set (const MysqlRow &row)
  1857.                                         {populate_##NAME##<sql_dummy>(this, row);}
  1858.   sql_COMPARE__##CMP##(NAME, I1, I2, I3, I4, I5, I6, I7, I8, I9, I10, I11, I12, I13, I14, I15, I16, I17, I18, I19, I20, I21, I22, I23, 0, 0, 0 )
  1859. #define sql_create_basic_23(NAME, CMP, CONTR, T1, I1, T2, I2, T3, I3, T4, I4, T5, I5, T6, I6, T7, I7, T8, I8, T9, I9, T10, I10, T11, I11, T12, I12, T13, I13, T14, I14, T15, I15, T16, I16, T17, I17, T18, I18, T19, I19, T20, I20, T21, I21, T22, I22, T23, I23) 
  1860.   sql_create_basic_c_order_23(NAME, CMP, CONTR, T1, I1, 0, T2, I2, 1, T3, I3, 2, T4, I4, 3, T5, I5, 4, T6, I6, 5, T7, I7, 6, T8, I8, 7, T9, I9, 8, T10, I10, 9, T11, I11, 10, T12, I12, 11, T13, I13, 12, T14, I14, 13, T15, I15, 14, T16, I16, 15, T17, I17, 16, T18, I18, 17, T19, I19, 18, T20, I20, 19, T21, I21, 20, T22, I22, 21, T23, I23, 22)
  1861. #define sql_create_23(NAME, CMP, CONTR, T1, I1, T2, I2, T3, I3, T4, I4, T5, I5, T6, I6, T7, I7, T8, I8, T9, I9, T10, I10, T11, I11, T12, I12, T13, I13, T14, I14, T15, I15, T16, I16, T17, I17, T18, I18, T19, I19, T20, I20, T21, I21, T22, I22, T23, I23) 
  1862.   sql_create_complete_23(NAME, CMP, CONTR, T1, I1, #I1, 0, T2, I2, #I2, 1, T3, I3, #I3, 2, T4, I4, #I4, 3, T5, I5, #I5, 4, T6, I6, #I6, 5, T7, I7, #I7, 6, T8, I8, #I8, 7, T9, I9, #I9, 8, T10, I10, #I10, 9, T11, I11, #I11, 10, T12, I12, #I12, 11, T13, I13, #I13, 12, T14, I14, #I14, 13, T15, I15, #I15, 14, T16, I16, #I16, 15, T17, I17, #I17, 16, T18, I18, #I18, 17, T19, I19, #I19, 18, T20, I20, #I20, 19, T21, I21, #I21, 20, T22, I22, #I22, 21, T23, I23, #I23, 22) 
  1863. #define sql_create_c_order_23(NAME, CMP, CONTR, T1, I1, O1, T2, I2, O2, T3, I3, O3, T4, I4, O4, T5, I5, O5, T6, I6, O6, T7, I7, O7, T8, I8, O8, T9, I9, O9, T10, I10, O10, T11, I11, O11, T12, I12, O12, T13, I13, O13, T14, I14, O14, T15, I15, O15, T16, I16, O16, T17, I17, O17, T18, I18, O18, T19, I19, O19, T20, I20, O20, T21, I21, O21, T22, I22, O22, T23, I23, O23) 
  1864.   sql_create_complete_23(NAME, CMP, CONTR, T1, I1, #I1, O1, T2, I2, #I2, O2, T3, I3, #I3, O3, T4, I4, #I4, O4, T5, I5, #I5, O5, T6, I6, #I6, O6, T7, I7, #I7, O7, T8, I8, #I8, O8, T9, I9, #I9, O9, T10, I10, #I10, O10, T11, I11, #I11, O11, T12, I12, #I12, O12, T13, I13, #I13, O13, T14, I14, #I14, O14, T15, I15, #I15, O15, T16, I16, #I16, O16, T17, I17, #I17, O17, T18, I18, #I18, O18, T19, I19, #I19, O19, T20, I20, #I20, O20, T21, I21, #I21, O21, T22, I22, #I22, O22, T23, I23, #I23, O23)
  1865. #define sql_create_c_names_23(NAME, CMP, CONTR, T1, I1, N1, T2, I2, N2, T3, I3, N3, T4, I4, N4, T5, I5, N5, T6, I6, N6, T7, I7, N7, T8, I8, N8, T9, I9, N9, T10, I10, N10, T11, I11, N11, T12, I12, N12, T13, I13, N13, T14, I14, N14, T15, I15, N15, T16, I16, N16, T17, I17, N17, T18, I18, N18, T19, I19, N19, T20, I20, N20, T21, I21, N21, T22, I22, N22, T23, I23, N23) 
  1866.   sql_create_complete_23(NAME, CMP, CONTR, T1, I1, N1, 0, T2, I2, N2, 1, T3, I3, N3, 2, T4, I4, N4, 3, T5, I5, N5, 4, T6, I6, N6, 5, T7, I7, N7, 6, T8, I8, N8, 7, T9, I9, N9, 8, T10, I10, N10, 9, T11, I11, N11, 10, T12, I12, N12, 11, T13, I13, N13, 12, T14, I14, N14, 13, T15, I15, N15, 14, T16, I16, N16, 15, T17, I17, N17, 16, T18, I18, N18, 17, T19, I19, N19, 18, T20, I20, N20, 19, T21, I21, N21, 20, T22, I22, N22, 21, T23, I23, N23, 22)
  1867. // ---------------------------------------------------
  1868. //                  End Create 23
  1869. // ---------------------------------------------------
  1870. // ---------------------------------------------------
  1871. //                  Begin Create 24
  1872. // ---------------------------------------------------
  1873. #define sql_create_basic_c_order_24(NAME, CMP, CONTR, T1, I1, O1, T2, I2, O2, T3, I3, O3, T4, I4, O4, T5, I5, O5, T6, I6, O6, T7, I7, O7, T8, I8, O8, T9, I9, O9, T10, I10, O10, T11, I11, O11, T12, I12, O12, T13, I13, O13, T14, I14, O14, T15, I15, O15, T16, I16, O16, T17, I17, O17, T18, I18, O18, T19, I19, O19, T20, I20, O20, T21, I21, O21, T22, I22, O22, T23, I23, O23, T24, I24, O24)
  1874.   struct NAME; 
  1875.   template <sql_dummy_type dummy> int sql_compare_##NAME (const NAME &, const NAME &);
  1876.   struct NAME { 
  1877.     T1 I1;
  1878.     T2 I2;
  1879.     T3 I3;
  1880.     T4 I4;
  1881.     T5 I5;
  1882.     T6 I6;
  1883.     T7 I7;
  1884.     T8 I8;
  1885.     T9 I9;
  1886.     T10 I10;
  1887.     T11 I11;
  1888.     T12 I12;
  1889.     T13 I13;
  1890.     T14 I14;
  1891.     T15 I15;
  1892.     T16 I16;
  1893.     T17 I17;
  1894.     T18 I18;
  1895.     T19 I19;
  1896.     T20 I20;
  1897.     T21 I21;
  1898.     T22 I22;
  1899.     T23 I23;
  1900.     T24 I24; 
  1901.     NAME () {} 
  1902.     NAME (const MysqlRow &row);
  1903.     sql_compare_define_##CMP(NAME, T1, I1, T2, I2, T3, I3, T4, I4, T5, I5, T6, I6, T7, I7, T8, I8, T9, I9, T10, I10, T11, I11, T12, I12, T13, I13, T14, I14, T15, I15, T16, I16, T17, I17, T18, I18, T19, I19, T20, I20, T21, I21, T22, I22, T23, I23, T24, I24, 0, 0, 0, 0)
  1904.   }; 
  1905.   template <sql_dummy_type dummy> 
  1906.     void populate_##NAME (NAME *s, const MysqlRow &row) { 
  1907.     s->##I1 = row[ O1 ];
  1908.     s->##I2 = row[ O2 ];
  1909.     s->##I3 = row[ O3 ];
  1910.     s->##I4 = row[ O4 ];
  1911.     s->##I5 = row[ O5 ];
  1912.     s->##I6 = row[ O6 ];
  1913.     s->##I7 = row[ O7 ];
  1914.     s->##I8 = row[ O8 ];
  1915.     s->##I9 = row[ O9 ];
  1916.     s->##I10 = row[ O10 ];
  1917.     s->##I11 = row[ O11 ];
  1918.     s->##I12 = row[ O12 ];
  1919.     s->##I13 = row[ O13 ];
  1920.     s->##I14 = row[ O14 ];
  1921.     s->##I15 = row[ O15 ];
  1922.     s->##I16 = row[ O16 ];
  1923.     s->##I17 = row[ O17 ];
  1924.     s->##I18 = row[ O18 ];
  1925.     s->##I19 = row[ O19 ];
  1926.     s->##I20 = row[ O20 ];
  1927.     s->##I21 = row[ O21 ];
  1928.     s->##I22 = row[ O22 ];
  1929.     s->##I23 = row[ O23 ];
  1930.     s->##I24 = row[ O24 ]; 
  1931.   } 
  1932.   inline NAME##::##NAME (const MysqlRow &row) 
  1933.     {populate_##NAME##<sql_dummy>(this, row);} 
  1934.   sql_COMPARE__##CMP##(NAME, I1, I2, I3, I4, I5, I6, I7, I8, I9, I10, I11, I12, I13, I14, I15, I16, I17, I18, I19, I20, I21, I22, I23, I24, 0, 0 )
  1935. #define sql_create_complete_24(NAME, CMP, CONTR, T1, I1, N1, O1, T2, I2, N2, O2, T3, I3, N3, O3, T4, I4, N4, O4, T5, I5, N5, O5, T6, I6, N6, O6, T7, I7, N7, O7, T8, I8, N8, O8, T9, I9, N9, O9, T10, I10, N10, O10, T11, I11, N11, O11, T12, I12, N12, O12, T13, I13, N13, O13, T14, I14, N14, O14, T15, I15, N15, O15, T16, I16, N16, O16, T17, I17, N17, O17, T18, I18, N18, O18, T19, I19, N19, O19, T20, I20, N20, O20, T21, I21, N21, O21, T22, I22, N22, O22, T23, I23, N23, O23, T24, I24, N24, O24) 
  1936.   struct NAME; 
  1937.   enum NAME##_enum { 
  1938.     NAME##_##I1,
  1939.     NAME##_##I2,
  1940.     NAME##_##I3,
  1941.     NAME##_##I4,
  1942.     NAME##_##I5,
  1943.     NAME##_##I6,
  1944.     NAME##_##I7,
  1945.     NAME##_##I8,
  1946.     NAME##_##I9,
  1947.     NAME##_##I10,
  1948.     NAME##_##I11,
  1949.     NAME##_##I12,
  1950.     NAME##_##I13,
  1951.     NAME##_##I14,
  1952.     NAME##_##I15,
  1953.     NAME##_##I16,
  1954.     NAME##_##I17,
  1955.     NAME##_##I18,
  1956.     NAME##_##I19,
  1957.     NAME##_##I20,
  1958.     NAME##_##I21,
  1959.     NAME##_##I22,
  1960.     NAME##_##I23,
  1961.     NAME##_##I24 
  1962.     ,NAME##_NULL 
  1963.   }; 
  1964.   template <class Manip>
  1965.   class NAME##_value_list { 
  1966.   /*friend ostream& operator << <> (ostream&, const NAME##_value_list&); */
  1967.   public: 
  1968.     const NAME *obj;
  1969.     cchar *delem;
  1970.     Manip manip;
  1971.   public: 
  1972.     NAME##_value_list (const NAME *o, cchar *d, Manip m) 
  1973.       : obj(o), delem(d), manip(m) {} 
  1974.   };
  1975.   template <class Manip>
  1976.   class NAME##_##field_list {
  1977.   /* friend ostream& operator << <> (ostream&, const NAME##_field_list&); */
  1978.   public: 
  1979.     const NAME *obj; 
  1980.     cchar *delem;
  1981.     Manip manip;
  1982.   public: 
  1983.     NAME##_field_list (const NAME *o, cchar *d, Manip m) 
  1984.       : obj(o), delem(d), manip(m) {} 
  1985.   };
  1986.   template <class Manip>
  1987.   class NAME##_equal_list { 
  1988.   /* friend ostream& operator << <> (ostream&, const NAME##_equal_list&); */
  1989.   public: 
  1990.     const NAME *obj;
  1991.     cchar *delem;
  1992.     cchar *comp;
  1993.     Manip manip;
  1994.   public: 
  1995.     NAME##_equal_list (const NAME *o, cchar *d, cchar *c, Manip m) 
  1996.       : obj(o), delem(d), comp(c), manip(m) {}
  1997.   };
  1998.   template <class Manip>
  1999.   class NAME##_cus_value_list {
  2000.   /* friend ostream& operator << <> (ostream&, 
  2001.      const NAME##_cus_value_list<Manip>&); */
  2002.   public:
  2003.     const NAME *obj;
  2004.     cchar *delem;
  2005.     Manip manip;
  2006.     vector<bool> *include;
  2007.     bool del_vector;
  2008.   public: 
  2009.     ~##NAME##_cus_value_list () {if (del_vector) delete include;} 
  2010.     NAME##_cus_value_list (const NAME *o, cchar *d, Manip m, bool i1, bool i2, bool i3, bool i4, bool i5, bool i6, bool i7, bool i8, bool i9, bool i10, bool i11, bool i12, bool i13, bool i14, bool i15, bool i16, bool i17, bool i18, bool i19, bool i20, bool i21, bool i22, bool i23, bool i24);
  2011.     NAME##_cus_value_list (const NAME *o, cchar *d, Manip m, ##NAME##_enum i1, ##NAME##_enum i2, ##NAME##_enum i3, ##NAME##_enum i4, ##NAME##_enum i5, ##NAME##_enum i6, ##NAME##_enum i7, ##NAME##_enum i8, ##NAME##_enum i9, ##NAME##_enum i10, ##NAME##_enum i11, ##NAME##_enum i12, ##NAME##_enum i13, ##NAME##_enum i14, ##NAME##_enum i15, ##NAME##_enum i16, ##NAME##_enum i17, ##NAME##_enum i18, ##NAME##_enum i19, ##NAME##_enum i20, ##NAME##_enum i21, ##NAME##_enum i22, ##NAME##_enum i23, ##NAME##_enum i24); 
  2012.     NAME##_cus_value_list (const NAME *o, cchar *d, Manip m ,vector<bool>)
  2013.       : obj(o), include(i), del_vector(false), delem(d), manip(m) {}
  2014.   };
  2015.   template <class Manip>
  2016.   class NAME##_cus_field_list { 
  2017.   /* friend ostream& operator << <> (ostream&, 
  2018.         const NAME##_cus_field_list<Manip>&); */
  2019.   public:
  2020.     const NAME *obj; 
  2021.     cchar *delem;
  2022.     Manip manip;
  2023.     vector<bool> *include; 
  2024.     bool del_vector; 
  2025.   public: 
  2026.     ~##NAME##_cus_field_list () {if (del_vector) delete include;} 
  2027.     NAME##_cus_field_list (const NAME *o, cchar *d, Manip m, bool i1, bool i2, bool i3, bool i4, bool i5, bool i6, bool i7, bool i8, bool i9, bool i10, bool i11, bool i12, bool i13, bool i14, bool i15, bool i16, bool i17, bool i18, bool i19, bool i20, bool i21, bool i22, bool i23, bool i24); 
  2028.     NAME##_cus_field_list (const NAME *o, cchar *d, Manip m, ##NAME##_enum i1, ##NAME##_enum i2, ##NAME##_enum i3, ##NAME##_enum i4, ##NAME##_enum i5, ##NAME##_enum i6, ##NAME##_enum i7, ##NAME##_enum i8, ##NAME##_enum i9, ##NAME##_enum i10, ##NAME##_enum i11, ##NAME##_enum i12, ##NAME##_enum i13, ##NAME##_enum i14, ##NAME##_enum i15, ##NAME##_enum i16, ##NAME##_enum i17, ##NAME##_enum i18, ##NAME##_enum i19, ##NAME##_enum i20, ##NAME##_enum i21, ##NAME##_enum i22, ##NAME##_enum i23, ##NAME##_enum i24); 
  2029.     NAME##_cus_field_list (const NAME *o, cchar *d, Manip m, vector<bool> *i) 
  2030.       : obj(o), include(i), del_vector(false), delem(d), manip(m) {}
  2031.   };
  2032.  template <class Manip>
  2033.  class NAME##_cus_equal_list {
  2034.  /* friend ostream& operator << <> (ostream&, 
  2035.   const NAME##_cus_equal_list<Manip>&); */
  2036.   public:
  2037.     const NAME *obj;
  2038.     vector<bool> *include;
  2039.     bool del_vector;
  2040.     cchar *delem;
  2041.     cchar *comp;
  2042.     Manip manip;
  2043.   public:
  2044.     ~##NAME##_##cus_equal_list () {if (del_vector) delete include;}
  2045.     NAME##_##cus_equal_list (const NAME *o, cchar *d, cchar *c, Manip m, bool i1, bool i2, bool i3, bool i4, bool i5, bool i6, bool i7, bool i8, bool i9, bool i10, bool i11, bool i12, bool i13, bool i14, bool i15, bool i16, bool i17, bool i18, bool i19, bool i20, bool i21, bool i22, bool i23, bool i24); 
  2046.     NAME##_##cus_equal_list (const NAME *o, cchar *d, cchar *c, Manip m, ##NAME##_enum i1, ##NAME##_enum i2, ##NAME##_enum i3, ##NAME##_enum i4, ##NAME##_enum i5, ##NAME##_enum i6, ##NAME##_enum i7, ##NAME##_enum i8, ##NAME##_enum i9, ##NAME##_enum i10, ##NAME##_enum i11, ##NAME##_enum i12, ##NAME##_enum i13, ##NAME##_enum i14, ##NAME##_enum i15, ##NAME##_enum i16, ##NAME##_enum i17, ##NAME##_enum i18, ##NAME##_enum i19, ##NAME##_enum i20, ##NAME##_enum i21, ##NAME##_enum i22, ##NAME##_enum i23, ##NAME##_enum i24); 
  2047.     NAME##_##cus_equal_list (const NAME *o, cchar *d, cchar *c, Manip m, vector<bool> *i) 
  2048.       : obj(o), include(i), del_vector(false), delem(d), comp(c), manip(m) {}
  2049.   };
  2050.   template <sql_dummy_type dummy> int sql_compare_##NAME (const NAME &, const NAME &);
  2051.   struct NAME { 
  2052.     T1 I1;
  2053.     T2 I2;
  2054.     T3 I3;
  2055.     T4 I4;
  2056.     T5 I5;
  2057.     T6 I6;
  2058.     T7 I7;
  2059.     T8 I8;
  2060.     T9 I9;
  2061.     T10 I10;
  2062.     T11 I11;
  2063.     T12 I12;
  2064.     T13 I13;
  2065.     T14 I14;
  2066.     T15 I15;
  2067.     T16 I16;
  2068.     T17 I17;
  2069.     T18 I18;
  2070.     T19 I19;
  2071.     T20 I20;
  2072.     T21 I21;
  2073.     T22 I22;
  2074.     T23 I23;
  2075.     T24 I24; 
  2076.     NAME () {} 
  2077.     NAME (const MysqlRow &row);
  2078.     void set (const MysqlRow &row);
  2079.     sql_compare_define_##CMP(NAME, T1, I1, T2, I2, T3, I3, T4, I4, T5, I5, T6, I6, T7, I7, T8, I8, T9, I9, T10, I10, T11, I11, T12, I12, T13, I13, T14, I14, T15, I15, T16, I16, T17, I17, T18, I18, T19, I19, T20, I20, T21, I21, T22, I22, T23, I23, T24, I24, 0, 0, 0, 0)
  2080.     sql_construct_define_##CONTR(NAME, T1, I1, T2, I2, T3, I3, T4, I4, T5, I5, T6, I6, T7, I7, T8, I8, T9, I9, T10, I10, T11, I11, T12, I12, T13, I13, T14, I14, T15, I15, T16, I16, T17, I17, T18, I18, T19, I19, T20, I20, T21, I21, T22, I22, T23, I23, T24, I24, 0, 0, 0, 0)
  2081.     static char *names[];
  2082.     static char *_table;
  2083.     static char *& table() {return _table;}
  2084.     /* cus_data */
  2085.     NAME##_cus_value_list<quote_type0> value_list(bool i1, bool i2 = false, bool i3 = false, bool i4 = false, bool i5 = false, bool i6 = false, bool i7 = false, bool i8 = false, bool i9 = false, bool i10 = false, bool i11 = false, bool i12 = false, bool i13 = false, bool i14 = false, bool i15 = false, bool i16 = false, bool i17 = false, bool i18 = false, bool i19 = false, bool i20 = false, bool i21 = false, bool i22 = false, bool i23 = false, bool i24 = false) const {
  2086.       return value_list(",", mysql_quote, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24);
  2087.     }
  2088.     NAME##_cus_value_list<quote_type0> value_list(##NAME##_enum i1, ##NAME##_enum i2 = ##NAME##_NULL, ##NAME##_enum i3 = ##NAME##_NULL, ##NAME##_enum i4 = ##NAME##_NULL, ##NAME##_enum i5 = ##NAME##_NULL, ##NAME##_enum i6 = ##NAME##_NULL, ##NAME##_enum i7 = ##NAME##_NULL, ##NAME##_enum i8 = ##NAME##_NULL, ##NAME##_enum i9 = ##NAME##_NULL, ##NAME##_enum i10 = ##NAME##_NULL, ##NAME##_enum i11 = ##NAME##_NULL, ##NAME##_enum i12 = ##NAME##_NULL, ##NAME##_enum i13 = ##NAME##_NULL, ##NAME##_enum i14 = ##NAME##_NULL, ##NAME##_enum i15 = ##NAME##_NULL, ##NAME##_enum i16 = ##NAME##_NULL, ##NAME##_enum i17 = ##NAME##_NULL, ##NAME##_enum i18 = ##NAME##_NULL, ##NAME##_enum i19 = ##NAME##_NULL, ##NAME##_enum i20 = ##NAME##_NULL, ##NAME##_enum i21 = ##NAME##_NULL, ##NAME##_enum i22 = ##NAME##_NULL, ##NAME##_enum i23 = ##NAME##_NULL, ##NAME##_enum i24 = ##NAME##_NULL) const {
  2089.       return value_list(",", mysql_quote, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24);
  2090.     }
  2091.     NAME##_cus_value_list<quote_type0> value_list(vector<bool> *i) const {
  2092.       return value_list(",", mysql_quote, i);
  2093.     }
  2094.     NAME##_cus_value_list<quote_type0> value_list(sql_cmp_type sc) const {
  2095.       return value_list(",", mysql_quote, sc);
  2096.     }
  2097.     NAME##_cus_value_list<quote_type0> value_list(cchar *d, bool i1, bool i2 = false, bool i3 = false, bool i4 = false, bool i5 = false, bool i6 = false, bool i7 = false, bool i8 = false, bool i9 = false, bool i10 = false, bool i11 = false, bool i12 = false, bool i13 = false, bool i14 = false, bool i15 = false, bool i16 = false, bool i17 = false, bool i18 = false, bool i19 = false, bool i20 = false, bool i21 = false, bool i22 = false, bool i23 = false, bool i24 = false) const {
  2098.       return value_list(d, mysql_quote, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24);
  2099.     }
  2100.     NAME##_cus_value_list<quote_type0> value_list(cchar *d, ##NAME##_enum i1, ##NAME##_enum i2 = ##NAME##_NULL, ##NAME##_enum i3 = ##NAME##_NULL, ##NAME##_enum i4 = ##NAME##_NULL, ##NAME##_enum i5 = ##NAME##_NULL, ##NAME##_enum i6 = ##NAME##_NULL, ##NAME##_enum i7 = ##NAME##_NULL, ##NAME##_enum i8 = ##NAME##_NULL, ##NAME##_enum i9 = ##NAME##_NULL, ##NAME##_enum i10 = ##NAME##_NULL, ##NAME##_enum i11 = ##NAME##_NULL, ##NAME##_enum i12 = ##NAME##_NULL, ##NAME##_enum i13 = ##NAME##_NULL, ##NAME##_enum i14 = ##NAME##_NULL, ##NAME##_enum i15 = ##NAME##_NULL, ##NAME##_enum i16 = ##NAME##_NULL, ##NAME##_enum i17 = ##NAME##_NULL, ##NAME##_enum i18 = ##NAME##_NULL, ##NAME##_enum i19 = ##NAME##_NULL, ##NAME##_enum i20 = ##NAME##_NULL, ##NAME##_enum i21 = ##NAME##_NULL, ##NAME##_enum i22 = ##NAME##_NULL, ##NAME##_enum i23 = ##NAME##_NULL, ##NAME##_enum i24 = ##NAME##_NULL) const {
  2101.       return value_list(d, mysql_quote, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24);
  2102.     }
  2103.     NAME##_cus_value_list<quote_type0> value_list(cchar *d, 
  2104. vector<bool> *i) const {
  2105.       return value_list(d, mysql_quote, i);
  2106.     }
  2107.     NAME##_cus_value_list<quote_type0> value_list(cchar *d, 
  2108. sql_cmp_type sc) const {
  2109.       return value_list(d, mysql_quote, sc);
  2110.     }
  2111.     template <class Manip>
  2112.     NAME##_cus_value_list<Manip> value_list(cchar *d, Manip m,
  2113.   bool i1, bool i2 = false, bool i3 = false, bool i4 = false, bool i5 = false, bool i6 = false, bool i7 = false, bool i8 = false, bool i9 = false, bool i10 = false, bool i11 = false, bool i12 = false, bool i13 = false, bool i14 = false, bool i15 = false, bool i16 = false, bool i17 = false, bool i18 = false, bool i19 = false, bool i20 = false, bool i21 = false, bool i22 = false, bool i23 = false, bool i24 = false) const; 
  2114.     template <class Manip>
  2115.     NAME##_cus_value_list<Manip> value_list(cchar *d, Manip m,
  2116.   ##NAME##_enum i1, ##NAME##_enum i2 = ##NAME##_NULL, ##NAME##_enum i3 = ##NAME##_NULL, ##NAME##_enum i4 = ##NAME##_NULL, ##NAME##_enum i5 = ##NAME##_NULL, ##NAME##_enum i6 = ##NAME##_NULL, ##NAME##_enum i7 = ##NAME##_NULL, ##NAME##_enum i8 = ##NAME##_NULL, ##NAME##_enum i9 = ##NAME##_NULL, ##NAME##_enum i10 = ##NAME##_NULL, ##NAME##_enum i11 = ##NAME##_NULL, ##NAME##_enum i12 = ##NAME##_NULL, ##NAME##_enum i13 = ##NAME##_NULL, ##NAME##_enum i14 = ##NAME##_NULL, ##NAME##_enum i15 = ##NAME##_NULL, ##NAME##_enum i16 = ##NAME##_NULL, ##NAME##_enum i17 = ##NAME##_NULL, ##NAME##_enum i18 = ##NAME##_NULL, ##NAME##_enum i19 = ##NAME##_NULL, ##NAME##_enum i20 = ##NAME##_NULL, ##NAME##_enum i21 = ##NAME##_NULL, ##NAME##_enum i22 = ##NAME##_NULL, ##NAME##_enum i23 = ##NAME##_NULL, ##NAME##_enum i24 = ##NAME##_NULL) const; 
  2117.     template <class Manip>
  2118.     NAME##_cus_value_list<Manip> value_list(cchar *d, Manip m, 
  2119.   vector<bool> *i) const;
  2120.     template <class Manip>
  2121.     NAME##_cus_value_list<Manip> value_list(cchar *d, Manip m, 
  2122.   sql_cmp_type sc) const;
  2123.     /* cus field */
  2124.     NAME##_cus_field_list<do_nothing_type0> field_list(bool i1, bool i2 = false, bool i3 = false, bool i4 = false, bool i5 = false, bool i6 = false, bool i7 = false, bool i8 = false, bool i9 = false, bool i10 = false, bool i11 = false, bool i12 = false, bool i13 = false, bool i14 = false, bool i15 = false, bool i16 = false, bool i17 = false, bool i18 = false, bool i19 = false, bool i20 = false, bool i21 = false, bool i22 = false, bool i23 = false, bool i24 = false) const {
  2125.       return field_list(",", mysql_do_nothing, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24);
  2126.     }
  2127.     NAME##_cus_field_list<do_nothing_type0> field_list(##NAME##_enum i1, ##NAME##_enum i2 = ##NAME##_NULL, ##NAME##_enum i3 = ##NAME##_NULL, ##NAME##_enum i4 = ##NAME##_NULL, ##NAME##_enum i5 = ##NAME##_NULL, ##NAME##_enum i6 = ##NAME##_NULL, ##NAME##_enum i7 = ##NAME##_NULL, ##NAME##_enum i8 = ##NAME##_NULL, ##NAME##_enum i9 = ##NAME##_NULL, ##NAME##_enum i10 = ##NAME##_NULL, ##NAME##_enum i11 = ##NAME##_NULL, ##NAME##_enum i12 = ##NAME##_NULL, ##NAME##_enum i13 = ##NAME##_NULL, ##NAME##_enum i14 = ##NAME##_NULL, ##NAME##_enum i15 = ##NAME##_NULL, ##NAME##_enum i16 = ##NAME##_NULL, ##NAME##_enum i17 = ##NAME##_NULL, ##NAME##_enum i18 = ##NAME##_NULL, ##NAME##_enum i19 = ##NAME##_NULL, ##NAME##_enum i20 = ##NAME##_NULL, ##NAME##_enum i21 = ##NAME##_NULL, ##NAME##_enum i22 = ##NAME##_NULL, ##NAME##_enum i23 = ##NAME##_NULL, ##NAME##_enum i24 = ##NAME##_NULL) const {
  2128.       return field_list(",", mysql_do_nothing, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24);
  2129.     }
  2130.     NAME##_cus_field_list<do_nothing_type0> field_list(vector<bool> *i) const {
  2131.       return field_list(",", mysql_do_nothing, i);
  2132.     }
  2133.     NAME##_cus_field_list<do_nothing_type0> field_list(sql_cmp_type sc) const
  2134.     {
  2135.       return field_list(",", mysql_do_nothing, sc);
  2136.     }
  2137.     NAME##_cus_field_list<do_nothing_type0> field_list(cchar *d, 
  2138.        bool i1, bool i2 = false, bool i3 = false, bool i4 = false, bool i5 = false, bool i6 = false, bool i7 = false, bool i8 = false, bool i9 = false, bool i10 = false, bool i11 = false, bool i12 = false, bool i13 = false, bool i14 = false, bool i15 = false, bool i16 = false, bool i17 = false, bool i18 = false, bool i19 = false, bool i20 = false, bool i21 = false, bool i22 = false, bool i23 = false, bool i24 = false) const {
  2139.       return field_list(d, mysql_do_nothing, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24);
  2140.     }
  2141.     NAME##_cus_field_list<do_nothing_type0> field_list(cchar *d,
  2142.        ##NAME##_enum i1, ##NAME##_enum i2 = ##NAME##_NULL, ##NAME##_enum i3 = ##NAME##_NULL, ##NAME##_enum i4 = ##NAME##_NULL, ##NAME##_enum i5 = ##NAME##_NULL, ##NAME##_enum i6 = ##NAME##_NULL, ##NAME##_enum i7 = ##NAME##_NULL, ##NAME##_enum i8 = ##NAME##_NULL, ##NAME##_enum i9 = ##NAME##_NULL, ##NAME##_enum i10 = ##NAME##_NULL, ##NAME##_enum i11 = ##NAME##_NULL, ##NAME##_enum i12 = ##NAME##_NULL, ##NAME##_enum i13 = ##NAME##_NULL, ##NAME##_enum i14 = ##NAME##_NULL, ##NAME##_enum i15 = ##NAME##_NULL, ##NAME##_enum i16 = ##NAME##_NULL, ##NAME##_enum i17 = ##NAME##_NULL, ##NAME##_enum i18 = ##NAME##_NULL, ##NAME##_enum i19 = ##NAME##_NULL, ##NAME##_enum i20 = ##NAME##_NULL, ##NAME##_enum i21 = ##NAME##_NULL, ##NAME##_enum i22 = ##NAME##_NULL, ##NAME##_enum i23 = ##NAME##_NULL, ##NAME##_enum i24 = ##NAME##_NULL) const {
  2143.       return field_list(d, mysql_do_nothing, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24);
  2144.     }
  2145.     NAME##_cus_field_list<do_nothing_type0> field_list(cchar *d, 
  2146. vector<bool> *i) const {
  2147.       return field_list(d, mysql_do_nothing, i);
  2148.     }
  2149.     NAME##_cus_field_list<do_nothing_type0> field_list(cchar *d, 
  2150. sql_cmp_type sc) const {
  2151.       return field_list(d, mysql_do_nothing, sc);
  2152.     }
  2153.     template <class Manip>
  2154.     NAME##_cus_field_list<Manip> field_list(cchar *d, Manip m,
  2155.     bool i1, bool i2 = false, bool i3 = false, bool i4 = false, bool i5 = false, bool i6 = false, bool i7 = false, bool i8 = false, bool i9 = false, bool i10 = false, bool i11 = false, bool i12 = false, bool i13 = false, bool i14 = false, bool i15 = false, bool i16 = false, bool i17 = false, bool i18 = false, bool i19 = false, bool i20 = false, bool i21 = false, bool i22 = false, bool i23 = false, bool i24 = false) const; 
  2156.     template <class Manip>
  2157.     NAME##_cus_field_list<Manip> field_list(cchar *d, Manip m,
  2158.     ##NAME##_enum i1, ##NAME##_enum i2 = ##NAME##_NULL, ##NAME##_enum i3 = ##NAME##_NULL, ##NAME##_enum i4 = ##NAME##_NULL, ##NAME##_enum i5 = ##NAME##_NULL, ##NAME##_enum i6 = ##NAME##_NULL, ##NAME##_enum i7 = ##NAME##_NULL, ##NAME##_enum i8 = ##NAME##_NULL, ##NAME##_enum i9 = ##NAME##_NULL, ##NAME##_enum i10 = ##NAME##_NULL, ##NAME##_enum i11 = ##NAME##_NULL, ##NAME##_enum i12 = ##NAME##_NULL, ##NAME##_enum i13 = ##NAME##_NULL, ##NAME##_enum i14 = ##NAME##_NULL, ##NAME##_enum i15 = ##NAME##_NULL, ##NAME##_enum i16 = ##NAME##_NULL, ##NAME##_enum i17 = ##NAME##_NULL, ##NAME##_enum i18 = ##NAME##_NULL, ##NAME##_enum i19 = ##NAME##_NULL, ##NAME##_enum i20 = ##NAME##_NULL, ##NAME##_enum i21 = ##NAME##_NULL, ##NAME##_enum i22 = ##NAME##_NULL, ##NAME##_enum i23 = ##NAME##_NULL, ##NAME##_enum i24 = ##NAME##_NULL) const; 
  2159.     template <class Manip>
  2160.     NAME##_cus_field_list<Manip> field_list(cchar *d, Manip m,
  2161.     vector<bool> *i) const;
  2162.     template <class Manip>
  2163.     NAME##_cus_field_list<Manip> field_list(cchar *d, Manip m, 
  2164.     sql_cmp_type sc) const;
  2165.     /* cus equal */
  2166.     NAME##_cus_equal_list<quote_type0> equal_list(bool i1, bool i2 = false, bool i3 = false, bool i4 = false, bool i5 = false, bool i6 = false, bool i7 = false, bool i8 = false, bool i9 = false, bool i10 = false, bool i11 = false, bool i12 = false, bool i13 = false, bool i14 = false, bool i15 = false, bool i16 = false, bool i17 = false, bool i18 = false, bool i19 = false, bool i20 = false, bool i21 = false, bool i22 = false, bool i23 = false, bool i24 = false) const {
  2167.       return equal_list(",", " = ", mysql_quote, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24);
  2168.     }
  2169.     NAME##_cus_equal_list<quote_type0> equal_list(##NAME##_enum i1, ##NAME##_enum i2 = ##NAME##_NULL, ##NAME##_enum i3 = ##NAME##_NULL, ##NAME##_enum i4 = ##NAME##_NULL, ##NAME##_enum i5 = ##NAME##_NULL, ##NAME##_enum i6 = ##NAME##_NULL, ##NAME##_enum i7 = ##NAME##_NULL, ##NAME##_enum i8 = ##NAME##_NULL, ##NAME##_enum i9 = ##NAME##_NULL, ##NAME##_enum i10 = ##NAME##_NULL, ##NAME##_enum i11 = ##NAME##_NULL, ##NAME##_enum i12 = ##NAME##_NULL, ##NAME##_enum i13 = ##NAME##_NULL, ##NAME##_enum i14 = ##NAME##_NULL, ##NAME##_enum i15 = ##NAME##_NULL, ##NAME##_enum i16 = ##NAME##_NULL, ##NAME##_enum i17 = ##NAME##_NULL, ##NAME##_enum i18 = ##NAME##_NULL, ##NAME##_enum i19 = ##NAME##_NULL, ##NAME##_enum i20 = ##NAME##_NULL, ##NAME##_enum i21 = ##NAME##_NULL, ##NAME##_enum i22 = ##NAME##_NULL, ##NAME##_enum i23 = ##NAME##_NULL, ##NAME##_enum i24 = ##NAME##_NULL) const {
  2170.       return equal_list(",", " = ", mysql_quote, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24);
  2171.     }
  2172.     NAME##_cus_equal_list<quote_type0> equal_list(vector<bool> *i) const {
  2173.       return equal_list(",", " = ", mysql_quote, i);
  2174.     }
  2175.     NAME##_cus_equal_list<quote_type0> equal_list(sql_cmp_type sc) const {
  2176.       return equal_list(",", " = ", mysql_quote, sc);
  2177.     }
  2178.     NAME##_cus_equal_list<quote_type0> equal_list(cchar *d, bool i1, bool i2 = false, bool i3 = false, bool i4 = false, bool i5 = false, bool i6 = false, bool i7 = false, bool i8 = false, bool i9 = false, bool i10 = false, bool i11 = false, bool i12 = false, bool i13 = false, bool i14 = false, bool i15 = false, bool i16 = false, bool i17 = false, bool i18 = false, bool i19 = false, bool i20 = false, bool i21 = false, bool i22 = false, bool i23 = false, bool i24 = false) const {
  2179.       return equal_list(d, " = ", mysql_quote, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24);
  2180.     }
  2181.     NAME##_cus_equal_list<quote_type0> equal_list(cchar *d, ##NAME##_enum i1, ##NAME##_enum i2 = ##NAME##_NULL, ##NAME##_enum i3 = ##NAME##_NULL, ##NAME##_enum i4 = ##NAME##_NULL, ##NAME##_enum i5 = ##NAME##_NULL, ##NAME##_enum i6 = ##NAME##_NULL, ##NAME##_enum i7 = ##NAME##_NULL, ##NAME##_enum i8 = ##NAME##_NULL, ##NAME##_enum i9 = ##NAME##_NULL, ##NAME##_enum i10 = ##NAME##_NULL, ##NAME##_enum i11 = ##NAME##_NULL, ##NAME##_enum i12 = ##NAME##_NULL, ##NAME##_enum i13 = ##NAME##_NULL, ##NAME##_enum i14 = ##NAME##_NULL, ##NAME##_enum i15 = ##NAME##_NULL, ##NAME##_enum i16 = ##NAME##_NULL, ##NAME##_enum i17 = ##NAME##_NULL, ##NAME##_enum i18 = ##NAME##_NULL, ##NAME##_enum i19 = ##NAME##_NULL, ##NAME##_enum i20 = ##NAME##_NULL, ##NAME##_enum i21 = ##NAME##_NULL, ##NAME##_enum i22 = ##NAME##_NULL, ##NAME##_enum i23 = ##NAME##_NULL, ##NAME##_enum i24 = ##NAME##_NULL) const {
  2182.       return equal_list(d, " = ", mysql_quote, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24);
  2183.     }
  2184.     NAME##_cus_equal_list<quote_type0> equal_list(cchar *d, 
  2185. vector<bool> *i) const {
  2186.       return equal_list(d, " = ", mysql_quote, i);
  2187.     }
  2188.     NAME##_cus_equal_list<quote_type0> equal_list(cchar *d, 
  2189. sql_cmp_type sc) const {
  2190.       return equal_list(d, " = ", mysql_quote, sc);
  2191.     }
  2192.     NAME##_cus_equal_list<quote_type0> equal_list(cchar *d, cchar *c,
  2193.                                                 bool i1, bool i2 = false, bool i3 = false, bool i4 = false, bool i5 = false, bool i6 = false, bool i7 = false, bool i8 = false, bool i9 = false, bool i10 = false, bool i11 = false, bool i12 = false, bool i13 = false, bool i14 = false, bool i15 = false, bool i16 = false, bool i17 = false, bool i18 = false, bool i19 = false, bool i20 = false, bool i21 = false, bool i22 = false, bool i23 = false, bool i24 = false) const {
  2194.       return equal_list(d, c, mysql_quote, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24);
  2195.     }
  2196.     NAME##_cus_equal_list<quote_type0> equal_list(cchar *d, cchar *c,
  2197.                                                 ##NAME##_enum i1, ##NAME##_enum i2 = ##NAME##_NULL, ##NAME##_enum i3 = ##NAME##_NULL, ##NAME##_enum i4 = ##NAME##_NULL, ##NAME##_enum i5 = ##NAME##_NULL, ##NAME##_enum i6 = ##NAME##_NULL, ##NAME##_enum i7 = ##NAME##_NULL, ##NAME##_enum i8 = ##NAME##_NULL, ##NAME##_enum i9 = ##NAME##_NULL, ##NAME##_enum i10 = ##NAME##_NULL, ##NAME##_enum i11 = ##NAME##_NULL, ##NAME##_enum i12 = ##NAME##_NULL, ##NAME##_enum i13 = ##NAME##_NULL, ##NAME##_enum i14 = ##NAME##_NULL, ##NAME##_enum i15 = ##NAME##_NULL, ##NAME##_enum i16 = ##NAME##_NULL, ##NAME##_enum i17 = ##NAME##_NULL, ##NAME##_enum i18 = ##NAME##_NULL, ##NAME##_enum i19 = ##NAME##_NULL, ##NAME##_enum i20 = ##NAME##_NULL, ##NAME##_enum i21 = ##NAME##_NULL, ##NAME##_enum i22 = ##NAME##_NULL, ##NAME##_enum i23 = ##NAME##_NULL, ##NAME##_enum i24 = ##NAME##_NULL) const {
  2198.       return equal_list(d, c, mysql_quote, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24);
  2199.     }
  2200.     NAME##_cus_equal_list<quote_type0> equal_list(cchar *d, cchar *c,
  2201. vector<bool> *i) const {
  2202.       return equal_list(d, c, mysql_quote, i);
  2203.     }
  2204.     NAME##_cus_equal_list<quote_type0> equal_list(cchar *d, cchar *c,
  2205. sql_cmp_type sc) const {
  2206.       return equal_list(d, c, mysql_quote, sc);
  2207.     }
  2208.     template <class Manip>
  2209.     NAME##_cus_equal_list<Manip> equal_list(cchar *d, cchar *c, Manip m, 
  2210.     bool i1, bool i2 = false, bool i3 = false, bool i4 = false, bool i5 = false, bool i6 = false, bool i7 = false, bool i8 = false, bool i9 = false, bool i10 = false, bool i11 = false, bool i12 = false, bool i13 = false, bool i14 = false, bool i15 = false, bool i16 = false, bool i17 = false, bool i18 = false, bool i19 = false, bool i20 = false, bool i21 = false, bool i22 = false, bool i23 = false, bool i24 = false) const; 
  2211.     template <class Manip>
  2212.     NAME##_cus_equal_list<Manip> equal_list(cchar *d, cchar *c, Manip m, 
  2213.     ##NAME##_enum i1, ##NAME##_enum i2 = ##NAME##_NULL, ##NAME##_enum i3 = ##NAME##_NULL, ##NAME##_enum i4 = ##NAME##_NULL, ##NAME##_enum i5 = ##NAME##_NULL, ##NAME##_enum i6 = ##NAME##_NULL, ##NAME##_enum i7 = ##NAME##_NULL, ##NAME##_enum i8 = ##NAME##_NULL, ##NAME##_enum i9 = ##NAME##_NULL, ##NAME##_enum i10 = ##NAME##_NULL, ##NAME##_enum i11 = ##NAME##_NULL, ##NAME##_enum i12 = ##NAME##_NULL, ##NAME##_enum i13 = ##NAME##_NULL, ##NAME##_enum i14 = ##NAME##_NULL, ##NAME##_enum i15 = ##NAME##_NULL, ##NAME##_enum i16 = ##NAME##_NULL, ##NAME##_enum i17 = ##NAME##_NULL, ##NAME##_enum i18 = ##NAME##_NULL, ##NAME##_enum i19 = ##NAME##_NULL, ##NAME##_enum i20 = ##NAME##_NULL, ##NAME##_enum i21 = ##NAME##_NULL, ##NAME##_enum i22 = ##NAME##_NULL, ##NAME##_enum i23 = ##NAME##_NULL, ##NAME##_enum i24 = ##NAME##_NULL) const; 
  2214.     template <class Manip>
  2215.     NAME##_cus_equal_list<Manip> equal_list(cchar *d, cchar *c, Manip m, 
  2216.     vector<bool> *i) const;
  2217.     template <class Manip>
  2218.     NAME##_cus_equal_list<Manip> equal_list(cchar *d, cchar *c, Manip m, 
  2219.     sql_cmp_type sc) const;
  2220.     NAME##_value_list<quote_type0> value_list() const {
  2221.       return value_list(",", mysql_quote);}
  2222.     NAME##_value_list<quote_type0> value_list(cchar *d) const {
  2223.       return value_list(d, mysql_quote);}
  2224.     template <class Manip> 
  2225.     NAME##_value_list<Manip> value_list(cchar *d, Manip m) const; 
  2226.     NAME##_field_list<do_nothing_type0> field_list() const {
  2227.       return field_list(",", mysql_do_nothing);}
  2228.     NAME##_field_list<do_nothing_type0> field_list(cchar *d) const {
  2229.       return field_list(d, mysql_do_nothing);}
  2230.     template <class Manip>
  2231.     NAME##_field_list<Manip> field_list(cchar *d, Manip m) const; 
  2232.     NAME##_equal_list<quote_type0> equal_list(cchar *d = ",", 
  2233.                                               cchar *c = " = ") const{
  2234.       return equal_list(d, c, mysql_quote);}
  2235.     template <class Manip>
  2236.     NAME##_equal_list<Manip> equal_list(cchar *d, cchar *c, Manip m) const; 
  2237.   }; 
  2238.   char *##NAME##::names[] = { 
  2239.     N1 ,
  2240.     N2 ,
  2241.     N3 ,
  2242.     N4 ,
  2243.     N5 ,
  2244.     N6 ,
  2245.     N7 ,
  2246.     N8 ,
  2247.     N9 ,
  2248.     N10 ,
  2249.     N11 ,
  2250.     N12 ,
  2251.     N13 ,
  2252.     N14 ,
  2253.     N15 ,
  2254.     N16 ,
  2255.     N17 ,
  2256.     N18 ,
  2257.     N19 ,
  2258.     N20 ,
  2259.     N21 ,
  2260.     N22 ,
  2261.     N23 ,
  2262.     N24  
  2263.   }; 
  2264.   char *##NAME##::_table = #NAME ;  
  2265.   template <class Manip>
  2266.   NAME##_cus_value_list<Manip>::NAME##_cus_value_list
  2267.   (const NAME *o, cchar *d, Manip m, bool i1, bool i2, bool i3, bool i4, bool i5, bool i6, bool i7, bool i8, bool i9, bool i10, bool i11, bool i12, bool i13, bool i14, bool i15, bool i16, bool i17, bool i18, bool i19, bool i20, bool i21, bool i22, bool i23, bool i24) 
  2268.   { 
  2269.     delem = d;
  2270.     manip = m;
  2271.     del_vector = true;
  2272.     obj = o; 
  2273.     include = new vector<bool>(24, false);
  2274.     if (i1) (*include)[0]=true;
  2275.     if (i2) (*include)[1]=true;
  2276.     if (i3) (*include)[2]=true;
  2277.     if (i4) (*include)[3]=true;
  2278.     if (i5) (*include)[4]=true;
  2279.     if (i6) (*include)[5]=true;
  2280.     if (i7) (*include)[6]=true;
  2281.     if (i8) (*include)[7]=true;
  2282.     if (i9) (*include)[8]=true;
  2283.     if (i10) (*include)[9]=true;
  2284.     if (i11) (*include)[10]=true;
  2285.     if (i12) (*include)[11]=true;
  2286.     if (i13) (*include)[12]=true;
  2287.     if (i14) (*include)[13]=true;
  2288.     if (i15) (*include)[14]=true;
  2289.     if (i16) (*include)[15]=true;
  2290.     if (i17) (*include)[16]=true;
  2291.     if (i18) (*include)[17]=true;
  2292.     if (i19) (*include)[18]=true;
  2293.     if (i20) (*include)[19]=true;
  2294.     if (i21) (*include)[20]=true;
  2295.     if (i22) (*include)[21]=true;
  2296.     if (i23) (*include)[22]=true;
  2297.     if (i24) (*include)[23]=true;
  2298.   } 
  2299.   template <class Manip>
  2300.   NAME##_cus_value_list<Manip>::NAME##_cus_value_list
  2301.   (const NAME *o, cchar *d, Manip m, ##NAME##_enum i1, ##NAME##_enum i2, ##NAME##_enum i3, ##NAME##_enum i4, ##NAME##_enum i5, ##NAME##_enum i6, ##NAME##_enum i7, ##NAME##_enum i8, ##NAME##_enum i9, ##NAME##_enum i10, ##NAME##_enum i11, ##NAME##_enum i12, ##NAME##_enum i13, ##NAME##_enum i14, ##NAME##_enum i15, ##NAME##_enum i16, ##NAME##_enum i17, ##NAME##_enum i18, ##NAME##_enum i19, ##NAME##_enum i20, ##NAME##_enum i21, ##NAME##_enum i22, ##NAME##_enum i23, ##NAME##_enum i24) { 
  2302.     delem = d;
  2303.     manip = m;
  2304.     del_vector = true; 
  2305.     obj = o; 
  2306.     include = new vector<bool>(24, false); 
  2307.     if (i1 == NAME##_NULL) return;
  2308.     (*include)[i1]=true;
  2309.     if (i2 == NAME##_NULL) return;
  2310.     (*include)[i2]=true;
  2311.     if (i3 == NAME##_NULL) return;
  2312.     (*include)[i3]=true;
  2313.     if (i4 == NAME##_NULL) return;
  2314.     (*include)[i4]=true;
  2315.     if (i5 == NAME##_NULL) return;
  2316.     (*include)[i5]=true;
  2317.     if (i6 == NAME##_NULL) return;
  2318.     (*include)[i6]=true;
  2319.     if (i7 == NAME##_NULL) return;
  2320.     (*include)[i7]=true;
  2321.     if (i8 == NAME##_NULL) return;
  2322.     (*include)[i8]=true;
  2323.     if (i9 == NAME##_NULL) return;
  2324.     (*include)[i9]=true;
  2325.     if (i10 == NAME##_NULL) return;
  2326.     (*include)[i10]=true;
  2327.     if (i11 == NAME##_NULL) return;
  2328.     (*include)[i11]=true;
  2329.     if (i12 == NAME##_NULL) return;
  2330.     (*include)[i12]=true;
  2331.     if (i13 == NAME##_NULL) return;
  2332.     (*include)[i13]=true;
  2333.     if (i14 == NAME##_NULL) return;
  2334.     (*include)[i14]=true;
  2335.     if (i15 == NAME##_NULL) return;
  2336.     (*include)[i15]=true;
  2337.     if (i16 == NAME##_NULL) return;
  2338.     (*include)[i16]=true;
  2339.     if (i17 == NAME##_NULL) return;
  2340.     (*include)[i17]=true;
  2341.     if (i18 == NAME##_NULL) return;
  2342.     (*include)[i18]=true;
  2343.     if (i19 == NAME##_NULL) return;
  2344.     (*include)[i19]=true;
  2345.     if (i20 == NAME##_NULL) return;
  2346.     (*include)[i20]=true;
  2347.     if (i21 == NAME##_NULL) return;
  2348.     (*include)[i21]=true;
  2349.     if (i22 == NAME##_NULL) return;
  2350.     (*include)[i22]=true;
  2351.     if (i23 == NAME##_NULL) return;
  2352.     (*include)[i23]=true;
  2353.     if (i24 == NAME##_NULL) return;
  2354.     (*include)[i24]=true;
  2355.   }
  2356.   template <class Manip>
  2357.   NAME##_cus_field_list<Manip>::NAME##_cus_field_list
  2358.   (const NAME *o, cchar *d, Manip m, bool i1, bool i2, bool i3, bool i4, bool i5, bool i6, bool i7, bool i8, bool i9, bool i10, bool i11, bool i12, bool i13, bool i14, bool i15, bool i16, bool i17, bool i18, bool i19, bool i20, bool i21, bool i22, bool i23, bool i24) {
  2359.     delem = d;
  2360.     manip = m;
  2361.     del_vector = true; 
  2362.     obj = o; 
  2363.     include = new vector<bool>(24, false); 
  2364.     if (i1) (*include)[0]=true;
  2365.     if (i2) (*include)[1]=true;
  2366.     if (i3) (*include)[2]=true;
  2367.     if (i4) (*include)[3]=true;
  2368.     if (i5) (*include)[4]=true;
  2369.     if (i6) (*include)[5]=true;
  2370.     if (i7) (*include)[6]=true;
  2371.     if (i8) (*include)[7]=true;
  2372.     if (i9) (*include)[8]=true;
  2373.     if (i10) (*include)[9]=true;
  2374.     if (i11) (*include)[10]=true;
  2375.     if (i12) (*include)[11]=true;
  2376.     if (i13) (*include)[12]=true;
  2377.     if (i14) (*include)[13]=true;
  2378.     if (i15) (*include)[14]=true;
  2379.     if (i16) (*include)[15]=true;
  2380.     if (i17) (*include)[16]=true;
  2381.     if (i18) (*include)[17]=true;
  2382.     if (i19) (*include)[18]=true;
  2383.     if (i20) (*include)[19]=true;
  2384.     if (i21) (*include)[20]=true;
  2385.     if (i22) (*include)[21]=true;
  2386.     if (i23) (*include)[22]=true;
  2387.     if (i24) (*include)[23]=true;
  2388.   } 
  2389.   template <class Manip>
  2390.   NAME##_cus_field_list<Manip>::NAME##_cus_field_list
  2391.   (const NAME *o, cchar *d, Manip m, ##NAME##_enum i1, ##NAME##_enum i2, ##NAME##_enum i3, ##NAME##_enum i4, ##NAME##_enum i5, ##NAME##_enum i6, ##NAME##_enum i7, ##NAME##_enum i8, ##NAME##_enum i9, ##NAME##_enum i10, ##NAME##_enum i11, ##NAME##_enum i12, ##NAME##_enum i13, ##NAME##_enum i14, ##NAME##_enum i15, ##NAME##_enum i16, ##NAME##_enum i17, ##NAME##_enum i18, ##NAME##_enum i19, ##NAME##_enum i20, ##NAME##_enum i21, ##NAME##_enum i22, ##NAME##_enum i23, ##NAME##_enum i24) { 
  2392.     delem = d;
  2393.     manip = m;
  2394.     del_vector = true; 
  2395.     obj = o; 
  2396.     include = new vector<bool>(24, false); 
  2397.     if (i1 == NAME##_NULL) return;
  2398.     (*include)[i1]=true;
  2399.     if (i2 == NAME##_NULL) return;
  2400.     (*include)[i2]=true;
  2401.     if (i3 == NAME##_NULL) return;
  2402.     (*include)[i3]=true;
  2403.     if (i4 == NAME##_NULL) return;
  2404.     (*include)[i4]=true;
  2405.     if (i5 == NAME##_NULL) return;
  2406.     (*include)[i5]=true;
  2407.     if (i6 == NAME##_NULL) return;
  2408.     (*include)[i6]=true;
  2409.     if (i7 == NAME##_NULL) return;
  2410.     (*include)[i7]=true;
  2411.     if (i8 == NAME##_NULL) return;
  2412.     (*include)[i8]=true;
  2413.     if (i9 == NAME##_NULL) return;
  2414.     (*include)[i9]=true;
  2415.     if (i10 == NAME##_NULL) return;
  2416.     (*include)[i10]=true;
  2417.     if (i11 == NAME##_NULL) return;
  2418.     (*include)[i11]=true;
  2419.     if (i12 == NAME##_NULL) return;
  2420.     (*include)[i12]=true;
  2421.     if (i13 == NAME##_NULL) return;
  2422.     (*include)[i13]=true;
  2423.     if (i14 == NAME##_NULL) return;
  2424.     (*include)[i14]=true;
  2425.     if (i15 == NAME##_NULL) return;
  2426.     (*include)[i15]=true;
  2427.     if (i16 == NAME##_NULL) return;
  2428.     (*include)[i16]=true;
  2429.     if (i17 == NAME##_NULL) return;
  2430.     (*include)[i17]=true;
  2431.     if (i18 == NAME##_NULL) return;
  2432.     (*include)[i18]=true;
  2433.     if (i19 == NAME##_NULL) return;
  2434.     (*include)[i19]=true;
  2435.     if (i20 == NAME##_NULL) return;
  2436.     (*include)[i20]=true;
  2437.     if (i21 == NAME##_NULL) return;
  2438.     (*include)[i21]=true;
  2439.     if (i22 == NAME##_NULL) return;
  2440.     (*include)[i22]=true;
  2441.     if (i23 == NAME##_NULL) return;
  2442.     (*include)[i23]=true;
  2443.     if (i24 == NAME##_NULL) return;
  2444.     (*include)[i24]=true;
  2445.   }
  2446.   template <class Manip>
  2447.   NAME##_cus_equal_list<Manip>::NAME##_cus_equal_list
  2448.   (const NAME *o, cchar *d, cchar *c, Manip m, bool i1, bool i2, bool i3, bool i4, bool i5, bool i6, bool i7, bool i8, bool i9, bool i10, bool i11, bool i12, bool i13, bool i14, bool i15, bool i16, bool i17, bool i18, bool i19, bool i20, bool i21, bool i22, bool i23, bool i24) { 
  2449.     delem = d;
  2450.     comp = c;
  2451.     manip = m;
  2452.     del_vector = true; 
  2453.     obj = o; 
  2454.     include = new vector<bool>(24, false); 
  2455.     if (i1) (*include)[0]=true;
  2456.     if (i2) (*include)[1]=true;
  2457.     if (i3) (*include)[2]=true;
  2458.     if (i4) (*include)[3]=true;
  2459.     if (i5) (*include)[4]=true;
  2460.     if (i6) (*include)[5]=true;
  2461.     if (i7) (*include)[6]=true;
  2462.     if (i8) (*include)[7]=true;
  2463.     if (i9) (*include)[8]=true;
  2464.     if (i10) (*include)[9]=true;
  2465.     if (i11) (*include)[10]=true;
  2466.     if (i12) (*include)[11]=true;
  2467.     if (i13) (*include)[12]=true;
  2468.     if (i14) (*include)[13]=true;
  2469.     if (i15) (*include)[14]=true;
  2470.     if (i16) (*include)[15]=true;
  2471.     if (i17) (*include)[16]=true;
  2472.     if (i18) (*include)[17]=true;
  2473.     if (i19) (*include)[18]=true;
  2474.     if (i20) (*include)[19]=true;
  2475.     if (i21) (*include)[20]=true;
  2476.     if (i22) (*include)[21]=true;
  2477.     if (i23) (*include)[22]=true;
  2478.     if (i24) (*include)[23]=true;
  2479.   } 
  2480.   template <class Manip>
  2481.   NAME##_cus_equal_list<Manip>::NAME##_cus_equal_list
  2482.   (const NAME *o, cchar *d, cchar *c, Manip m, ##NAME##_enum i1, ##NAME##_enum i2, ##NAME##_enum i3, ##NAME##_enum i4, ##NAME##_enum i5, ##NAME##_enum i6, ##NAME##_enum i7, ##NAME##_enum i8, ##NAME##_enum i9, ##NAME##_enum i10, ##NAME##_enum i11, ##NAME##_enum i12, ##NAME##_enum i13, ##NAME##_enum i14, ##NAME##_enum i15, ##NAME##_enum i16, ##NAME##_enum i17, ##NAME##_enum i18, ##NAME##_enum i19, ##NAME##_enum i20, ##NAME##_enum i21, ##NAME##_enum i22, ##NAME##_enum i23, ##NAME##_enum i24) { 
  2483.     delem = d;
  2484.     comp = c;
  2485.     manip = m;
  2486.     del_vector = true; 
  2487.     obj = o; 
  2488.     include = new vector<bool>(24, false); 
  2489.     if (i1 == NAME##_NULL) return;
  2490.     (*include)[i1]=true;
  2491.     if (i2 == NAME##_NULL) return;
  2492.     (*include)[i2]=true;
  2493.     if (i3 == NAME##_NULL) return;
  2494.     (*include)[i3]=true;
  2495.     if (i4 == NAME##_NULL) return;
  2496.     (*include)[i4]=true;
  2497.     if (i5 == NAME##_NULL) return;
  2498.     (*include)[i5]=true;
  2499.     if (i6 == NAME##_NULL) return;
  2500.     (*include)[i6]=true;
  2501.     if (i7 == NAME##_NULL) return;
  2502.     (*include)[i7]=true;
  2503.     if (i8 == NAME##_NULL) return;
  2504.     (*include)[i8]=true;
  2505.     if (i9 == NAME##_NULL) return;
  2506.     (*include)[i9]=true;
  2507.     if (i10 == NAME##_NULL) return;
  2508.     (*include)[i10]=true;
  2509.     if (i11 == NAME##_NULL) return;
  2510.     (*include)[i11]=true;
  2511.     if (i12 == NAME##_NULL) return;
  2512.     (*include)[i12]=true;
  2513.     if (i13 == NAME##_NULL) return;
  2514.     (*include)[i13]=true;
  2515.     if (i14 == NAME##_NULL) return;
  2516.     (*include)[i14]=true;
  2517.     if (i15 == NAME##_NULL) return;
  2518.     (*include)[i15]=true;
  2519.     if (i16 == NAME##_NULL) return;
  2520.     (*include)[i16]=true;
  2521.     if (i17 == NAME##_NULL) return;
  2522.     (*include)[i17]=true;
  2523.     if (i18 == NAME##_NULL) return;
  2524.     (*include)[i18]=true;
  2525.     if (i19 == NAME##_NULL) return;
  2526.     (*include)[i19]=true;
  2527.     if (i20 == NAME##_NULL) return;
  2528.     (*include)[i20]=true;
  2529.     if (i21 == NAME##_NULL) return;
  2530.     (*include)[i21]=true;
  2531.     if (i22 == NAME##_NULL) return;
  2532.     (*include)[i22]=true;
  2533.     if (i23 == NAME##_NULL) return;
  2534.     (*include)[i23]=true;
  2535.     if (i24 == NAME##_NULL) return;
  2536.     (*include)[i24]=true;
  2537.   }
  2538.   template <class Manip>
  2539.   ostream& operator << (ostream& s, const NAME##_value_list<Manip>& obj) { 
  2540.     s << obj.manip << obj.obj->##I1 << obj.delem;
  2541.     s << obj.manip << obj.obj->##I2 << obj.delem;
  2542.     s << obj.manip << obj.obj->##I3 << obj.delem;
  2543.     s << obj.manip << obj.obj->##I4 << obj.delem;
  2544.     s << obj.manip << obj.obj->##I5 << obj.delem;
  2545.     s << obj.manip << obj.obj->##I6 << obj.delem;
  2546.     s << obj.manip << obj.obj->##I7 << obj.delem;
  2547.     s << obj.manip << obj.obj->##I8 << obj.delem;
  2548.     s << obj.manip << obj.obj->##I9 << obj.delem;
  2549.     s << obj.manip << obj.obj->##I10 << obj.delem;
  2550.     s << obj.manip << obj.obj->##I11 << obj.delem;
  2551.     s << obj.manip << obj.obj->##I12 << obj.delem;
  2552.     s << obj.manip << obj.obj->##I13 << obj.delem;
  2553.     s << obj.manip << obj.obj->##I14 << obj.delem;
  2554.     s << obj.manip << obj.obj->##I15 << obj.delem;
  2555.     s << obj.manip << obj.obj->##I16 << obj.delem;
  2556.     s << obj.manip << obj.obj->##I17 << obj.delem;
  2557.     s << obj.manip << obj.obj->##I18 << obj.delem;
  2558.     s << obj.manip << obj.obj->##I19 << obj.delem;
  2559.     s << obj.manip << obj.obj->##I20 << obj.delem;
  2560.     s << obj.manip << obj.obj->##I21 << obj.delem;
  2561.     s << obj.manip << obj.obj->##I22 << obj.delem;
  2562.     s << obj.manip << obj.obj->##I23 << obj.delem;
  2563.     s << obj.manip << obj.obj->##I24; 
  2564.     return s; 
  2565.   } 
  2566.   template <class Manip>
  2567.   ostream& operator << (ostream& s, const NAME##_field_list<Manip>& obj) { 
  2568.     s << obj.manip << obj.obj->names[0] << obj.delem;
  2569.     s << obj.manip << obj.obj->names[1] << obj.delem;
  2570.     s << obj.manip << obj.obj->names[2] << obj.delem;
  2571.     s << obj.manip << obj.obj->names[3] << obj.delem;
  2572.     s << obj.manip << obj.obj->names[4] << obj.delem;
  2573.     s << obj.manip << obj.obj->names[5] << obj.delem;
  2574.     s << obj.manip << obj.obj->names[6] << obj.delem;
  2575.     s << obj.manip << obj.obj->names[7] << obj.delem;
  2576.     s << obj.manip << obj.obj->names[8] << obj.delem;
  2577.     s << obj.manip << obj.obj->names[9] << obj.delem;
  2578.     s << obj.manip << obj.obj->names[10] << obj.delem;
  2579.     s << obj.manip << obj.obj->names[11] << obj.delem;
  2580.     s << obj.manip << obj.obj->names[12] << obj.delem;
  2581.     s << obj.manip << obj.obj->names[13] << obj.delem;
  2582.     s << obj.manip << obj.obj->names[14] << obj.delem;
  2583.     s << obj.manip << obj.obj->names[15] << obj.delem;
  2584.     s << obj.manip << obj.obj->names[16] << obj.delem;
  2585.     s << obj.manip << obj.obj->names[17] << obj.delem;
  2586.     s << obj.manip << obj.obj->names[18] << obj.delem;
  2587.     s << obj.manip << obj.obj->names[19] << obj.delem;
  2588.     s << obj.manip << obj.obj->names[20] << obj.delem;
  2589.     s << obj.manip << obj.obj->names[21] << obj.delem;
  2590.     s << obj.manip << obj.obj->names[22] << obj.delem;
  2591.     s << obj.manip << obj.obj->names[23]; 
  2592.     return s; 
  2593.   } 
  2594.   template <class Manip>
  2595.   ostream& operator << (ostream& s, const NAME##_equal_list<Manip>& obj) { 
  2596.     s << obj.obj->names[0] << obj.comp << obj.manip << obj.obj->##I1 << obj.delem;
  2597.     s << obj.obj->names[1] << obj.comp << obj.manip << obj.obj->##I2 << obj.delem;
  2598.     s << obj.obj->names[2] << obj.comp << obj.manip << obj.obj->##I3 << obj.delem;
  2599.     s << obj.obj->names[3] << obj.comp << obj.manip << obj.obj->##I4 << obj.delem;
  2600.     s << obj.obj->names[4] << obj.comp << obj.manip << obj.obj->##I5 << obj.delem;
  2601.     s << obj.obj->names[5] << obj.comp << obj.manip << obj.obj->##I6 << obj.delem;
  2602.     s << obj.obj->names[6] << obj.comp << obj.manip << obj.obj->##I7 << obj.delem;
  2603.     s << obj.obj->names[7] << obj.comp << obj.manip << obj.obj->##I8 << obj.delem;
  2604.     s << obj.obj->names[8] << obj.comp << obj.manip << obj.obj->##I9 << obj.delem;
  2605.     s << obj.obj->names[9] << obj.comp << obj.manip << obj.obj->##I10 << obj.delem;
  2606.     s << obj.obj->names[10] << obj.comp << obj.manip << obj.obj->##I11 << obj.delem;
  2607.     s << obj.obj->names[11] << obj.comp << obj.manip << obj.obj->##I12 << obj.delem;
  2608.     s << obj.obj->names[12] << obj.comp << obj.manip << obj.obj->##I13 << obj.delem;
  2609.     s << obj.obj->names[13] << obj.comp << obj.manip << obj.obj->##I14 << obj.delem;
  2610.     s << obj.obj->names[14] << obj.comp << obj.manip << obj.obj->##I15 << obj.delem;
  2611.     s << obj.obj->names[15] << obj.comp << obj.manip << obj.obj->##I16 << obj.delem;
  2612.     s << obj.obj->names[16] << obj.comp << obj.manip << obj.obj->##I17 << obj.delem;
  2613.     s << obj.obj->names[17] << obj.comp << obj.manip << obj.obj->##I18 << obj.delem;
  2614.     s << obj.obj->names[18] << obj.comp << obj.manip << obj.obj->##I19 << obj.delem;
  2615.     s << obj.obj->names[19] << obj.comp << obj.manip << obj.obj->##I20 << obj.delem;
  2616.     s << obj.obj->names[20] << obj.comp << obj.manip << obj.obj->##I21 << obj.delem;
  2617.     s << obj.obj->names[21] << obj.comp << obj.manip << obj.obj->##I22 << obj.delem;
  2618.     s << obj.obj->names[22] << obj.comp << obj.manip << obj.obj->##I23 << obj.delem;
  2619.     s << obj.obj->names[23] << obj.comp << obj.manip << obj.obj->##I24; 
  2620.     return s; 
  2621.   } 
  2622.   template <class Manip>
  2623.   ostream& operator << (ostream& s, const NAME##_cus_value_list<Manip>& obj) { 
  2624.     bool before = false; 
  2625.     if ((*obj.include)[0]) { 
  2626.       s << obj.manip << obj.obj->##I1;
  2627.       before = true; 
  2628.      } 
  2629.     if ((*obj.include)[1]) { 
  2630.       if (before) s << obj.delem;
  2631.       s << obj.manip << obj.obj->##I2;
  2632.       before = true; 
  2633.      } 
  2634.     if ((*obj.include)[2]) { 
  2635.       if (before) s << obj.delem;
  2636.       s << obj.manip << obj.obj->##I3;
  2637.       before = true; 
  2638.      } 
  2639.     if ((*obj.include)[3]) { 
  2640.       if (before) s << obj.delem;
  2641.       s << obj.manip << obj.obj->##I4;
  2642.       before = true; 
  2643.      } 
  2644.     if ((*obj.include)[4]) { 
  2645.       if (before) s << obj.delem;
  2646.       s << obj.manip << obj.obj->##I5;
  2647.       before = true; 
  2648.      } 
  2649.     if ((*obj.include)[5]) { 
  2650.       if (before) s << obj.delem;
  2651.       s << obj.manip << obj.obj->##I6;
  2652.       before = true; 
  2653.      } 
  2654.     if ((*obj.include)[6]) { 
  2655.       if (before) s << obj.delem;
  2656.       s << obj.manip << obj.obj->##I7;
  2657.       before = true; 
  2658.      } 
  2659.     if ((*obj.include)[7]) { 
  2660.       if (before) s << obj.delem;
  2661.       s << obj.manip << obj.obj->##I8;
  2662.       before = true; 
  2663.      } 
  2664.     if ((*obj.include)[8]) { 
  2665.       if (before) s << obj.delem;
  2666.       s << obj.manip << obj.obj->##I9;
  2667.       before = true; 
  2668.      } 
  2669.     if ((*obj.include)[9]) { 
  2670.       if (before) s << obj.delem;
  2671.       s << obj.manip << obj.obj->##I10;
  2672.       before = true; 
  2673.      } 
  2674.     if ((*obj.include)[10]) { 
  2675.       if (before) s << obj.delem;
  2676.       s << obj.manip << obj.obj->##I11;
  2677.       before = true; 
  2678.      } 
  2679.     if ((*obj.include)[11]) { 
  2680.       if (before) s << obj.delem;
  2681.       s << obj.manip << obj.obj->##I12;
  2682.       before = true; 
  2683.      } 
  2684.     if ((*obj.include)[12]) { 
  2685.       if (before) s << obj.delem;
  2686.       s << obj.manip << obj.obj->##I13;
  2687.       before = true; 
  2688.      } 
  2689.     if ((*obj.include)[13]) { 
  2690.       if (before) s << obj.delem;
  2691.       s << obj.manip << obj.obj->##I14;
  2692.       before = true; 
  2693.      } 
  2694.     if ((*obj.include)[14]) { 
  2695.       if (before) s << obj.delem;
  2696.       s << obj.manip << obj.obj->##I15;
  2697.       before = true; 
  2698.      } 
  2699.     if ((*obj.include)[15]) { 
  2700.       if (before) s << obj.delem;
  2701.       s << obj.manip << obj.obj->##I16;
  2702.       before = true; 
  2703.      } 
  2704.     if ((*obj.include)[16]) { 
  2705.       if (before) s << obj.delem;
  2706.       s << obj.manip << obj.obj->##I17;
  2707.       before = true; 
  2708.      } 
  2709.     if ((*obj.include)[17]) { 
  2710.       if (before) s << obj.delem;
  2711.       s << obj.manip << obj.obj->##I18;
  2712.       before = true; 
  2713.      } 
  2714.     if ((*obj.include)[18]) { 
  2715.       if (before) s << obj.delem;
  2716.       s << obj.manip << obj.obj->##I19;
  2717.       before = true; 
  2718.      } 
  2719.     if ((*obj.include)[19]) { 
  2720.       if (before) s << obj.delem;
  2721.       s << obj.manip << obj.obj->##I20;
  2722.       before = true; 
  2723.      } 
  2724.     if ((*obj.include)[20]) { 
  2725.       if (before) s << obj.delem;
  2726.       s << obj.manip << obj.obj->##I21;
  2727.       before = true; 
  2728.      } 
  2729.     if ((*obj.include)[21]) { 
  2730.       if (before) s << obj.delem;
  2731.       s << obj.manip << obj.obj->##I22;
  2732.       before = true; 
  2733.      } 
  2734.     if ((*obj.include)[22]) { 
  2735.       if (before) s << obj.delem;
  2736.       s << obj.manip << obj.obj->##I23;
  2737.       before = true; 
  2738.      } 
  2739.     if ((*obj.include)[23]) { 
  2740.       if (before) s << obj.delem;
  2741.       s << obj.manip << obj.obj->##I24;
  2742.      } 
  2743.     return s; 
  2744.   } 
  2745.   template <class Manip>
  2746.   ostream& operator << (ostream& s, const NAME##_cus_field_list<Manip>& obj) { 
  2747.     bool before = false; 
  2748.     if ((*obj.include)[0]) { 
  2749.       s << obj.manip << obj.obj->names[0];
  2750.       before = true; 
  2751.      } 
  2752.     if ((*obj.include)[1]) { 
  2753.       if (before) s << obj.delem;
  2754.       s << obj.manip << obj.obj->names[1];
  2755.       before = true; 
  2756.      } 
  2757.     if ((*obj.include)[2]) { 
  2758.       if (before) s << obj.delem;
  2759.       s << obj.manip << obj.obj->names[2];
  2760.       before = true; 
  2761.      } 
  2762.     if ((*obj.include)[3]) { 
  2763.       if (before) s << obj.delem;
  2764.       s << obj.manip << obj.obj->names[3];
  2765.       before = true; 
  2766.      } 
  2767.     if ((*obj.include)[4]) { 
  2768.       if (before) s << obj.delem;
  2769.       s << obj.manip << obj.obj->names[4];
  2770.       before = true; 
  2771.      } 
  2772.     if ((*obj.include)[5]) { 
  2773.       if (before) s << obj.delem;
  2774.       s << obj.manip << obj.obj->names[5];
  2775.       before = true; 
  2776.      } 
  2777.     if ((*obj.include)[6]) { 
  2778.       if (before) s << obj.delem;
  2779.       s << obj.manip << obj.obj->names[6];
  2780.       before = true; 
  2781.      } 
  2782.     if ((*obj.include)[7]) { 
  2783.       if (before) s << obj.delem;
  2784.       s << obj.manip << obj.obj->names[7];
  2785.       before = true; 
  2786.      } 
  2787.     if ((*obj.include)[8]) { 
  2788.       if (before) s << obj.delem;
  2789.       s << obj.manip << obj.obj->names[8];
  2790.       before = true; 
  2791.      } 
  2792.     if ((*obj.include)[9]) { 
  2793.       if (before) s << obj.delem;
  2794.       s << obj.manip << obj.obj->names[9];
  2795.       before = true; 
  2796.      } 
  2797.     if ((*obj.include)[10]) { 
  2798.       if (before) s << obj.delem;
  2799.       s << obj.manip << obj.obj->names[10];
  2800.       before = true; 
  2801.      } 
  2802.     if ((*obj.include)[11]) { 
  2803.       if (before) s << obj.delem;
  2804.       s << obj.manip << obj.obj->names[11];
  2805.       before = true; 
  2806.      } 
  2807.     if ((*obj.include)[12]) { 
  2808.       if (before) s << obj.delem;
  2809.       s << obj.manip << obj.obj->names[12];
  2810.       before = true; 
  2811.      } 
  2812.     if ((*obj.include)[13]) { 
  2813.       if (before) s << obj.delem;
  2814.       s << obj.manip << obj.obj->names[13];
  2815.       before = true; 
  2816.      } 
  2817.     if ((*obj.include)[14]) { 
  2818.       if (before) s << obj.delem;
  2819.       s << obj.manip << obj.obj->names[14];
  2820.       before = true; 
  2821.      } 
  2822.     if ((*obj.include)[15]) { 
  2823.       if (before) s << obj.delem;