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)