]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/foreach/test/stl_byval_r.cpp
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / boost / libs / foreach / test / stl_byval_r.cpp
CommitLineData
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
19typedef std::list<int> foreach_container_type;
20typedef std::list<int> const foreach_const_container_type;
21typedef int foreach_value_type;
22typedef int &foreach_reference_type;
23typedef int const &foreach_const_reference_type;
24
25#include "./utility.hpp"
26
27///////////////////////////////////////////////////////////////////////////////
28// initialize a std::list<int>
29std::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//
43std::list<int> my_list = make_list();
44std::list<int> const &my_const_list = my_list;
45
46///////////////////////////////////////////////////////////////////////////////
47// test_main
48//
1e59de90 49int 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}