mirror of
https://github.com/boostorg/interprocess.git
synced 2026-01-19 04:12:13 +00:00
65 lines
1.9 KiB
C++
65 lines
1.9 KiB
C++
//////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// (C) Copyright Ion Gaztanaga 2007-2012. Distributed under the Boost
|
|
// Software License, Version 1.0. (See accompanying file
|
|
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
//
|
|
// See http://www.boost.org/libs/interprocess for documentation.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
#include "node_pool_test.hpp"
|
|
#include <boost/interprocess/allocators/detail/node_pool.hpp>
|
|
|
|
using namespace boost::interprocess;
|
|
|
|
typedef managed_shared_memory::segment_manager segment_manager_t;
|
|
|
|
int main ()
|
|
{
|
|
{ //Private, normal alignment, small data
|
|
typedef ipcdetail::private_node_pool
|
|
<segment_manager_t, 1u, 64, 0> node_pool_t;
|
|
|
|
if (!test::test_all_node_pool<node_pool_t>())
|
|
return 1;
|
|
}
|
|
{ //Private, small alignment, small data
|
|
typedef ipcdetail::private_node_pool
|
|
<segment_manager_t, 1u, 64, 2u> node_pool_t;
|
|
|
|
if (!test::test_all_node_pool<node_pool_t>())
|
|
return 1;
|
|
}
|
|
{ //Private, normal alignment
|
|
typedef ipcdetail::private_node_pool
|
|
<segment_manager_t, sizeof(void*), 64, 0> node_pool_t;
|
|
|
|
if (!test::test_all_node_pool<node_pool_t>())
|
|
return 1;
|
|
}
|
|
{ //Private, overaligned
|
|
typedef ipcdetail::private_node_pool
|
|
<segment_manager_t, sizeof(void*), 64, sizeof(void*)*4U> node_pool_t;
|
|
|
|
if (!test::test_all_node_pool<node_pool_t>())
|
|
return 1;
|
|
}
|
|
|
|
{ //Shared, normal alignment
|
|
typedef ipcdetail::shared_node_pool
|
|
<segment_manager_t, 4, 64, 0> node_pool_t;
|
|
|
|
if (!test::test_all_node_pool<node_pool_t>())
|
|
return 1;
|
|
}
|
|
{ //Shared, overaligned
|
|
typedef ipcdetail::shared_node_pool
|
|
<segment_manager_t, sizeof(void*), 64, sizeof(void*)*4u> node_pool_t;
|
|
|
|
if (!test::test_all_node_pool<node_pool_t>())
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|