From 1fc969e6c88ce35e6c603fd978a6a327b692ec80 Mon Sep 17 00:00:00 2001 From: Daniel Patterson Date: Mon, 14 Nov 2016 23:41:44 -0800 Subject: [PATCH] Fix naming convention, and pass-by-reference for data layout. --- ...contiguous_internalmem_datafacade_base.hpp | 201 +++++++++--------- .../datafacade/process_memory_datafacade.hpp | 2 +- .../datafacade/shared_memory_datafacade.hpp | 4 +- 3 files changed, 104 insertions(+), 103 deletions(-) diff --git a/include/engine/datafacade/contiguous_internalmem_datafacade_base.hpp b/include/engine/datafacade/contiguous_internalmem_datafacade_base.hpp index ddef2b333..43c354fda 100644 --- a/include/engine/datafacade/contiguous_internalmem_datafacade_base.hpp +++ b/include/engine/datafacade/contiguous_internalmem_datafacade_base.hpp @@ -121,35 +121,35 @@ class ContiguousInternalMemoryDataFacadeBase : public BaseDataFacade std::shared_ptr> m_bearing_ranges_table; util::ShM::vector m_bearing_values_table; - void InitChecksum(storage::DataLayout *data_layout, char *memory_block) + void InitializeChecksumPointer(storage::DataLayout &data_layout, char *memory_block) { m_check_sum = - *data_layout->GetBlockPtr(memory_block, storage::DataLayout::HSGR_CHECKSUM); + *data_layout.GetBlockPtr(memory_block, storage::DataLayout::HSGR_CHECKSUM); util::SimpleLogger().Write() << "set checksum: " << m_check_sum; } - void InitProfileProperties(storage::DataLayout *data_layout, char *memory_block) + void InitializeProfilePropertiesPointer(storage::DataLayout &data_layout, char *memory_block) { - m_profile_properties = data_layout->GetBlockPtr( + m_profile_properties = data_layout.GetBlockPtr( memory_block, storage::DataLayout::PROPERTIES); } - void InitTimestamp(storage::DataLayout *data_layout, char *memory_block) + void InitializeTimestampPointer(storage::DataLayout &data_layout, char *memory_block) { auto timestamp_ptr = - data_layout->GetBlockPtr(memory_block, storage::DataLayout::TIMESTAMP); - m_timestamp.resize(data_layout->GetBlockSize(storage::DataLayout::TIMESTAMP)); + data_layout.GetBlockPtr(memory_block, storage::DataLayout::TIMESTAMP); + m_timestamp.resize(data_layout.GetBlockSize(storage::DataLayout::TIMESTAMP)); std::copy(timestamp_ptr, - timestamp_ptr + data_layout->GetBlockSize(storage::DataLayout::TIMESTAMP), + timestamp_ptr + data_layout.GetBlockSize(storage::DataLayout::TIMESTAMP), m_timestamp.begin()); } - void InitRTree(storage::DataLayout *data_layout, char *memory_block) + void InitializeRTreePointers(storage::DataLayout &data_layout, char *memory_block) { BOOST_ASSERT_MSG(!m_coordinate_list.empty(), "coordinates must be loaded before r-tree"); const auto file_index_ptr = - data_layout->GetBlockPtr(memory_block, storage::DataLayout::FILE_INDEX_PATH); + data_layout.GetBlockPtr(memory_block, storage::DataLayout::FILE_INDEX_PATH); file_index_path = boost::filesystem::path(file_index_ptr); if (!boost::filesystem::exists(file_index_path)) { @@ -159,266 +159,267 @@ class ContiguousInternalMemoryDataFacadeBase : public BaseDataFacade } auto tree_ptr = - data_layout->GetBlockPtr(memory_block, storage::DataLayout::R_SEARCH_TREE); + data_layout.GetBlockPtr(memory_block, storage::DataLayout::R_SEARCH_TREE); m_static_rtree.reset( new SharedRTree(tree_ptr, - data_layout->num_entries[storage::DataLayout::R_SEARCH_TREE], + data_layout.num_entries[storage::DataLayout::R_SEARCH_TREE], file_index_path, m_coordinate_list)); m_geospatial_query.reset( new SharedGeospatialQuery(*m_static_rtree, m_coordinate_list, *this)); } - void InitGraph(storage::DataLayout *data_layout, char *memory_block) + void InitializeGraphPointer(storage::DataLayout &data_layout, char *memory_block) { auto graph_nodes_ptr = - data_layout->GetBlockPtr(memory_block, storage::DataLayout::GRAPH_NODE_LIST); + data_layout.GetBlockPtr(memory_block, storage::DataLayout::GRAPH_NODE_LIST); auto graph_edges_ptr = - data_layout->GetBlockPtr(memory_block, storage::DataLayout::GRAPH_EDGE_LIST); + data_layout.GetBlockPtr(memory_block, storage::DataLayout::GRAPH_EDGE_LIST); util::ShM::vector node_list( - graph_nodes_ptr, data_layout->num_entries[storage::DataLayout::GRAPH_NODE_LIST]); + graph_nodes_ptr, data_layout.num_entries[storage::DataLayout::GRAPH_NODE_LIST]); util::ShM::vector edge_list( - graph_edges_ptr, data_layout->num_entries[storage::DataLayout::GRAPH_EDGE_LIST]); + graph_edges_ptr, data_layout.num_entries[storage::DataLayout::GRAPH_EDGE_LIST]); m_query_graph.reset(new QueryGraph(node_list, edge_list)); } - void InitNodeAndEdgeInformation(storage::DataLayout *data_layout, char *memory_block) + void InitializeNodeAndEdgeInformationPointers(storage::DataLayout &data_layout, + char *memory_block) { - const auto coordinate_list_ptr = data_layout->GetBlockPtr( + const auto coordinate_list_ptr = data_layout.GetBlockPtr( memory_block, storage::DataLayout::COORDINATE_LIST); m_coordinate_list = CoordinateArrayRef( coordinate_list_ptr, - coordinate_list_ptr + data_layout->num_entries[storage::DataLayout::COORDINATE_LIST]); + coordinate_list_ptr + data_layout.num_entries[storage::DataLayout::COORDINATE_LIST]); for (unsigned i = 0; i < m_coordinate_list.size(); ++i) { BOOST_ASSERT(GetCoordinateOfNode(i).IsValid()); } - const auto osmnodeid_list_ptr = data_layout->GetBlockPtr( + const auto osmnodeid_list_ptr = data_layout.GetBlockPtr( memory_block, storage::DataLayout::OSM_NODE_ID_LIST); m_osmnodeid_list.reset(osmnodeid_list_ptr, - data_layout->num_entries[storage::DataLayout::OSM_NODE_ID_LIST]); + data_layout.num_entries[storage::DataLayout::OSM_NODE_ID_LIST]); // We (ab)use the number of coordinates here because we know we have the same amount of ids m_osmnodeid_list.set_number_of_entries( - data_layout->num_entries[storage::DataLayout::COORDINATE_LIST]); + data_layout.num_entries[storage::DataLayout::COORDINATE_LIST]); - const auto travel_mode_list_ptr = data_layout->GetBlockPtr( + const auto travel_mode_list_ptr = data_layout.GetBlockPtr( memory_block, storage::DataLayout::TRAVEL_MODE); util::ShM::vector travel_mode_list( - travel_mode_list_ptr, data_layout->num_entries[storage::DataLayout::TRAVEL_MODE]); + travel_mode_list_ptr, data_layout.num_entries[storage::DataLayout::TRAVEL_MODE]); m_travel_mode_list = std::move(travel_mode_list); const auto lane_data_id_ptr = - data_layout->GetBlockPtr(memory_block, storage::DataLayout::LANE_DATA_ID); + data_layout.GetBlockPtr(memory_block, storage::DataLayout::LANE_DATA_ID); util::ShM::vector lane_data_id( - lane_data_id_ptr, data_layout->num_entries[storage::DataLayout::LANE_DATA_ID]); + lane_data_id_ptr, data_layout.num_entries[storage::DataLayout::LANE_DATA_ID]); m_lane_data_id = std::move(lane_data_id); const auto lane_tupel_id_pair_ptr = - data_layout->GetBlockPtr( + data_layout.GetBlockPtr( memory_block, storage::DataLayout::TURN_LANE_DATA); util::ShM::vector lane_tupel_id_pair( - lane_tupel_id_pair_ptr, data_layout->num_entries[storage::DataLayout::TURN_LANE_DATA]); + lane_tupel_id_pair_ptr, data_layout.num_entries[storage::DataLayout::TURN_LANE_DATA]); m_lane_tupel_id_pairs = std::move(lane_tupel_id_pair); const auto turn_instruction_list_ptr = - data_layout->GetBlockPtr( + data_layout.GetBlockPtr( memory_block, storage::DataLayout::TURN_INSTRUCTION); util::ShM::vector turn_instruction_list( turn_instruction_list_ptr, - data_layout->num_entries[storage::DataLayout::TURN_INSTRUCTION]); + data_layout.num_entries[storage::DataLayout::TURN_INSTRUCTION]); m_turn_instruction_list = std::move(turn_instruction_list); const auto name_id_list_ptr = - data_layout->GetBlockPtr(memory_block, storage::DataLayout::NAME_ID_LIST); + data_layout.GetBlockPtr(memory_block, storage::DataLayout::NAME_ID_LIST); util::ShM::vector name_id_list( - name_id_list_ptr, data_layout->num_entries[storage::DataLayout::NAME_ID_LIST]); + name_id_list_ptr, data_layout.num_entries[storage::DataLayout::NAME_ID_LIST]); m_name_ID_list = std::move(name_id_list); - const auto entry_class_id_list_ptr = data_layout->GetBlockPtr( - memory_block, storage::DataLayout::ENTRY_CLASSID); + const auto entry_class_id_list_ptr = + data_layout.GetBlockPtr(memory_block, storage::DataLayout::ENTRY_CLASSID); typename util::ShM::vector entry_class_id_list( - entry_class_id_list_ptr, data_layout->num_entries[storage::DataLayout::ENTRY_CLASSID]); + entry_class_id_list_ptr, data_layout.num_entries[storage::DataLayout::ENTRY_CLASSID]); m_entry_class_id_list = std::move(entry_class_id_list); - const auto pre_turn_bearing_ptr = data_layout->GetBlockPtr( + const auto pre_turn_bearing_ptr = data_layout.GetBlockPtr( memory_block, storage::DataLayout::PRE_TURN_BEARING); typename util::ShM::vector pre_turn_bearing( - pre_turn_bearing_ptr, data_layout->num_entries[storage::DataLayout::PRE_TURN_BEARING]); + pre_turn_bearing_ptr, data_layout.num_entries[storage::DataLayout::PRE_TURN_BEARING]); m_pre_turn_bearing = std::move(pre_turn_bearing); - const auto post_turn_bearing_ptr = data_layout->GetBlockPtr( + const auto post_turn_bearing_ptr = data_layout.GetBlockPtr( memory_block, storage::DataLayout::POST_TURN_BEARING); typename util::ShM::vector post_turn_bearing( - post_turn_bearing_ptr, - data_layout->num_entries[storage::DataLayout::POST_TURN_BEARING]); + post_turn_bearing_ptr, data_layout.num_entries[storage::DataLayout::POST_TURN_BEARING]); m_post_turn_bearing = std::move(post_turn_bearing); } - void InitViaNodeList(storage::DataLayout *data_layout, char *memory_block) + void InitializeViaNodeListPointer(storage::DataLayout &data_layout, char *memory_block) { auto via_geometry_list_ptr = - data_layout->GetBlockPtr(memory_block, storage::DataLayout::VIA_NODE_LIST); + data_layout.GetBlockPtr(memory_block, storage::DataLayout::VIA_NODE_LIST); util::ShM::vector via_geometry_list( - via_geometry_list_ptr, data_layout->num_entries[storage::DataLayout::VIA_NODE_LIST]); + via_geometry_list_ptr, data_layout.num_entries[storage::DataLayout::VIA_NODE_LIST]); m_via_geometry_list = std::move(via_geometry_list); } - void InitNames(storage::DataLayout *data_layout, char *memory_block) + void InitializeNamePointers(storage::DataLayout &data_layout, char *memory_block) { auto offsets_ptr = - data_layout->GetBlockPtr(memory_block, storage::DataLayout::NAME_OFFSETS); + data_layout.GetBlockPtr(memory_block, storage::DataLayout::NAME_OFFSETS); auto blocks_ptr = - data_layout->GetBlockPtr(memory_block, storage::DataLayout::NAME_BLOCKS); + data_layout.GetBlockPtr(memory_block, storage::DataLayout::NAME_BLOCKS); util::ShM::vector name_offsets( - offsets_ptr, data_layout->num_entries[storage::DataLayout::NAME_OFFSETS]); + offsets_ptr, data_layout.num_entries[storage::DataLayout::NAME_OFFSETS]); util::ShM::vector name_blocks( - blocks_ptr, data_layout->num_entries[storage::DataLayout::NAME_BLOCKS]); + blocks_ptr, data_layout.num_entries[storage::DataLayout::NAME_BLOCKS]); auto names_list_ptr = - data_layout->GetBlockPtr(memory_block, storage::DataLayout::NAME_CHAR_LIST); + data_layout.GetBlockPtr(memory_block, storage::DataLayout::NAME_CHAR_LIST); util::ShM::vector names_char_list( - names_list_ptr, data_layout->num_entries[storage::DataLayout::NAME_CHAR_LIST]); + names_list_ptr, data_layout.num_entries[storage::DataLayout::NAME_CHAR_LIST]); m_name_table = std::make_unique>( name_offsets, name_blocks, static_cast(names_char_list.size())); m_names_char_list = std::move(names_char_list); } - void InitTurnLaneDescriptions(storage::DataLayout *data_layout, char *memory_block) + void InitializeTurnLaneDescriptionsPointers(storage::DataLayout &data_layout, + char *memory_block) { - auto offsets_ptr = data_layout->GetBlockPtr( + auto offsets_ptr = data_layout.GetBlockPtr( memory_block, storage::DataLayout::LANE_DESCRIPTION_OFFSETS); util::ShM::vector offsets( - offsets_ptr, data_layout->num_entries[storage::DataLayout::LANE_DESCRIPTION_OFFSETS]); + offsets_ptr, data_layout.num_entries[storage::DataLayout::LANE_DESCRIPTION_OFFSETS]); m_lane_description_offsets = std::move(offsets); - auto masks_ptr = data_layout->GetBlockPtr( + auto masks_ptr = data_layout.GetBlockPtr( memory_block, storage::DataLayout::LANE_DESCRIPTION_MASKS); util::ShM::vector masks( - masks_ptr, data_layout->num_entries[storage::DataLayout::LANE_DESCRIPTION_MASKS]); + masks_ptr, data_layout.num_entries[storage::DataLayout::LANE_DESCRIPTION_MASKS]); m_lane_description_masks = std::move(masks); } - void InitCoreInformation(storage::DataLayout *data_layout, char *memory_block) + void InitializeCoreInformationPointer(storage::DataLayout &data_layout, char *memory_block) { auto core_marker_ptr = - data_layout->GetBlockPtr(memory_block, storage::DataLayout::CORE_MARKER); + data_layout.GetBlockPtr(memory_block, storage::DataLayout::CORE_MARKER); util::ShM::vector is_core_node( - core_marker_ptr, data_layout->num_entries[storage::DataLayout::CORE_MARKER]); + core_marker_ptr, data_layout.num_entries[storage::DataLayout::CORE_MARKER]); m_is_core_node = std::move(is_core_node); } - void InitGeometries(storage::DataLayout *data_layout, char *memory_block) + void InitializeGeometryPointers(storage::DataLayout &data_layout, char *memory_block) { auto geometries_index_ptr = - data_layout->GetBlockPtr(memory_block, storage::DataLayout::GEOMETRIES_INDEX); + data_layout.GetBlockPtr(memory_block, storage::DataLayout::GEOMETRIES_INDEX); util::ShM::vector geometry_begin_indices( - geometries_index_ptr, data_layout->num_entries[storage::DataLayout::GEOMETRIES_INDEX]); + geometries_index_ptr, data_layout.num_entries[storage::DataLayout::GEOMETRIES_INDEX]); m_geometry_indices = std::move(geometry_begin_indices); - auto geometries_node_list_ptr = data_layout->GetBlockPtr( + auto geometries_node_list_ptr = data_layout.GetBlockPtr( memory_block, storage::DataLayout::GEOMETRIES_NODE_LIST); util::ShM::vector geometry_node_list( geometries_node_list_ptr, - data_layout->num_entries[storage::DataLayout::GEOMETRIES_NODE_LIST]); + data_layout.num_entries[storage::DataLayout::GEOMETRIES_NODE_LIST]); m_geometry_node_list = std::move(geometry_node_list); - auto geometries_fwd_weight_list_ptr = data_layout->GetBlockPtr( + auto geometries_fwd_weight_list_ptr = data_layout.GetBlockPtr( memory_block, storage::DataLayout::GEOMETRIES_FWD_WEIGHT_LIST); util::ShM::vector geometry_fwd_weight_list( geometries_fwd_weight_list_ptr, - data_layout->num_entries[storage::DataLayout::GEOMETRIES_FWD_WEIGHT_LIST]); + data_layout.num_entries[storage::DataLayout::GEOMETRIES_FWD_WEIGHT_LIST]); m_geometry_fwd_weight_list = std::move(geometry_fwd_weight_list); - auto geometries_rev_weight_list_ptr = data_layout->GetBlockPtr( + auto geometries_rev_weight_list_ptr = data_layout.GetBlockPtr( memory_block, storage::DataLayout::GEOMETRIES_REV_WEIGHT_LIST); util::ShM::vector geometry_rev_weight_list( geometries_rev_weight_list_ptr, - data_layout->num_entries[storage::DataLayout::GEOMETRIES_REV_WEIGHT_LIST]); + data_layout.num_entries[storage::DataLayout::GEOMETRIES_REV_WEIGHT_LIST]); m_geometry_rev_weight_list = std::move(geometry_rev_weight_list); auto datasources_list_ptr = - data_layout->GetBlockPtr(memory_block, storage::DataLayout::DATASOURCES_LIST); + data_layout.GetBlockPtr(memory_block, storage::DataLayout::DATASOURCES_LIST); util::ShM::vector datasources_list( - datasources_list_ptr, data_layout->num_entries[storage::DataLayout::DATASOURCES_LIST]); + datasources_list_ptr, data_layout.num_entries[storage::DataLayout::DATASOURCES_LIST]); m_datasource_list = std::move(datasources_list); auto datasource_name_data_ptr = - data_layout->GetBlockPtr(memory_block, storage::DataLayout::DATASOURCE_NAME_DATA); + data_layout.GetBlockPtr(memory_block, storage::DataLayout::DATASOURCE_NAME_DATA); util::ShM::vector datasource_name_data( datasource_name_data_ptr, - data_layout->num_entries[storage::DataLayout::DATASOURCE_NAME_DATA]); + data_layout.num_entries[storage::DataLayout::DATASOURCE_NAME_DATA]); m_datasource_name_data = std::move(datasource_name_data); - auto datasource_name_offsets_ptr = data_layout->GetBlockPtr( + auto datasource_name_offsets_ptr = data_layout.GetBlockPtr( memory_block, storage::DataLayout::DATASOURCE_NAME_OFFSETS); util::ShM::vector datasource_name_offsets( datasource_name_offsets_ptr, - data_layout->num_entries[storage::DataLayout::DATASOURCE_NAME_OFFSETS]); + data_layout.num_entries[storage::DataLayout::DATASOURCE_NAME_OFFSETS]); m_datasource_name_offsets = std::move(datasource_name_offsets); - auto datasource_name_lengths_ptr = data_layout->GetBlockPtr( + auto datasource_name_lengths_ptr = data_layout.GetBlockPtr( memory_block, storage::DataLayout::DATASOURCE_NAME_LENGTHS); util::ShM::vector datasource_name_lengths( datasource_name_lengths_ptr, - data_layout->num_entries[storage::DataLayout::DATASOURCE_NAME_LENGTHS]); + data_layout.num_entries[storage::DataLayout::DATASOURCE_NAME_LENGTHS]); m_datasource_name_lengths = std::move(datasource_name_lengths); } - void InitIntersectionClasses(storage::DataLayout *data_layout, char *memory_block) + void InitializeIntersectionClassPointers(storage::DataLayout &data_layout, char *memory_block) { - auto bearing_class_id_ptr = data_layout->GetBlockPtr( + auto bearing_class_id_ptr = data_layout.GetBlockPtr( memory_block, storage::DataLayout::BEARING_CLASSID); typename util::ShM::vector bearing_class_id_table( - bearing_class_id_ptr, data_layout->num_entries[storage::DataLayout::BEARING_CLASSID]); + bearing_class_id_ptr, data_layout.num_entries[storage::DataLayout::BEARING_CLASSID]); m_bearing_class_id_table = std::move(bearing_class_id_table); - auto bearing_class_ptr = data_layout->GetBlockPtr( + auto bearing_class_ptr = data_layout.GetBlockPtr( memory_block, storage::DataLayout::BEARING_VALUES); typename util::ShM::vector bearing_class_table( - bearing_class_ptr, data_layout->num_entries[storage::DataLayout::BEARING_VALUES]); + bearing_class_ptr, data_layout.num_entries[storage::DataLayout::BEARING_VALUES]); m_bearing_values_table = std::move(bearing_class_table); auto offsets_ptr = - data_layout->GetBlockPtr(memory_block, storage::DataLayout::BEARING_OFFSETS); + data_layout.GetBlockPtr(memory_block, storage::DataLayout::BEARING_OFFSETS); auto blocks_ptr = - data_layout->GetBlockPtr(memory_block, storage::DataLayout::BEARING_BLOCKS); + data_layout.GetBlockPtr(memory_block, storage::DataLayout::BEARING_BLOCKS); util::ShM::vector bearing_offsets( - offsets_ptr, data_layout->num_entries[storage::DataLayout::BEARING_OFFSETS]); + offsets_ptr, data_layout.num_entries[storage::DataLayout::BEARING_OFFSETS]); util::ShM::vector bearing_blocks( - blocks_ptr, data_layout->num_entries[storage::DataLayout::BEARING_BLOCKS]); + blocks_ptr, data_layout.num_entries[storage::DataLayout::BEARING_BLOCKS]); m_bearing_ranges_table = std::make_unique>( bearing_offsets, bearing_blocks, static_cast(m_bearing_values_table.size())); - auto entry_class_ptr = data_layout->GetBlockPtr( + auto entry_class_ptr = data_layout.GetBlockPtr( memory_block, storage::DataLayout::ENTRY_CLASS); typename util::ShM::vector entry_class_table( - entry_class_ptr, data_layout->num_entries[storage::DataLayout::ENTRY_CLASS]); + entry_class_ptr, data_layout.num_entries[storage::DataLayout::ENTRY_CLASS]); m_entry_class_table = std::move(entry_class_table); } public: - void Init(storage::DataLayout *data_layout, char *memory_block) + void InitializeInternalPointers(storage::DataLayout &data_layout, char *memory_block) { - InitGraph(data_layout, memory_block); - InitChecksum(data_layout, memory_block); - InitNodeAndEdgeInformation(data_layout, memory_block); - InitGeometries(data_layout, memory_block); - InitTimestamp(data_layout, memory_block); - InitViaNodeList(data_layout, memory_block); - InitNames(data_layout, memory_block); - InitTurnLaneDescriptions(data_layout, memory_block); - InitCoreInformation(data_layout, memory_block); - InitProfileProperties(data_layout, memory_block); - InitRTree(data_layout, memory_block); - InitIntersectionClasses(data_layout, memory_block); + InitializeGraphPointer(data_layout, memory_block); + InitializeChecksumPointer(data_layout, memory_block); + InitializeNodeAndEdgeInformationPointers(data_layout, memory_block); + InitializeGeometryPointers(data_layout, memory_block); + InitializeTimestampPointer(data_layout, memory_block); + InitializeViaNodeListPointer(data_layout, memory_block); + InitializeNamePointers(data_layout, memory_block); + InitializeTurnLaneDescriptionsPointers(data_layout, memory_block); + InitializeCoreInformationPointer(data_layout, memory_block); + InitializeProfilePropertiesPointer(data_layout, memory_block); + InitializeRTreePointers(data_layout, memory_block); + InitializeIntersectionClassPointers(data_layout, memory_block); } // search graph access diff --git a/include/engine/datafacade/process_memory_datafacade.hpp b/include/engine/datafacade/process_memory_datafacade.hpp index be692c377..58d2f780b 100644 --- a/include/engine/datafacade/process_memory_datafacade.hpp +++ b/include/engine/datafacade/process_memory_datafacade.hpp @@ -42,7 +42,7 @@ class ProcessMemoryDataFacade final : public ContiguousInternalMemoryDataFacadeB storage.PopulateData(*internal_layout, internal_memory.get()); // Adjust all the private m_* members to point to the right places - Init(internal_layout.get(), internal_memory.get()); + InitializeInternalPointers(*internal_layout.get(), internal_memory.get()); } }; } diff --git a/include/engine/datafacade/shared_memory_datafacade.hpp b/include/engine/datafacade/shared_memory_datafacade.hpp index 70d7b9ac3..f7fcbdbb1 100644 --- a/include/engine/datafacade/shared_memory_datafacade.hpp +++ b/include/engine/datafacade/shared_memory_datafacade.hpp @@ -83,8 +83,8 @@ class SharedMemoryDataFacade : public ContiguousInternalMemoryDataFacadeBase BOOST_ASSERT(storage::SharedMemory::RegionExists(data_region)); m_large_memory = storage::makeSharedMemory(data_region); - Init(static_cast(m_layout_memory->Ptr()), - static_cast(m_large_memory->Ptr())); + InitializeInternalPointers(*reinterpret_cast(m_layout_memory->Ptr()), + reinterpret_cast(m_large_memory->Ptr())); } }; }