]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/multi_array/test/fail_ref_csubarray3.cpp
79579c722c2a34cc1ae5fc40313c31667849c328
1 // Copyright 2002 The Trustees of Indiana University.
3 // Use, modification and distribution is subject to the Boost Software
4 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
5 // http://www.boost.org/LICENSE_1_0.txt)
7 // Boost.MultiArray Library
8 // Authors: Ronald Garcia
11 // See http://www.boost.org/libs/multi_array for documentation.
14 // fail_ref_csubarray3.cpp -
15 // Testing constness of subarray operations.
18 #include "boost/multi_array.hpp"
20 #include "boost/test/minimal.hpp"
22 #include "boost/array.hpp"
25 test_main(int,char*[])
28 typedef boost::multi_array_ref
<int,ndims
> array_ref
;
30 boost::array
<array_ref::size_type
,ndims
> sma_dims
= {{2,3,4}};
32 int data
[] = {77,77,77,77,77,77,77,77,77,77,77,77,
33 77,77,77,77,77,77,77,77,77,77,77,77};
35 array_ref
sma(data
,sma_dims
);
38 for (array_ref::index i
= 0; i
!= 2; ++i
)
39 for (array_ref::index j
= 0; j
!= 3; ++j
)
40 for (array_ref::index k
= 0; k
!= 4; ++k
)
43 const array_ref
& sma_const
= sma
;
45 array_ref::const_subarray
<ndims
-1>::type sba
= sma_const
[0];
47 for (array_ref::index j
= 0; j
!= 3; ++j
)
48 for (array_ref::index k
= 0; k
!= 4; ++k
)
49 sba
[j
][k
] = num
++; // FAIL! can't assign to const_subarray.
51 return boost::exit_success
;