diff -r e20de85af2ee -r ce057bb09d0b stdcpp/tsrc/Stdcpp_test/stlport/auto/stlport_rawiter/src/rawiter.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/stdcpp/tsrc/Stdcpp_test/stlport/auto/stlport_rawiter/src/rawiter.cpp Fri Jun 04 16:20:51 2010 +0100 @@ -0,0 +1,75 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +// STLport regression testsuite component. +// To compile as a separate example, please #define MAIN. + +#include +#include +#include +#include + +#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:"< 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 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; +}