// Boost.Geometry Index // Unit Test // Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to 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) #include #include #include #include #include template void test_rtree_interprocess(Parameters const& parameters = Parameters()) { namespace bi = boost::interprocess; struct shm_remove { shm_remove() { bi::shared_memory_object::remove("shmem"); } ~shm_remove(){ bi::shared_memory_object::remove("shmem"); } } remover; bi::managed_shared_memory segment(bi::create_only, "shmem", 65535); typedef bi::allocator shmem_alloc; test_rtree_for_box(parameters, shmem_alloc(segment.get_segment_manager())); } namespace testset { namespace interprocess { template void modifiers(Parameters const& parameters = Parameters()) { namespace bi = boost::interprocess; struct shm_remove { shm_remove() { bi::shared_memory_object::remove("shmem"); } ~shm_remove(){ bi::shared_memory_object::remove("shmem"); } } remover; bi::managed_shared_memory segment(bi::create_only, "shmem", 65535); typedef bi::allocator shmem_alloc; testset::modifiers(parameters, shmem_alloc(segment.get_segment_manager())); } template void queries(Parameters const& parameters = Parameters()) { namespace bi = boost::interprocess; struct shm_remove { shm_remove() { bi::shared_memory_object::remove("shmem"); } ~shm_remove(){ bi::shared_memory_object::remove("shmem"); } } remover; bi::managed_shared_memory segment(bi::create_only, "shmem", 65535); typedef bi::allocator shmem_alloc; testset::queries(parameters, shmem_alloc(segment.get_segment_manager())); } template void additional(Parameters const& parameters = Parameters()) { namespace bi = boost::interprocess; struct shm_remove { shm_remove() { bi::shared_memory_object::remove("shmem"); } ~shm_remove(){ bi::shared_memory_object::remove("shmem"); } } remover; bi::managed_shared_memory segment(bi::create_only, "shmem", 65535); typedef bi::allocator shmem_alloc; testset::additional(parameters, shmem_alloc(segment.get_segment_manager())); } template void modifiers_and_additional(Parameters const& parameters = Parameters()) { namespace bi = boost::interprocess; struct shm_remove { shm_remove() { bi::shared_memory_object::remove("shmem"); } ~shm_remove(){ bi::shared_memory_object::remove("shmem"); } } remover; bi::managed_shared_memory segment(bi::create_only, "shmem", 65535); typedef bi::allocator shmem_alloc; testset::modifiers(parameters, shmem_alloc(segment.get_segment_manager())); testset::additional(parameters, shmem_alloc(segment.get_segment_manager())); } }}