home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / listings / v_11_11 / splash / slicetst.cpp < prev    next >
Text File  |  1993-01-15  |  2KB  |  84 lines

  1. #ifdef    TEST
  2.  
  3. #include <iostream.h>
  4.  
  5. #include "splash.h"
  6.  
  7. typedef int INT;
  8.  
  9. template <class T>
  10. ostream& operator<<(ostream& os, const SubList<T>& sl)
  11. {
  12.     os << SPList<T>(sl) << endl;
  13.     return os;
  14. }
  15.  
  16. int main()
  17. {
  18. #if    1
  19.     Slice sl1;
  20.  
  21.     sl1.add(1); sl1.add(2);
  22.     cout << "1,2 " << sl1 << endl;
  23.  
  24.     Slice sl2(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, -1);
  25.     cout << "1,2,3,4,5,6,7,8,9,10 " << sl2 << endl;
  26.  
  27.     sl1.add(5); sl1.add(10);
  28.     cout << "1,2,5,10 " << sl1 << endl;
  29.  
  30.     Slice sl3(39, 1, 38, 2, 4, 5, 37, 7, 8, 9, 20, 22, -1);
  31.     cout << "39,1,38,2,4,5,37,7,8,9,20,22 " << sl3 << endl;
  32.  
  33.     SPList<INT> ix1, ix2;
  34.     ix1.push(1); ix1.push(2); ix1.push(3); ix1.push(4);
  35.     ix2.push(22); ix2.push(33);
  36.     cout << "ix1= " << ix1 << endl << "ix2= " << ix2 << endl;
  37.  
  38.     ix1(1, 2)= ix2;
  39.     
  40.     cout << "ix1(1, 2)= ix2: ix1= " << ix1 << endl;
  41.     
  42.     SPList<INT> tl(ix1(2, 3));
  43.     
  44.     cout << "tl ctor(ix1(2, 3)): tl= " << tl << endl;
  45.     
  46.     SPList<INT> tl2;
  47.     
  48.     tl2.push(0); tl2.push(1); tl2.push(2); tl2.push(3); tl2.push(4);
  49.     cout << "tl2= " << tl2 << endl;
  50.     
  51.     cout << "tl2(2, 3)= " << tl2(2, 3) << endl;
  52.     cout << "tl2(Slice(1, 2, 4, -1))= " << tl2(Slice(1, 2, 4, -1)) << endl;
  53.     
  54.     tl= tl2(Range(2, 4));
  55.     cout << "tl= tl2(Range(2, 4)): tl= " << tl << endl;
  56.     
  57.     tl2(Slice(1, 2, -1))= ix2;
  58.     
  59.     cout << "tl2(Slice(1, 2, -1))= ix2: tl2 = " << tl2 << endl;
  60.  
  61.     SPList<INT> tl3;
  62.     
  63.     tl3= tl2(1, 4);
  64.     
  65.     cout << "tl3= tl2(1, 4): tl3 = " << tl3 << endl;
  66.     
  67.     tl3.push(tl2(1, 2));
  68.     
  69.     cout << "tl3.push(tl2(1, 2)): tl3= " << tl3 << endl;
  70.     
  71.     cout << "tl3(Slice(4, 1, -1))= " << tl3(Slice(4, 1, -1)) << endl;
  72.     
  73.     cout << "tl3(Slice(2, 1, -1))= " << tl3(Slice(2, 1, -1)) << endl;
  74. #endif
  75.     SPList<int> tl4;
  76.     for(int i=0;i<40;i++) tl4.push(i);
  77.  
  78.     cout << "tl4(\"1..3,6,10-22,30,31,35,37\") = " << tl4("1..3,6,10-22,30,31,35,37") << endl;
  79.  
  80.  
  81.     
  82. }
  83. #endif
  84.