]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | // stl_byval.cpp |
2 | /// | |
3 | // (C) Copyright Eric Niebler 2004. | |
4 | // Use, modification and distribution are subject to the | |
5 | // Boost Software License, Version 1.0. (See accompanying file | |
6 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | |
7 | ||
8 | /* | |
9 | Revision history: | |
10 | 25 August 2005 : Initial version. | |
11 | */ | |
12 | ||
13 | #include <list> | |
1e59de90 | 14 | #include <boost/core/lightweight_test.hpp> |
7c673cae FG |
15 | #include <boost/foreach.hpp> |
16 | ||
17 | /////////////////////////////////////////////////////////////////////////////// | |
18 | // define the container types, used by utility.hpp to generate the helper functions | |
19 | typedef std::list<int> foreach_container_type; | |
20 | typedef std::list<int> const foreach_const_container_type; | |
21 | typedef int foreach_value_type; | |
22 | typedef int &foreach_reference_type; | |
23 | typedef int const &foreach_const_reference_type; | |
24 | ||
25 | #include "./utility.hpp" | |
26 | ||
27 | /////////////////////////////////////////////////////////////////////////////// | |
28 | // initialize a std::list<int> | |
29 | std::list<int> make_list() | |
30 | { | |
31 | std::list<int> l; | |
32 | l.push_back(1); | |
33 | l.push_back(2); | |
34 | l.push_back(3); | |
35 | l.push_back(4); | |
36 | l.push_back(5); | |
37 | return l; | |
38 | } | |
39 | ||
40 | /////////////////////////////////////////////////////////////////////////////// | |
41 | // define some containers | |
42 | // | |
43 | std::list<int> my_list = make_list(); | |
44 | std::list<int> const &my_const_list = my_list; | |
45 | ||
46 | /////////////////////////////////////////////////////////////////////////////// | |
47 | // test_main | |
48 | // | |
1e59de90 | 49 | int main() |
7c673cae FG |
50 | { |
51 | boost::mpl::false_ *p = BOOST_FOREACH_IS_LIGHTWEIGHT_PROXY(my_list); | |
52 | (void)p; | |
53 | ||
54 | // non-const containers by value | |
1e59de90 | 55 | BOOST_TEST(sequence_equal_byval_n_r(my_list, "\5\4\3\2\1")); |
7c673cae FG |
56 | |
57 | // const containers by value | |
1e59de90 | 58 | BOOST_TEST(sequence_equal_byval_c_r(my_const_list, "\5\4\3\2\1")); |
7c673cae | 59 | |
1e59de90 | 60 | return boost::report_errors(); |
7c673cae | 61 | } |