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