4 * This program checks if the compiler / platform supports the
5 * std::set container. The motivation for this test was a discussion
6 * on the development mailing list, and the documentation was captured
9 * http://bugzilla.dre.vanderbilt.edu/show_bug.cgi?id=3715
12 #include "test_config.h"
14 // The first part of the test is to compile this line. If the program
15 // does not compile the platform is just too broken.
19 run_main (int, ACE_TCHAR
*[])
21 ACE_START_TEST (ACE_TEXT("Compiler_Features_04_Test"));
23 // As usual, the exit status from the test is 0 on success, 1 on
27 // Create a simple list ...
28 using collection
= std::set
<int>;
31 // ... insert some elements ...
38 // ... inserting twice returns a pair ...
39 std::pair
<collection::iterator
,bool> r
=
40 c
.insert(collection::value_type(5));
42 // ... the iterator points to the element ...
46 ACE_ERROR ((LM_ERROR
, ACE_TEXT("Expected to find 5 already in set")));
49 // ... and the booleans says that it is already in the set ...
53 ACE_ERROR ((LM_ERROR
, ACE_TEXT("Expected duplicate insert to fail")));
56 // ... add all the numbers to validate that they are there ...
58 for(collection::iterator i
= c
.begin(), end
= c
.end();
65 // ... remember Euler ...
66 int const expected
= 5*(5+1)/2;
70 ACE_ERROR ((LM_ERROR
, ACE_TEXT("Expected %d got %d\n"),