From ba974c73bf3342f913bd59ece07f49003324d06c Mon Sep 17 00:00:00 2001 From: Michael Krasnyk Date: Tue, 11 Apr 2017 21:38:26 +0200 Subject: [PATCH] Remove CoreCH heaps --- include/engine/search_engine_data.hpp | 6 +- src/engine/search_engine_data.cpp | 89 ++++----------------------- 2 files changed, 18 insertions(+), 77 deletions(-) diff --git a/include/engine/search_engine_data.hpp b/include/engine/search_engine_data.hpp index 353c816d1..e18c9743b 100644 --- a/include/engine/search_engine_data.hpp +++ b/include/engine/search_engine_data.hpp @@ -12,6 +12,10 @@ namespace osrm namespace engine { +template struct SearchEngineData +{ +}; + struct HeapData { NodeID parent; @@ -24,7 +28,7 @@ struct ManyToManyHeapData : HeapData ManyToManyHeapData(NodeID p, EdgeWeight duration) : HeapData(p), duration(duration) {} }; -template struct SearchEngineData +template <> struct SearchEngineData { using QueryHeap = util:: BinaryHeap>; diff --git a/src/engine/search_engine_data.cpp b/src/engine/search_engine_data.cpp index a3d9d0a6e..48eaf5892 100644 --- a/src/engine/search_engine_data.cpp +++ b/src/engine/search_engine_data.cpp @@ -7,30 +7,17 @@ namespace osrm namespace engine { -template -typename SearchEngineData::SearchEngineHeapPtr - SearchEngineData::forward_heap_1; -template -typename SearchEngineData::SearchEngineHeapPtr - SearchEngineData::reverse_heap_1; -template -typename SearchEngineData::SearchEngineHeapPtr - SearchEngineData::forward_heap_2; -template -typename SearchEngineData::SearchEngineHeapPtr - SearchEngineData::reverse_heap_2; -template -typename SearchEngineData::SearchEngineHeapPtr - SearchEngineData::forward_heap_3; -template -typename SearchEngineData::SearchEngineHeapPtr - SearchEngineData::reverse_heap_3; -template -typename SearchEngineData::ManyToManyHeapPtr - SearchEngineData::many_to_many_heap; +// CH heaps +using CH = routing_algorithms::ch::Algorithm; +SearchEngineData::SearchEngineHeapPtr SearchEngineData::forward_heap_1; +SearchEngineData::SearchEngineHeapPtr SearchEngineData::reverse_heap_1; +SearchEngineData::SearchEngineHeapPtr SearchEngineData::forward_heap_2; +SearchEngineData::SearchEngineHeapPtr SearchEngineData::reverse_heap_2; +SearchEngineData::SearchEngineHeapPtr SearchEngineData::forward_heap_3; +SearchEngineData::SearchEngineHeapPtr SearchEngineData::reverse_heap_3; +SearchEngineData::ManyToManyHeapPtr SearchEngineData::many_to_many_heap; -template -void SearchEngineData::InitializeOrClearFirstThreadLocalStorage(unsigned number_of_nodes) +void SearchEngineData::InitializeOrClearFirstThreadLocalStorage(unsigned number_of_nodes) { if (forward_heap_1.get()) { @@ -51,9 +38,7 @@ void SearchEngineData::InitializeOrClearFirstThreadLocalStorage(unsig } } -template -void SearchEngineData::InitializeOrClearSecondThreadLocalStorage( - unsigned number_of_nodes) +void SearchEngineData::InitializeOrClearSecondThreadLocalStorage(unsigned number_of_nodes) { if (forward_heap_2.get()) { @@ -74,8 +59,7 @@ void SearchEngineData::InitializeOrClearSecondThreadLocalStorage( } } -template -void SearchEngineData::InitializeOrClearThirdThreadLocalStorage(unsigned number_of_nodes) +void SearchEngineData::InitializeOrClearThirdThreadLocalStorage(unsigned number_of_nodes) { if (forward_heap_3.get()) { @@ -96,9 +80,7 @@ void SearchEngineData::InitializeOrClearThirdThreadLocalStorage(unsig } } -template -void SearchEngineData::InitializeOrClearManyToManyThreadLocalStorage( - unsigned number_of_nodes) +void SearchEngineData::InitializeOrClearManyToManyThreadLocalStorage(unsigned number_of_nodes) { if (many_to_many_heap.get()) { @@ -110,51 +92,6 @@ void SearchEngineData::InitializeOrClearManyToManyThreadLocalStorage( } } -// CH -using CH = routing_algorithms::ch::Algorithm; -template SearchEngineData::SearchEngineHeapPtr SearchEngineData::forward_heap_1; -template SearchEngineData::SearchEngineHeapPtr SearchEngineData::reverse_heap_1; -template SearchEngineData::SearchEngineHeapPtr SearchEngineData::forward_heap_2; -template SearchEngineData::SearchEngineHeapPtr SearchEngineData::reverse_heap_2; -template SearchEngineData::SearchEngineHeapPtr SearchEngineData::forward_heap_3; -template SearchEngineData::SearchEngineHeapPtr SearchEngineData::reverse_heap_3; -template SearchEngineData::ManyToManyHeapPtr SearchEngineData::many_to_many_heap; - -template void -SearchEngineData::InitializeOrClearFirstThreadLocalStorage( - unsigned number_of_nodes); - -template void -SearchEngineData::InitializeOrClearSecondThreadLocalStorage(unsigned number_of_nodes); - -template void -SearchEngineData::InitializeOrClearThirdThreadLocalStorage(unsigned number_of_nodes); - -template void -SearchEngineData::InitializeOrClearManyToManyThreadLocalStorage(unsigned number_of_nodes); - -// CoreCH -using CoreCH = routing_algorithms::corech::Algorithm; -template SearchEngineData::SearchEngineHeapPtr SearchEngineData::forward_heap_1; -template SearchEngineData::SearchEngineHeapPtr SearchEngineData::reverse_heap_1; -template SearchEngineData::SearchEngineHeapPtr SearchEngineData::forward_heap_2; -template SearchEngineData::SearchEngineHeapPtr SearchEngineData::reverse_heap_2; -template SearchEngineData::SearchEngineHeapPtr SearchEngineData::forward_heap_3; -template SearchEngineData::SearchEngineHeapPtr SearchEngineData::reverse_heap_3; -template SearchEngineData::ManyToManyHeapPtr SearchEngineData::many_to_many_heap; - -template void -SearchEngineData::InitializeOrClearFirstThreadLocalStorage(unsigned number_of_nodes); - -template void -SearchEngineData::InitializeOrClearSecondThreadLocalStorage(unsigned number_of_nodes); - -template void -SearchEngineData::InitializeOrClearThirdThreadLocalStorage(unsigned number_of_nodes); - -template void -SearchEngineData::InitializeOrClearManyToManyThreadLocalStorage(unsigned number_of_nodes); - // MLD using MLD = routing_algorithms::mld::Algorithm; SearchEngineData::SearchEngineHeapPtr SearchEngineData::forward_heap_1;