stdcpp/tsrc/Stdcpp_test/stlport/auto/stlport_rawiter/src/rawiter.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_rawiter/src/rawiter.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 <iostream>
+#include <algorithm>
+#include <iterator>
+#include <memory>
+
+#ifdef MAIN 
+#define rawiter_test main
+#endif
+
+#include "rawiter.hpp"
+
+#if !defined (STLPORT) || defined(__STL_USE_NAMESPACES)
+using namespace std;
+#endif
+
+int rawiter_test(int, char**)
+{
+  cout<<"Results of rawiter_test:"<<endl;
+
+  allocator<X> a;
+  typedef X* x_pointer;
+  x_pointer save_p, p;
+  int array[5];
+  int failures = 0;
+  p = a.allocate(5); 
+  save_p=p;
+  raw_storage_iterator<X*, X> r(p);
+  int i;
+  for(i = 0; i < 5; i++)
+    *r++ = X(i);
+  for(i = 0; i < 5; i++)
+  {  	
+    cout << *p << endl;
+    array[i] = *p;
+    *p++;
+  }
+# ifdef __STLPORT_VERSION
+  a.deallocate(save_p,5);
+# else
+  a.deallocate(save_p);
+# endif
+
+if(array[0] != 0 )
+failures++;
+if(array[1] != 1)
+failures++;
+if(array[2] != 2)
+failures++;
+if(array[3] != 3)
+failures++;
+if(array[4] != 4)
+failures++;
+
+  return failures;
+}