Mercurial > ecos
diff packages/language/cxx/ustl/current/tests/bvt11.cpp @ 2904:88af52c64ce4
* ecos.db: Add uSTL library package record.
* language/cxx/ustl/*: Initial check-in of the port of uSTL 1.3 to eCos
contributed by Uwe Kindler.
| author | jld |
|---|---|
| date | Thu, 20 Aug 2009 17:00:30 +0000 |
| parents | |
| children | 4885e0722884 |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/packages/language/cxx/ustl/current/tests/bvt11.cpp @@ -0,0 +1,36 @@ +// This file is part of the uSTL library, an STL implementation. +// +// Copyright (c) 2005-2009 by Mike Sharov <msharov@users.sourceforge.net> +// This file is free software, distributed under the MIT License. + +#include "stdtest.h" + +void PrintVector (const int* first, const int* last) +{ + cout << "{"; + while (first < last) + cout << ' ' << *first++; + cout << " }" << endl; +} + +void TestSetAndMultiset (void) +{ + const int vv[] = { 1, 8, 9, 2, 3, 1, 1, 4, 6, 1, 3, 4 }; + set<int> v (VectorRange (vv)); + multiset<int> mv (VectorRange (vv)); + cout << "set:\t\t"; + PrintVector (v.begin(), v.end()); + cout << "erase(3):\t"; + v.erase (3); + PrintVector (v.begin(), v.end()); + cout << "multiset:\t"; + PrintVector (mv.begin(), mv.end()); + cout << "count(1) = " << mv.count(1) << endl; + cout << "find(4) = " << lower_bound (mv, 4) - mv.begin() << endl; + cout << "find(5) = " << binary_search (mv, 5) << endl; + cout << "erase(3):\t"; + mv.erase (3); + PrintVector (mv.begin(), mv.end()); +} + +StdBvtMain (TestSetAndMultiset)
