• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1  // Boost.Bimap
2  //
3  // Copyright (c) 2006-2007 Matias Capeletto
4  //
5  // Distributed under the Boost Software License, Version 1.0.
6  // (See accompanying file LICENSE_1_0.txt or copy at
7  // http://www.boost.org/LICENSE_1_0.txt)
8  
9  //  VC++ 8.0 warns on usage of certain Standard Library and API functions that
10  //  can be cause buffer overruns or other possible security issues if misused.
11  //  See https://web.archive.org/web/20071014014301/http://msdn.microsoft.com/msdnmag/issues/05/05/SafeCandC/default.aspx
12  //  But the wording of the warning is misleading and unsettling, there are no
13  //  portable alternative functions, and VC++ 8.0's own libraries use the
14  //  functions in question. So turn off the warnings.
15  #define _CRT_SECURE_NO_DEPRECATE
16  #define _SCL_SECURE_NO_DEPRECATE
17  
18  #include <boost/config.hpp>
19  
20  #include <boost/core/lightweight_test.hpp>
21  
22  // Boost.Bimap
23  #include <boost/bimap/support/lambda.hpp>
24  #include <boost/bimap/bimap.hpp>
25  
26  
test_bimap_unconstrained()27  void test_bimap_unconstrained()
28  {
29      using namespace boost::bimaps;
30  
31      {
32          typedef bimap<int,double,unconstrained_set_of_relation> bm;
33          bm b;
34          b.left.insert( bm::left_value_type(2,34.4) );
35          b.right.insert( bm::right_value_type(2.2,3) );
36      }
37  
38      {
39          typedef bimap<int,unconstrained_set_of<double> > bm;
40          bm b;
41          b.insert( bm::value_type(2,34.4) );
42          BOOST_TEST( b.size() == 1 );
43      }
44  
45      {
46          typedef bimap<unconstrained_set_of<int>, double > bm;
47          bm b;
48          b.right[2.4] = 34;
49          BOOST_TEST( b.right.size() == 1 );
50      }
51  
52      {
53          typedef bimap<unconstrained_set_of<int>, double, right_based > bm;
54          bm b;
55          b.right[2.4] = 34;
56          BOOST_TEST( b.right.size() == 1 );
57      }
58  
59      {
60          typedef bimap
61          <
62              int,
63              unconstrained_set_of<double>,
64              unconstrained_set_of_relation
65  
66          > bm;
67  
68          bm b;
69          b.left[2] = 34.4;
70          BOOST_TEST( b.left.size() == 1 );
71      }
72  
73      {
74          typedef bimap
75          <
76              unconstrained_set_of<int>,
77              double,
78              unconstrained_set_of_relation
79  
80          > bm;
81  
82          bm b;
83          b.right[2.4] = 34;
84          BOOST_TEST( b.right.size() == 1 );
85      }
86  
87      {
88          typedef bimap
89          <
90              unconstrained_set_of<int>,
91              unconstrained_set_of<double>,
92              set_of_relation<>
93  
94          > bm;
95  
96          bm b;
97          b.insert( bm::value_type(1,2.3) );
98          BOOST_TEST( b.size() == 1 );
99      }
100  }
101  
102  
main()103  int main()
104  {
105      test_bimap_unconstrained();
106      return boost::report_errors();
107  }
108  
109