#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;
}