summaryrefslogtreecommitdiff
path: root/share/pretty-printers/stlport/test/test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'share/pretty-printers/stlport/test/test.cpp')
-rw-r--r--share/pretty-printers/stlport/test/test.cpp181
1 files changed, 181 insertions, 0 deletions
diff --git a/share/pretty-printers/stlport/test/test.cpp b/share/pretty-printers/stlport/test/test.cpp
new file mode 100644
index 0000000..950ef1f
--- /dev/null
+++ b/share/pretty-printers/stlport/test/test.cpp
@@ -0,0 +1,181 @@
+#include <bitset>
+#include <deque>
+#include <list>
+#include <memory>
+#include <map>
+#include <queue>
+#include <set>
+#ifdef _STLPORT_VERSION
+#include <slist>
+#endif // _STLPORT_VERSION
+#include <string>
+#include <stack>
+#if _STLPORT_VERSION >= 0x520
+#include <unordered_map>
+#include <unordered_set>
+#endif //_STLPORT_VERSION >= 0x520
+#include <vector>
+
+#ifdef _STLPORT_VERSION
+#define STD_TR1 std::tr1
+#else // _STLPORT_VERSION
+#define STD_TR1 std
+#endif // _STLPORT_VERSION
+
+struct Large {
+ char m_foo[100];
+};
+
+void foo() { }
+
+int main() {
+
+ std::string string1 = "";
+ std::string string2 = "a short string";
+ std::string string3 = "a very long string ...";
+
+ std::wstring wstring1 = L"";
+ std::wstring wstring2 = L"a short string";
+ std::wstring wstring3 = L"a very long string ...";
+
+ std::vector<int> vector1;
+ vector1.push_back( 100);
+ vector1.push_back( 200);
+ vector1.push_back( 300);
+
+ std::vector<bool> vector2;
+ vector2.push_back( true);
+ vector2.push_back( false);
+ vector2.push_back( true);
+
+ std::map<int,int> map1;
+ map1[1] = -1;
+ map1[21] = -21;
+ map1[42] = -42;
+
+ std::multimap<int,int> multimap1;
+ multimap1.insert (std::pair<int,int> (1, -1));
+ multimap1.insert (std::pair<int,int> (1, -2));
+ multimap1.insert (std::pair<int,int> (21, -21));
+ multimap1.insert (std::pair<int,int> (21, -22));
+ multimap1.insert (std::pair<int,int> (42, -42));
+ multimap1.insert (std::pair<int,int> (42, -43));
+
+ std::set<int> set1;
+ set1.insert( 100);
+ set1.insert( 200);
+ set1.insert( 300);
+
+ std::multiset<int> multiset1;
+ multiset1.insert( 100);
+ multiset1.insert( 100);
+ multiset1.insert( 200);
+ multiset1.insert( 200);
+ multiset1.insert( 300);
+ multiset1.insert( 300);
+
+ std::list<int> list1;
+ std::list<int> list2;
+ list1.push_back( 100);
+ list1.push_back( 200);
+ list1.push_back( 300);
+
+#ifdef _STLPORT_VERSION
+ std::slist<int> slist1;
+ std::slist<int> slist2;
+ slist1.push_front( 100);
+ slist1.push_front( 200);
+ slist1.push_front( 300);
+#else // _STLPORT_VERSION
+ std::string slist1 = "std::slist not supported";
+ std::string slist2 = "std::slist not supported";
+#endif // _STLPORT_VERSION
+
+ std::deque<int> deque1;
+ deque1.push_front( 100);
+ deque1.push_front( 200);
+ deque1.push_front( 300);
+
+ std::deque<Large> deque2;
+ deque2.push_back( Large());
+ deque2.push_back( Large());
+ deque2.push_front( Large());
+
+ std::stack<int> stack1;
+ stack1.push( 100);
+ stack1.push( 200);
+ stack1.push( 300);
+
+ std::queue<int> queue1;
+ queue1.push( 100);
+ queue1.push( 200);
+ queue1.push( 300);
+
+ std::priority_queue<int> priority_queue1;
+ priority_queue1.push( 200);
+ priority_queue1.push( 100);
+ priority_queue1.push( 300);
+
+ std::bitset<100> bitset1;
+ bitset1[2] = 1;
+ bitset1[42] = 1;
+ bitset1[64] = 1;
+
+ std::bitset<1> bitset2;
+ bitset2[0] = 1;
+
+#if _STLPORT_VERSION >= 0x520
+ STD_TR1::unordered_map<int,int> unordered_map1;
+ STD_TR1::unordered_map<int,int> unordered_map2;
+ for( int i = 0; i < 5; ++i)
+ unordered_map1[i*i] = -i*i;
+
+ STD_TR1::unordered_multimap<int,int> unordered_multimap1;
+ STD_TR1::unordered_multimap<int,int> unordered_multimap2;
+ for( int i = 0; i < 5; ++i) {
+ unordered_multimap1.insert( std::pair<int,int>( i*i, -i*i));
+ unordered_multimap1.insert( std::pair<int,int>( i*i, i*i));
+ }
+
+ STD_TR1::unordered_set<int> unordered_set1;
+ STD_TR1::unordered_set<int> unordered_set2;
+ for( int i = 0; i < 5; ++i)
+ unordered_set1.insert( i*i);
+
+ STD_TR1::unordered_multiset<int> unordered_multiset1;
+ STD_TR1::unordered_multiset<int> unordered_multiset2;
+ for( int i = 0; i < 5; ++i) {
+ unordered_multiset1.insert( -i*i);
+ unordered_multiset1.insert( i*i);
+ }
+#else // _STLPORT_VERSION < 0x520
+ std::string unordered_map1 = "std::tr1::unordered_map not supported";
+ std::string unordered_map2 = "std::tr1::unordered_map not supported";
+ std::string unordered_multimap1 = "std::tr1::unordered_multimap not supported";
+ std::string unordered_multimap2 = "std::tr1::unordered_multimap not supported";
+ std::string unordered_set1 = "std::tr1::unordered_set not supported";
+ std::string unordered_set2 = "std::tr1::unordered_set not supported";
+ std::string unordered_multiset1 = "std::tr1::unordered_multiset not supported";
+ std::string unordered_multiset2 = "std::tr1::unordered_multiset not supported";
+#endif // _STLPORT_VERSION < 0x520
+
+ std::auto_ptr<Large> auto_ptr1( new Large());
+ std::auto_ptr<Large> auto_ptr2;
+
+#ifdef _STLP_USE_BOOST_SUPPORT
+ STD_TR1::shared_ptr<Large> shared_ptr1( new Large);
+ STD_TR1::shared_ptr<Large> shared_ptr2;
+
+ STD_TR1::weak_ptr<Large> weak_ptr1( shared_ptr1);
+ STD_TR1::weak_ptr<Large> weak_ptr2;
+#else // _STLP_USE_BOOST_SUPPORT
+ std::string shared_ptr1 = "std::tr1::shared_ptr not supported";
+ std::string shared_ptr2 = "std::tr1::shared_ptr not supported";
+
+ std::string weak_ptr1 = "std::tr1::weak_ptr not supported";
+ std::string weak_ptr2 = "std::tr1::weak_ptr not supported";
+#endif // _STLP_USE_BOOST_SUPPORT
+
+ foo();
+ return 0;
+}