1 #include <bitset>
2 #include <deque>
3 #include <list>
4 #include <memory>
5 #include <map>
6 #include <queue>
7 #include <set>
8 #ifdef _STLPORT_VERSION
9 #include <slist>
10 #endif // _STLPORT_VERSION
11 #include <string>
12 #include <stack>
13 #if _STLPORT_VERSION >= 0x520
14 #include <unordered_map>
15 #include <unordered_set>
16 #endif //_STLPORT_VERSION >= 0x520
17 #include <vector>
18
19 #ifdef _STLPORT_VERSION
20 #define STD_TR1 std::tr1
21 #else // _STLPORT_VERSION
22 #define STD_TR1 std
23 #endif // _STLPORT_VERSION
24
25 struct Large {
26 char m_foo[100];
27 };
28
foo()29 void foo() { }
30
main()31 int main() {
32
33 std::string string1 = "";
34 std::string string2 = "a short string";
35 std::string string3 = "a very long string ...";
36
37 std::wstring wstring1 = L"";
38 std::wstring wstring2 = L"a short string";
39 std::wstring wstring3 = L"a very long string ...";
40
41 std::vector<int> vector1;
42 vector1.push_back( 100);
43 vector1.push_back( 200);
44 vector1.push_back( 300);
45
46 std::vector<bool> vector2;
47 vector2.push_back( true);
48 vector2.push_back( false);
49 vector2.push_back( true);
50
51 std::map<int,int> map1;
52 map1[1] = -1;
53 map1[21] = -21;
54 map1[42] = -42;
55
56 std::multimap<int,int> multimap1;
57 multimap1.insert (std::pair<int,int> (1, -1));
58 multimap1.insert (std::pair<int,int> (1, -2));
59 multimap1.insert (std::pair<int,int> (21, -21));
60 multimap1.insert (std::pair<int,int> (21, -22));
61 multimap1.insert (std::pair<int,int> (42, -42));
62 multimap1.insert (std::pair<int,int> (42, -43));
63
64 std::set<int> set1;
65 set1.insert( 100);
66 set1.insert( 200);
67 set1.insert( 300);
68
69 std::multiset<int> multiset1;
70 multiset1.insert( 100);
71 multiset1.insert( 100);
72 multiset1.insert( 200);
73 multiset1.insert( 200);
74 multiset1.insert( 300);
75 multiset1.insert( 300);
76
77 std::list<int> list1;
78 std::list<int> list2;
79 list1.push_back( 100);
80 list1.push_back( 200);
81 list1.push_back( 300);
82
83 #ifdef _STLPORT_VERSION
84 std::slist<int> slist1;
85 std::slist<int> slist2;
86 slist1.push_front( 100);
87 slist1.push_front( 200);
88 slist1.push_front( 300);
89 #else // _STLPORT_VERSION
90 std::string slist1 = "std::slist not supported";
91 std::string slist2 = "std::slist not supported";
92 #endif // _STLPORT_VERSION
93
94 std::deque<int> deque1;
95 deque1.push_front( 100);
96 deque1.push_front( 200);
97 deque1.push_front( 300);
98
99 std::deque<Large> deque2;
100 deque2.push_back( Large());
101 deque2.push_back( Large());
102 deque2.push_front( Large());
103
104 std::stack<int> stack1;
105 stack1.push( 100);
106 stack1.push( 200);
107 stack1.push( 300);
108
109 std::queue<int> queue1;
110 queue1.push( 100);
111 queue1.push( 200);
112 queue1.push( 300);
113
114 std::priority_queue<int> priority_queue1;
115 priority_queue1.push( 200);
116 priority_queue1.push( 100);
117 priority_queue1.push( 300);
118
119 std::bitset<100> bitset1;
120 bitset1[2] = 1;
121 bitset1[42] = 1;
122 bitset1[64] = 1;
123
124 std::bitset<1> bitset2;
125 bitset2[0] = 1;
126
127 #if _STLPORT_VERSION >= 0x520
128 STD_TR1::unordered_map<int,int> unordered_map1;
129 STD_TR1::unordered_map<int,int> unordered_map2;
130 for( int i = 0; i < 5; ++i)
131 unordered_map1[i*i] = -i*i;
132
133 STD_TR1::unordered_multimap<int,int> unordered_multimap1;
134 STD_TR1::unordered_multimap<int,int> unordered_multimap2;
135 for( int i = 0; i < 5; ++i) {
136 unordered_multimap1.insert( std::pair<int,int>( i*i, -i*i));
137 unordered_multimap1.insert( std::pair<int,int>( i*i, i*i));
138 }
139
140 STD_TR1::unordered_set<int> unordered_set1;
141 STD_TR1::unordered_set<int> unordered_set2;
142 for( int i = 0; i < 5; ++i)
143 unordered_set1.insert( i*i);
144
145 STD_TR1::unordered_multiset<int> unordered_multiset1;
146 STD_TR1::unordered_multiset<int> unordered_multiset2;
147 for( int i = 0; i < 5; ++i) {
148 unordered_multiset1.insert( -i*i);
149 unordered_multiset1.insert( i*i);
150 }
151 #else // _STLPORT_VERSION < 0x520
152 std::string unordered_map1 = "std::tr1::unordered_map not supported";
153 std::string unordered_map2 = "std::tr1::unordered_map not supported";
154 std::string unordered_multimap1 = "std::tr1::unordered_multimap not supported";
155 std::string unordered_multimap2 = "std::tr1::unordered_multimap not supported";
156 std::string unordered_set1 = "std::tr1::unordered_set not supported";
157 std::string unordered_set2 = "std::tr1::unordered_set not supported";
158 std::string unordered_multiset1 = "std::tr1::unordered_multiset not supported";
159 std::string unordered_multiset2 = "std::tr1::unordered_multiset not supported";
160 #endif // _STLPORT_VERSION < 0x520
161
162 std::auto_ptr<Large> auto_ptr1( new Large());
163 std::auto_ptr<Large> auto_ptr2;
164
165 #ifdef _STLP_USE_BOOST_SUPPORT
166 STD_TR1::shared_ptr<Large> shared_ptr1( new Large);
167 STD_TR1::shared_ptr<Large> shared_ptr2;
168
169 STD_TR1::weak_ptr<Large> weak_ptr1( shared_ptr1);
170 STD_TR1::weak_ptr<Large> weak_ptr2;
171 #else // _STLP_USE_BOOST_SUPPORT
172 std::string shared_ptr1 = "std::tr1::shared_ptr not supported";
173 std::string shared_ptr2 = "std::tr1::shared_ptr not supported";
174
175 std::string weak_ptr1 = "std::tr1::weak_ptr not supported";
176 std::string weak_ptr2 = "std::tr1::weak_ptr not supported";
177 #endif // _STLP_USE_BOOST_SUPPORT
178
179 foo();
180 return 0;
181 }
182