Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/boost_1_34_1/libs/foreach/test/stl_byref.cpp @ 29

Last change on this file since 29 was 29, checked in by landauf, 17 years ago

updated boost from 1_33_1 to 1_34_1

File size: 1.8 KB
Line 
1//  (C) Copyright Eric Niebler 2004.
2//  Use, modification and distribution are subject to the
3//  Boost Software License, Version 1.0. (See accompanying file
4//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5
6/*
7 Revision history:
8   25 August 2005: Initial version.
9*/
10
11#include <list>
12#include <boost/test/minimal.hpp>
13#include <boost/foreach.hpp>
14
15///////////////////////////////////////////////////////////////////////////////
16// define the container types, used by utility.hpp to generate the helper functions
17typedef std::list<int> foreach_container_type;
18typedef std::list<int> const foreach_const_container_type;
19typedef int foreach_value_type;
20typedef int &foreach_reference_type;
21typedef int const &foreach_const_reference_type;
22
23#include "./utility.hpp"
24
25///////////////////////////////////////////////////////////////////////////////
26// initialize a std::list<int>
27std::list<int> make_list()
28{
29    std::list<int> l;
30    l.push_back(1);
31    l.push_back(2);
32    l.push_back(3);
33    l.push_back(4);
34    l.push_back(5);
35    return l;
36}
37
38///////////////////////////////////////////////////////////////////////////////
39// define come containers
40//
41std::list<int> my_list = make_list();
42std::list<int> const &my_const_list = my_list;
43
44///////////////////////////////////////////////////////////////////////////////
45// test_main
46//   
47int test_main( int, char*[] )
48{
49    // non-const containers by reference
50    BOOST_CHECK(sequence_equal_byref_n(my_list, "\1\2\3\4\5"));
51
52    // const containers by reference
53    BOOST_CHECK(sequence_equal_byref_c(my_const_list, "\1\2\3\4\5"));
54
55    // mutate the mutable collections
56    mutate_foreach_byref(my_list);
57
58    // compare the mutated collections to the actual results
59    BOOST_CHECK(sequence_equal_byref_n(my_list, "\2\3\4\5\6"));
60
61    return 0;
62}
Note: See TracBrowser for help on using the repository browser.