]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/interprocess/test/stable_vector_test.cpp
1 //////////////////////////////////////////////////////////////////////////////
3 // (C) Copyright Ion Gaztanaga 2004-2012. Distributed under the Boost
4 // Software License, Version 1.0. (See accompanying file
5 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7 // See http://www.boost.org/libs/interprocess for documentation.
9 //////////////////////////////////////////////////////////////////////////////
11 #include <boost/interprocess/detail/config_begin.hpp>
12 #include <boost/interprocess/managed_shared_memory.hpp>
13 #include <boost/interprocess/containers/stable_vector.hpp>
14 #include <boost/interprocess/allocators/allocator.hpp>
15 #include "allocator_v1.hpp"
16 #include "heap_allocator_v1.hpp"
17 #include "check_equal_containers.hpp"
18 #include "movable_int.hpp"
19 #include "expand_bwd_test_allocator.hpp"
20 #include "expand_bwd_test_template.hpp"
21 #include "dummy_test_allocator.hpp"
22 #include "vector_test.hpp"
24 using namespace boost::interprocess
;
28 typedef allocator
<int, managed_shared_memory::segment_manager
> ShmemAllocator
;
29 typedef stable_vector
<int, ShmemAllocator
> MyVector
;
31 typedef test::allocator_v1
<int, managed_shared_memory::segment_manager
> ShmemV1Allocator
;
32 typedef stable_vector
<int, ShmemV1Allocator
> MyV1Vector
;
34 typedef test::heap_allocator_v1
<int, managed_shared_memory::segment_manager
> ShmemHeapV1Allocator
;
35 typedef stable_vector
<int, ShmemHeapV1Allocator
> MyHeapV1Vector
;
37 typedef allocator
<test::movable_int
, managed_shared_memory::segment_manager
> ShmemMoveAllocator
;
38 typedef stable_vector
<test::movable_int
, ShmemMoveAllocator
> MyMoveVector
;
40 typedef allocator
<test::movable_and_copyable_int
, managed_shared_memory::segment_manager
> ShmemCopyMoveAllocator
;
41 typedef stable_vector
<test::movable_and_copyable_int
, ShmemCopyMoveAllocator
> MyCopyMoveVector
;
43 typedef allocator
<test::copyable_int
, managed_shared_memory::segment_manager
> ShmemCopyAllocator
;
44 typedef stable_vector
<test::copyable_int
, ShmemCopyAllocator
> MyCopyVector
;
46 if(test::vector_test
<managed_shared_memory
, MyVector
>())
49 if(test::vector_test
<managed_shared_memory
, MyV1Vector
>())
52 if(test::vector_test
<managed_shared_memory
, MyHeapV1Vector
>())
55 if(test::vector_test
<managed_shared_memory
, MyMoveVector
>())
58 if(test::vector_test
<managed_shared_memory
, MyCopyMoveVector
>())
61 if(test::vector_test
<managed_shared_memory
, MyCopyVector
>())
64 const test::EmplaceOptions Options
= (test::EmplaceOptions
)(test::EMPLACE_BACK
| test::EMPLACE_BEFORE
);
65 if(!boost::interprocess::test::test_emplace
66 < stable_vector
<test::EmplaceInt
>, Options
>())
72 #include <boost/interprocess/detail/config_end.hpp>