stdcpp/tsrc/Stdcpp_test/stlport/auto/stlport_setdiff/src/setdiff2.cpp
changeset 0 e4d67989cc36
child 18 47c74d1534e1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/stdcpp/tsrc/Stdcpp_test/stlport/auto/stlport_setdiff/src/setdiff2.cpp	Tue Feb 02 02:01:42 2010 +0200
@@ -0,0 +1,59 @@
+ 
+// STLport regression testsuite component.
+// To compile as a separate example, please #define MAIN.
+
+#include <algorithm>
+#include <iostream>
+#include <cstring>
+#include <iterator>
+#include <functional>
+
+#ifdef MAIN 
+#define setdiff2_test main
+#endif
+
+#if !defined (STLPORT) || defined(__STL_USE_NAMESPACES)
+using namespace std;
+#endif
+int setdiff2_test(int, char**)
+{
+  int failures=0;
+  
+  cout<<"Results of setdiff2_test:"<<endl;
+char* word1 = "ABCDEFGHIJKLMNO";
+char* word2 = "LMNOPQRSTUVWXYZ";
+char word3[12];
+  ostream_iterator <char> iter(cout, " ");
+  cout << "word1: ";
+  copy(word1, word1 + ::strlen(word1), iter);
+  
+  if(strcmp(word1,"ABCDEFGHIJKLMNO"))
+     failures++;
+  
+  cout << "\nword2: ";
+  copy(word2, word2 + ::strlen(word2), iter);
+  cout << endl;
+ 
+  if(strcmp(word2,"LMNOPQRSTUVWXYZ"))
+     failures++;
+     
+  set_difference(word1, word1 + ::strlen(word1),
+                  word2, word2 + ::strlen(word2),
+                  word3,
+                  less<char>());
+  
+  word3[11]='\0';
+  int x=strcmp(word3,"ABCDEFGHIJK");
+  if(x)
+     failures++;
+    
+  copy(word3,word3 + ::strlen(word3),iter);  
+  
+  cout << endl;
+  
+  if(failures)
+    return 1;
+  else
+    return 0;
+}
+