1 #include <boost/tuple/tuple.hpp>
2 #include <boost/tuple/tuple_io.hpp>
3 #include <boost/tuple/tuple_comparison.hpp>
4 #include <iostream>
5 #include <string>
6
7 void TestTuple1()
8 {
9 typedef boost::tuple<std::string, std::string> person;
10 person p("kevin", "25");
11 std::cout << p << std::endl;
12 std::cout << boost::make_tuple(boost::ref(p), "male", 25) << std::endl;
13 }
14
15 void TestTuple2()
16 {
17 using namespace std;
18 typedef boost::tuple<string, string, int> person;
19 person p("kevin", "male", 25);
20 cout << p.get<0>() << endl;
21 p.get<1>() = "lihua";
22 cout << boost::get<1>(p) << endl;
23 }
24
25 void TestTuple3()
26 {
27 using namespace std;
28 typedef boost::tuple<string, string, int> person;
29 person p1 = boost::make_tuple("kevin","male",25);
30 person p2 = boost::make_tuple("lihua","female",25);
31
32 cout << (p1 != p2) << endl;
33 }
34
35 boost::tuple<std::string, int> func()
36 {
37 return boost::make_tuple("func error", 2003);
38 }
39
40 void TestTuple4()
41 {
42 std::string err_msg;
43 int err_no;
44
45 boost::tie(err_msg, err_no) = func();
46 std::cout << "error: " << err_msg << "error no:" << err_no << std::endl;
47 }
48
49 void TestShuJuJieGou()
50 {
51 TestTuple4();
52 }